Web lists-archives.com

Re: [Samba] Share mounts in SMBv1 mode, but fails weirdly in SMBv2 mode




So, as a follow-up on this, I also took this matter to the linux-cifs mailing list. After a bit of analysis, it turns out that...

1. The Linux CIFS client was sending ill-formed QUERY_INFO packets to
   the server. There is a patch for this in the pipeline.
2. There is also a bug in the server, which refuses to send all info
   about the root filesystem inode, in spite of knowing this info in
   principle. Considering that the bug is known and fixed upstream, and
   the problem is on our side (we cannot apply the server update for
   some unclear reason), it was decided not to work around it.

Thanks for your help in this investigation!
Hadrien Grasland


Le 13/10/2017 à 17:01, L.P.H. van Belle via samba a écrit :
-----Oorspronkelijk bericht-----
Van: samba [mailto:samba-bounces@xxxxxxxxxxxxxxx] Namens
Hadrien Grasland via samba
Verzonden: vrijdag 13 oktober 2017 15:34
Aan: samba@xxxxxxxxxxxxxxx
Onderwerp: Re: [Samba] Share mounts in SMBv1 mode, but fails
weirdly in SMBv2 mode

Hi Louis,

Thanks for your reply!

This might be a kernel thing. 4.13.5-1 .. ? Archlinux?
OpenSUSE Tumbleweed, actually.

At some point, I got tired of rebuilding the entire world all
the time
because of the millenary tension between the wishes of stable distro
maintainers (who would rather not fix what isn't broken, and keep
packages as stable as possible) and those of my developer colleagues
(who would rather put hard requirements on GCC 7 or CMake 3.9
whenever
they can get away with it), and decided that I could live with the
occasional breakages of a rolling distro at work, as long as rolling
back a broken system was easy.


There where recently e-mail about this on technical.
So maybe its not implemented parts in samba or mount commands (yet)
I would welcome any clarification on this.

And i point to this : smb2_get_dfs_refer
[13424.783242] CIFS VFS: ioctl error in smb2_get_dfs_refer rc=-2
[13424.789504] CIFS VFS: cifs_read_super: get root inode failed
To give an idea..

https://kernel.opensuse.org/cgit/kernel-source/diff/patches.fi
xes/0001-CIFS-implement-get_dfs_refer-for-SMB2.patch?id=98a4a0
402b8b564b24414c3f2d6b0268f6843341

I ended up on this kernel patch as well while googling the error,
however from a look at the code and the dmesg output, the
error seemed
to originate from an underlying call to the SMB2_ioctl() function.
Juding from the short name and the long list of parameters, this
function seemed like a big piece of machinery on its own, so
I decided
not to investigate it further without extra help. Which is
why I came here.


This italian site shows exact the same problem.
http://forum.html.it/forum/showthread/t-2959605.html

I suggest, lower you kernel to 4.9 somewhere around there.
See if that works, and then try vers=2.1
Rolling back the kernel this far may be a bit difficult on
Tumbleweed. I
never tried it, but the maintainers tend to be quite agressive at
removing old package versions from the repos. I guess that going for
older kernels is not true to their vision of the rolling
release spirit :)

As for version 2.1, I have tried it already, but unfortunately the
server does not seem to support it (dmesg gives a "Dialect
not supported
by server." error).
Ah, wel at least that a better result, not what you want, but better.

Note that I am not in an immediate hurry to get SMBv2 working. SMBv1
works for me today, and from discussion with the sysadmins,
it will be a
long while before they disable it entirely. So I have time to
investigate this issue, file any needed bug report to the relevant
software projects, and would even help working on the fix myself if I
had even a remote idea of what's going on here. Sadly, my technical
background is more in scientific computing than distributed
filesystems.

By the way, if you could tell me a bit more about the relationship
between the kernel CIFS support and Samba, it might help. I
naively went
for the samba mailing list first as I got the impression that this is
the project where all Linux SMB protocol support is
implemented first,
but perhaps I should take this to the kernel mailing list(s) instead ?
Phoe.. Good question. It never hurst to ask them also.
I suggest, ask it on samba-technical, or wait a bit, often they look in the samba threah also.

Thanks for the help,
Hadrien




Greetz,

Louis




--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba