Hi, with wheezy i get more and more annoyed by the "(deleted)" renaming of mountpoints when nfs server are unreachable. With squeeze i automatically unmounted nfs servers on suspend. With wheezy this doesnt work as the real mountpoint cant be found. The kernel renames the mountpoint from e.g. "/nfsmnt" to "/nfsmnt (deleted)" and as /etc/mtab is a link to /proc/mounts today there is no way to determin the real mountpoint. Trying to unmount "/nfsmnt (deleted)" returns an "is not mounted (according to mtab)" IMHO i see 3 bugs at least in this: a) Renaming of mountpoints in the kernel - Appending some random string might clash with other mountpoints - probably intentional. b) /etc/mtab would list the real mountpoint if under control of mount. Now as we have a) and /etc/mtab beeing a symlink to /proc/mount we have broken data in /etc/mtab too. c) mount has a broken parser for mtab/mounts. Real life example: flo@p2:~$ cat /proc/mounts | grep nfs4 pobox:/scratch/local /scratch/pobox\040(deleted) nfs4 rw,nosuid,nodev,noexec,relatime,vers=4,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.177.145,minorversion=0,local_lock=none,addr=192.168.177.1 0 0 I cant unmount the original mount not with -l nor with -f - both hang. The real problem is though that i am unable to mount new nfs or cifs shares as mount hangs in a readlink: readlink("/sys/kernel/debug", 0x7fffff59ac90, 4096) = -1 EINVAL (Invalid argument) readlink("/scratch", 0x7fffff59ac90, 4096) = -1 EINVAL (Invalid argument) readlink("/scratch/pobox", ^C <unfinished ...> Flo -- Florian Lohoff f@zz.de
Attachment:
signature.asc
Description: Digital signature