[lustre-discuss] [Samba] Odd "File exists" behavior when copy-pasting many files to an SMB exported Lustre FS

Daniel Kobras kobras at puzzle-itc.de
Thu Sep 22 06:53:23 PDT 2022


Hi Micha, hi Jeremy!

Am 22.09.22 um 11:21 schrieb Michael Weiser:
> [from the docs]:
>> If a client(s) will be mounted on several file systems, add the following line to /etc/xattr.conf  > file to avoid problems when files are moved between the file systems: lustre.* skip"
> 
> What exactly were those problems hinted at in the documentation?
> Is the visibility of the lustre.lov attribute for unprivileged users actually needed for anything?
> Can exposing it to unprivileged users be switched off Lustre-side?

In the lustre.lov xattr, Lustre exposes layout information (ie. content
distribution across servers) to regular users. In some cases, it's also
possible to set the desired layout through this interface. Layout
information depends on the innards of the specific fs setup, and should
not be retained when moving files between different filesystems, hence
the hint in the docs.

> Jeremy wrote:
> 
>> Lutre really should not be exposing EA's to callers if
>> it doesn't actually support EA's.

Just to clarify as Micha's original post had it hidden in parenthesis:
Lustre does support xattrs in general, and it does support the 'user.*'
namespace. It's just that the latter needs to be enabled explicitly with
the 'user_xattr' mount option. By default, access to 'user.*' xattrs is
rejected with EOPNOTSUPP.

>> No. Lustre is returning "fictional" EA's that
>> cannot be set. Linux filesystems that don't have
>> EA's don't do that.

On a Lustre system, the lustre.lov xattr can be set alright without
receiving an error. But that's not what Samba does here. Instead, it
tries to copy any user-readable xattr, and prepends a 'user.' prefix to
any name unless it's already there. This only works if the filesystem
has been mounted with the 'user_xattr' option.

So for a working setup, it boils down to either turning off 'ea support'
in Samba (on by default since 4.9), or turning on 'user_xattr' in the
filesystem.

Kind regards,

Daniel
-- 
Daniel Kobras
Principal Architect
Puzzle ITC Deutschland
+49 7071 14316 0
www.puzzle-itc.de

-- 
Puzzle ITC Deutschland GmbH
Sitz der Gesellschaft: Eisenbahnstraße 1, 72072 
Tübingen

Eingetragen am Amtsgericht Stuttgart HRB 765802
Geschäftsführer: 
Lukas Kallies, Daniel Kobras, Mark Pröhl



More information about the lustre-discuss mailing list