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
# echo 'module cifs +p' > /sys/kernel/debug/dynamic_debug/control
# echo 'file fs/cifs/* +p' > /sys/kernel/debug/dynamic_debug/control
# echo 7 > /proc/fs/cifs/cifsFYI

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
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.

** Tags removed: verification-needed-disco
** Tags added: verification-done-disco

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1854887

Title:
  cifs: DFS Caching feature causing problems traversing multi-tier DFS
  setups

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1854887/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to