5 Jul 2003 17:05
Re: Unmounting by filesystem ID
Ian Dowse <iedowse <at> maths.tcd.ie>
2003-07-05 15:05:13 GMT
2003-07-05 15:05:13 GMT
In message <1057413470.716.3.camel <at> localhost>, "Vladimir B. Grebenschikov" writ es: >May be you fix issue of umounting by known vnode ? >problem is in mounting different devices under chroot. >in list of mounts they differ only by device id, and it is rather=20 >difficult to umount filesystem if I known absolute path but do not enter >to chroot. The MNT_BYFSID approach makes it always possible to indicate to the kernel which filesystem is to be unmounted, but some more work is needed in the umount(8) utility to handle unusual cases. The simplest way for umount to reliably pick the right file system would be to have it call statfs(2) on the supplied path, and then use the resulting filesystem ID to do the unmount(2) call. That would allow you to unmount a filesystem that was mounted from within a chroot by just specifying the full path to the filesystem even though it is not the path that df or mount show. Unfortunately, statfs(2) may get stuck if the path leads to (or traverses) a network filesystem that is not responding. In this case it is better for the umount utility to use getfsstat(2) with the MNT_NOWAIT flag, and pick the filesystem that has the path that was specified. This will do the wrong thing if for example you two /var filesystems listed because one was mounted from inside a chroot. There is also the problem of checking that the path points to the root of the filesystem as statfs(2) works on any file or directory. I think umount can probably be made do something reasonable in most cases by having it use extra mechanisms such as statfs(2) only when(Continue reading)
RSS Feed