-
Notifications
You must be signed in to change notification settings - Fork 502
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for CEPH ceph.file.layout and ceph.dir.layout xattr #1123
Comments
Ganesha does have the xattr support from NFSv4.2 and FSAL_CEPH is hooked up to use it. |
@fabiomirmar any update on it? |
Hi @ffilz and @xiaods thanks for the reply. My environment is running Ubuntu 22.04 + nfs-ganesha 3.5-1ubuntu1:
And my client is mounting the share using nfs 4.2:
But I still can't set this xattr:
Any idea what I might be missing here? Not sure if it matters, but this is how ganesha.conf looks like: https://paste.ubuntu.com/p/hzSRzwMDGF/ |
FSAL Ceph didn't get xattr support until 4.0. |
also, though, is this a user xattr? nfs only permits setting those, iirc |
OK, thanks for the information. Do you have a list of commits that enabled this? And, to answer Matt's question, the xattr that I'm looking to use are |
They were added in V4-dev.55, looks like a bunch of patches. |
Ceph supports using extended attributes (xattrs) to configure a file or directory layout, so as to tell Ceph which pool to place the objects related to that file or directory. This is mostly relevant for when you are using CephFS and have multiple pools in the Ceph volume, as documented here [1] and [2].
However, if you have NFS-Ganesha serving the CephFS filesystem to NFS clients, it will fail if you try to setfattr
ubuntu@jammy-183048:~$ sudo setfattr -n ceph.dir.layout.pool -v ceph-fs_ecdata /mnt/nfs1/ecpool
setfattr: /mnt/nfs1/ecpool: Operation not supported
So, it seems there's a limitation on what kind of Ceph xattr ganesha would support.
In this bug, there are some discussions around some CEPH FSALs that were enabled.
#526
And we can see them at:
nfs-ganesha/src/FSAL/FSAL_CEPH/internal.h
Lines 201 to 204 in f495f2f
However none of them are related to the xattr required by Ceph for disk layouts to work (i.e.: ceph.dir.layout.pool)
Hence, although ceph-fs supports file-layouts, it doesn't seem that NFS Ganesha contains the necessary features to support it in a Ceph environment.
It would be good to have implemented in NFS-Ganesha, so we can relay the CephFS requirements to configure file-layouts.
[1] https://docs.ceph.com/en/latest/cephfs/file-layouts/#adding-a-data-pool-to-the-file-system
[2] https://docs.ceph.com/en/latest/cephfs/file-layouts/#adding-a-data-pool-to-the-file-system
The text was updated successfully, but these errors were encountered: