Hi Jeff,
I understand the idea behind patch [1] but it breaks the operation of
overlayfs with cephfs. Should the patch be abandoned and tests be
modified or should overlayfs code be adapted to work with cephfs, if
that's possible?
Either way, it'd be nice if overlayfs could work again with cephfs out
of the box without requiring users to patch and build their own kernels
past 5.4+. :-)
Regards,
Frédéric.
[1]
https://www.spinics.net/lists/ceph-devel/msg46183.html
Le 09/11/2020 à 19:52, Jeff Layton a écrit :
> Yes, you'd have to apply the patch to that kernel yourself. No RHEL7
> kernels have that patch (so far). Newer RHEL8 kernels _do_ if that's an
> option for you.
> -- Jeff
>
> On Mon, 2020-11-09 at 19:21 +0100, Frédéric Nass wrote:
>> I feel lucky to have you on this one. ;-) Do you mean applying a
>> specific patch on 3.10 kernel? Or is this one too old to have it working
>> anyways.
>>
>> Frédéric.
>>
>> Le 09/11/2020 à 19:07, Luis Henriques a écrit :
>>> Frédéric Nass <frederic.nass(a)univ-lorraine.fr> writes:
>>>
>>>> Hi Luis,
>>>>
>>>> Thanks for your help. Sorry I forgot about the kernel details. This is
latest
>>>> RHEL 7.9.
>>>>
>>>> ~/ uname -r
>>>> 3.10.0-1160.2.2.el7.x86_64
>>>>
>>>> ~/ grep CONFIG_TMPFS_XATTR /boot/config-3.10.0-1160.2.2.el7.x86_64
>>>> CONFIG_TMPFS_XATTR=y
>>>>
>>>> upper directory /upperdir is using xattrs
>>>>
>>>> ~/ ls -l /dev/mapper/vg0-racine
>>>> lrwxrwxrwx 1 root root 7 6 mars 2020 /dev/mapper/vg0-racine ->
../dm-0
>>>>
>>>> ~/ cat /proc/fs/ext4/dm-0/options | grep xattr
>>>> user_xattr
>>>>
>>>> ~/ setfattr -n user.name -v upperdir /upperdir
>>>>
>>>> ~/ getfattr -n user.name /upperdir
>>>> getfattr: Suppression des « / » en tête des chemins absolus
>>>> # file: upperdir
>>>> user.name="upperdir"
>>>>
>>>> Are you able to modify the content of a snapshot directory using
overlayfs on
>>>> your side?
>>> [ Cc'ing Jeff ]
>>>
>>> Yes, I'm able to do that using a *recent* kernel. I got curious and
after
>>> some digging I managed to reproduce the issue with kernel 5.3. The
>>> culprit was commit e09580b343aa ("ceph: don't list vxattrs in
>>> listxattr()"), in 5.4.
>>>
>>> Getting a bit more into the whole rabbit hole, it looks like
>>> ovl_copy_xattr() will try to copy all the ceph-related vxattrs. And that
>>> won't work (for ex. for ceph.dir.entries).
>>>
>>> Can you try cherry-picking this commit into your kernel to see if that
>>> fixes it for you?
>>>
>>> Cheers,