Aurelien Aptel b8f7442bc4 CIFS: refactor cifs_get_inode_info()
Make logic of cifs_get_inode() much clearer by moving code to sub
functions and adding comments.

Document the steps this function does.

cifs_get_inode_info() gets and updates a file inode metadata from its
file path.

* If caller already has raw info data from server they can pass it.
* If inode already exists (just need to update) caller can pass it.

Step 1: get raw data from server if none was passed
Step 2: parse raw data into intermediate internal cifs_fattr struct
Step 3: set fattr uniqueid which is later used for inode number. This
        can sometime be done from raw data
Step 4: tweak fattr according to mount options (file_mode, acl to mode
        bits, uid, gid, etc)
Step 5: update or create inode from final fattr struct

* add is_smb1_server() helper
* add is_inode_cache_good() helper
* move SMB1-backupcreds-getinfo-retry to separate func
  cifs_backup_query_path_info().
* move set-uniqueid code to separate func cifs_set_fattr_ino()
* don't clobber uniqueid from backup cred retry
* fix some probable corner cases memleaks

Signed-off-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2019-11-25 01:16:30 -06:00
..
2019-09-27 15:10:34 -07:00
2019-11-22 14:19:26 -08:00
2019-11-13 12:06:10 -08:00
2019-11-25 01:16:30 -06:00
2019-09-19 09:42:37 -07:00
2019-07-12 17:37:53 -07:00
\n
2019-09-21 13:53:34 -07:00
2019-09-29 19:25:39 -07:00
2019-09-21 14:26:33 -07:00
2019-09-19 09:42:37 -07:00
2019-09-19 09:42:37 -07:00
2019-07-03 17:52:09 -04:00
2019-09-27 17:00:27 -07:00
2019-09-27 17:00:27 -07:00
2019-09-19 10:21:35 -07:00
2019-10-19 06:32:32 -04:00
2019-08-30 08:11:25 -07:00
2019-09-19 09:42:37 -07:00
2019-09-18 17:35:20 -07:00
2019-07-15 21:20:52 -07:00
2019-04-08 18:21:02 -05:00
2019-08-07 21:51:47 -04:00
2019-09-18 16:59:14 -07:00
2019-10-14 15:04:01 -07:00
2019-09-27 17:00:27 -07:00
2019-09-18 16:59:14 -07:00
2019-08-01 20:51:23 +02:00
2019-09-25 17:51:41 -07:00