Verification for disco. I went and installed 5.0.0-40-generic from -proposed
to a disco box:
$ uname -rv
5.0.0-40-generic #44-Ubuntu SMP Wed Jan 15 02:03:45 UTC 2020
I do not have access to a multi tier cifs mount, so I will try and connect to a known one with a bad username / password to ensure that the server forwarding and caching works as expected, since that occurs before authentication.
$ sudo mount -v -t cifs //<domain>/<toplevel>/<country>/<sharename> -o defaults,user=aaa /mnt/share
Checking dmesg we get:
Status code returned 0xc0000257 STATUS_PATH_NOT_COVERED
fs/cifs/smb2maperror.c: Mapping SMB2 status code 0xc0000257 to POSIX err -66
fs/cifs/connect.c: build_unc_path_to_root: full_path=\\<Regional DFS Server>\Root\Country\<Share>
fs/cifs/connect.c: build_unc_path_to_root: full_path=\\<Regional DFS Server>\Root\Country\<Share>
fs/cifs/dfs_cache.c: do_dfs_cache_find: search path: \<Regional DFS Server>\Root\Country\<Share>
fs/cifs/dfs_cache.c: do_dfs_cache_find: cache miss
fs/cifs/dfs_cache.c: do_dfs_cache_find: DFS referral request for \<Actual DFS Server>\Root\Country\<Share>
fs/cifs/smb2ops.c: smb2_get_dfs_refer path <\<Actual DFS Server>\Root\Country\<Share>>
fs/cifs/misc.c: num_referrals: 1 dfs flags: 0x2 ...
fs/cifs/dns_resolve.c: dns_resolve_server_name_to_ip: resolved: <Actual File Server> to <IPV4 Address>
fs/cifs/connect.c: Username: aaa
This is in line with what is expected, since it resolves the next tier file server instead of failing and going back up the tree.
I had also previously supplied the customer with a test build based on the previous bionic hwe kernel, 5.0.0-37-generic #40~18.04.1, with the commit applied, and all was tested and working.
With my verification of disco kernel from -proposed the customer's prior test kernel, I am happy to mark this as verified.
Next, I just need this patch to land in eoan, and then into a bionic HWE kernel to get this fixed for the customer.
Verification for disco. I went and installed 5.0.0-40-generic from -proposed
to a disco box:
$ uname -rv
5.0.0-40-generic #44-Ubuntu SMP Wed Jan 15 02:03:45 UTC 2020
I do not have access to a multi tier cifs mount, so I will try and connect to a known one with a bad username / password to ensure that the server forwarding and caching works as expected, since that occurs before authentication.
I enabled tracing with:
# modprobe cifs debug/dynamic_ debug/control debug/dynamic_ debug/control cifs/cifsFYI
# echo 'module cifs +p' > /sys/kernel/
# echo 'file fs/cifs/* +p' > /sys/kernel/
# echo 7 > /proc/fs/
To mount a cifs share, you need cifs-utils:
$ sudo apt install cifs-utils
From there I accessed the multi tier cifs server:
$ sudo mount -v -t cifs //<domain> /<toplevel> /<country> /<sharename> -o defaults,user=aaa /mnt/share
Checking dmesg we get:
Status code returned 0xc0000257 STATUS_ PATH_NOT_ COVERED smb2maperror. c: Mapping SMB2 status code 0xc0000257 to POSIX err -66 path_to_ root: full_path= \\<Regional DFS Server> \Root\Country\ <Share> path_to_ root: full_path= \\<Regional DFS Server> \Root\Country\ <Share> dfs_cache. c: do_dfs_cache_find: search path: \<Regional DFS Server> \Root\Country\ <Share> dfs_cache. c: do_dfs_cache_find: cache miss dfs_cache. c: do_dfs_cache_find: DFS referral request for \<Actual DFS Server> \Root\Country\ <Share> \Root\Country\ <Share> > dns_resolve. c: dns_resolve_ server_ name_to_ ip: resolved: <Actual File Server> to <IPV4 Address>
fs/cifs/
fs/cifs/connect.c: build_unc_
fs/cifs/connect.c: build_unc_
fs/cifs/
fs/cifs/
fs/cifs/
fs/cifs/smb2ops.c: smb2_get_dfs_refer path <\<Actual DFS Server>
fs/cifs/misc.c: num_referrals: 1 dfs flags: 0x2 ...
fs/cifs/
fs/cifs/connect.c: Username: aaa
This is in line with what is expected, since it resolves the next tier file server instead of failing and going back up the tree.
I had also previously supplied the customer with a test build based on the previous bionic hwe kernel, 5.0.0-37-generic #40~18.04.1, with the commit applied, and all was tested and working.
With my verification of disco kernel from -proposed the customer's prior test kernel, I am happy to mark this as verified.
Next, I just need this patch to land in eoan, and then into a bionic HWE kernel to get this fixed for the customer.