• Linus Torvalds's avatar
    Merge tag '6.2-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 0a924817
    Linus Torvalds authored
    Pull cifs fixes from Steve French:
     "cifs/smb3 client fixes, mostly related to reconnect and/or DFS:
    
       - two important reconnect fixes: cases where status of recently
         connected IPCs and shares were not being updated leaving them in an
         incorrect state
    
       - fix for older Windows servers that would return
         STATUS_OBJECT_NAME_INVALID to query info requests on DFS links in a
         namespace that contained non-ASCII characters, reducing number of
         wasted roundtrips.
    
       - fix for leaked -ENOMEM to userspace when cifs.ko couldn't perform
         I/O due to a disconnected server, expired or deleted session.
    
       - removal of all unneeded DFS related mount option string parsing
         (now using fs_context for automounts)
    
       - improve clarity/readability, moving various DFS related functions
         out of fs/cifs/connect.c (which was getting too big to be readable)
         to new file.
    
       - Fix problem when large number of DFS connections. Allow sharing of
         DFS connections and fix how the referral paths are matched
    
       - Referral caching fix: Instead of looking up ipc connections to
         refresh cached referrals, store direct dfs root server's IPC
         pointer in new sessions so it can simply be accessed to either
         refresh or create a new referral that such connections belong to.
    
       - Fix to allow dfs root server's connections to also failover
    
       - Optimized reconnect of nested DFS links
    
       - Set correct status of IPC connections marked for reconnect"
    
    * tag '6.2-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: update internal module number
      cifs: don't leak -ENOMEM in smb2_open_file()
      cifs: use origin fullpath for automounts
      cifs: set correct status of tcon ipc when reconnecting
      cifs: optimize reconnect of nested links
      cifs: fix source pathname comparison of dfs supers
      cifs: fix confusing debug message
      cifs: don't block in dfs_cache_noreq_update_tgthint()
      cifs: refresh root referrals
      cifs: fix refresh of cached referrals
      cifs: don't refresh cached referrals from unactive mounts
      cifs: share dfs connections and supers
      cifs: split out ses and tcon retrieval from mount_get_conns()
      cifs: set resolved ip in sockaddr
      cifs: remove unused smb3_fs_context::mount_options
      cifs: get rid of mount options string parsing
      cifs: use fs_context for automounts
      cifs: reduce roundtrips on create/qinfo requests
      cifs: set correct ipc status after initial tree connect
      cifs: set correct tcon status after initial tree connect
    0a924817
connect.c 110 KB