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