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 (CCing Greg) PS : Please forgive me if you received this message twice. My previous message was flagged spam due to the dynamic IP address of my router that was seen in a spam campain in the past, so I sent it again. ----- Le 9 Nov 20, à 19:52, Jeff Layton jlayton@kernel.org 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@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,
-- Jeff Layton <jlayton@kernel.org>