Disk free space (df) mismatch with du

I just spent quite some time figuring out why du told me that I only had about 4GB in use on my 15GB ext3 partition, while df told me that I had only 1GB worth of free space. There are apparently a number of possible causes, including the stealth already-deleted(=unlinked)-but-not-yet-closed-by-some-application files. I tried rebooting, but that didn't help. I tried forcing an fsck. That didn't help.

In the end, it turned out that I had the least common situation: a large file had been placed in a directory that was also a mount point. The result is that du -x does not find the files because they are hidden by the file system that is mounted on top of the mount point. Now I'll just have to find out if I can restrict access to the mount point while it's not used, without restricting access to the mounted file system if one is mounted.