Description of problem: MNT_FORCE (since Linux 2.1.116) Force unmount even if busy. (Only for NFS mounts.) MNT_DETACH (since Linux 2.4.11) Perform a lazy unmount: make the mount point unavailable for new accesses, and actually perform the unmount when the mount point ceases to be busy. MNT_EXPIRE (since Linux 2.6.8) Mark the mount point as expired. If a mount point is not cur- rently in use, then an initial call to umount2() with this flag fails with the error EAGAIN, but marks the mount point as expired. The mount point remains expired as long as it isn’t accessed by any process. A second umount2() call specifying MNT_EXPIRE unmounts an expired mount point. This flag cannot be specified with either MNT_FORCE or MNT_DETACH. Version-Release number of selected component (if applicable): man-pages-2.39-5 How reproducible: always Steps to Reproduce: 1. man 2 umount2 2. 3. Actual results: MNT_DETACH and MNT_EXPIRE described. Expected results: MNT_DETACH and MNT_EXPIRE removed as the only functional flag is MNT_FORCE Additional info: Try to compile: #include <sys/mount.h> int main() { umount2("/mnt/store",MNT_DETACH); return 0; }
Fixed in man-pages-2.43-1.fc7.
This bug report, and the fix in the FC man pages, are wrong. MNT_DETACH and MNT_EXPIRE are alive and well in 2.6.22-rc2. Getting compiler errors in an example program simply tells us that glibc has not included these definitions yet. (They are in linux/fs.h.)