• Paulo Alcantara's avatar
    smb: client: fix broken file attrs with nodfs mounts · d439b290
    Paulo Alcantara authored
    *_get_inode_info() functions expect -EREMOTE when query path info
    calls find a DFS link, regardless whether !CONFIG_CIFS_DFS_UPCALL or
    'nodfs' mount option.  Otherwise, those files will miss the fake DFS
    file attributes.
    
    Before patch
    
      $ mount.cifs //srv/dfs /mnt/1 -o ...,nodfs
      $ ls -l /mnt/1
      ls: cannot access '/mnt/1/link': Operation not supported
      total 0
      -rwxr-xr-x 1 root root 0 Jul 26  2022 dfstest2_file1.txt
      drwxr-xr-x 2 root root 0 Aug  8  2022 dir1
      d????????? ? ?    ?    ?            ? link
    
    After patch
    
      $ mount.cifs //srv/dfs /mnt/1 -o ...,nodfs
      $ ls -l /mnt/1
      total 0
      -rwxr-xr-x 1 root root 0 Jul 26  2022 dfstest2_file1.txt
      drwxr-xr-x 2 root root 0 Aug  8  2022 dir1
      drwx--x--x 2 root root 0 Jun 26 20:29 link
    
    Fixes: c877ce47 ("cifs: reduce roundtrips on create/qinfo requests")
    Signed-off-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    d439b290
smb2inode.c 23.1 KB