diff options
author | Enzo Matsumiya <ematsumiya@suse.de> | 2022-05-18 11:41:05 -0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2022-05-20 17:44:34 -0500 |
commit | 337b8b0e4343567221ef8d88aac5e418208d4ac1 (patch) | |
tree | 6ba8ffe3a5aafb021ff13985561ce26b4e2f4f64 /fs/cifs/connect.c | |
parent | 421ef3d56513b2ff02e563623688cb6ab4977c4f (diff) | |
download | linux-337b8b0e4343567221ef8d88aac5e418208d4ac1.tar.bz2 |
cifs: return ENOENT for DFS lookup_cache_entry()
EEXIST didn't make sense to use when dfs_cache_find() couldn't find a
cache entry nor retrieve a referral target.
It also doesn't make sense cifs_dfs_query_info_nonascii_quirk() to
emulate ENOENT anymore.
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 0505d7782e42..50eed49128aa 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -3420,8 +3420,9 @@ cifs_are_all_path_components_accessible(struct TCP_Server_Info *server, } /* - * Check if path is remote (e.g. a DFS share). Return -EREMOTE if it is, - * otherwise 0. + * Check if path is remote (i.e. a DFS share). + * + * Return -EREMOTE if it is, otherwise 0 or -errno. */ static int is_path_remote(struct mount_ctx *mnt_ctx) { @@ -3711,6 +3712,7 @@ int cifs_mount(struct cifs_sb_info *cifs_sb, struct smb3_fs_context *ctx) if (!isdfs) goto out; + /* proceed as DFS mount */ uuid_gen(&mnt_ctx.mount_id); rc = connect_dfs_root(&mnt_ctx, &tl); dfs_cache_free_tgts(&tl); |