• NeilBrown's avatar
    vfs: d_obtain_alias() needs to use "/" as default name. · b911a6bd
    NeilBrown authored
    NFS appears to use d_obtain_alias() to create the root dentry rather than
    d_make_root.  This can cause 'prepend_path()' to complain that the root
    has a weird name if an NFS filesystem is lazily unmounted.  e.g.  if
    "/mnt" is an NFS mount then
    
     { cd /mnt; umount -l /mnt ; ls -l /proc/self/cwd; }
    
    will cause a WARN message like
       WARNING: at /home/git/linux/fs/dcache.c:2624 prepend_path+0x1d7/0x1e0()
       ...
       Root dentry has weird name <>
    
    to appear in kernel logs.
    
    So change d_obtain_alias() to use "/" rather than "" as the anonymous
    name.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    b911a6bd
dcache.c 79.5 KB