Michael Tokarev
2024-Jul-31 05:36 UTC
[Samba] ceph is disabled even if explicitly asked to be enabled
31.07.2024 07:55, Anoop C S via samba wrote:> On Tue, 2024-07-30 at 21:12 +0300, Michael Tokarev via samba wrote: >> Hi! >> >> Building current samba on debian bullseye with >> >> ?? ./configure --enable-cephfs >> >> results in the following output: >> >> Checking for header cephfs/libcephfs.h????????????? : yes >> Checking for library cephfs???????????????????????? : yes >> Checking for ceph_statx in cephfs?????????????????? : ok >> Checking for ceph_openat in cephfs????????????????? : not found >> Ceph support disabled due to --without-acl-support >> ????????? or lack of ceph_statx/ceph_openat support >> ... >> >> but despite --enable-cephfs option, ./configure succeeds and >> subsequent >> build succeeds too, just vfs/ceph.so etc aren't being produced. >> >> This seems like (configure) bug. > > I hope the description(and hyperlinked discussion) from > https://gitlab.com/samba-team/samba/-/merge_requests/3715 explains the > situation with upcoming v4.21 in detail. Basically we decided to go > with the mandate of requiring certain APIs from libcephfs. Those APIs > have been around since v17 and it is the least among the non-EOL(not > archived) versions of Ceph as > per?https://docs.ceph.com/en/latest/releases/#ceph-releases-index .The problem here is not requirement of a modern ceph - this is entirely okay. The problem is that ceph is disabled by configure even if it is explicitly enabled by the command-line switch. Configure should fail here instead of continuing, - *that* is the problem. Thanks, /mjt -- GPG Key transition (from rsa2048 to rsa4096) since 2024-04-24. New key: rsa4096/61AD3D98ECDF2C8E 9D8B E14E 3F2A 9DD7 9199 28F1 61AD 3D98 ECDF 2C8E Old key: rsa2048/457CE0A0804465C5 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044 65C5 Transition statement: http://www.corpit.ru/mjt/gpg-transition-2024.txt
Anoop C S
2024-Jul-31 06:38 UTC
[Samba] ceph is disabled even if explicitly asked to be enabled
On Wed, 2024-07-31 at 08:36 +0300, Michael Tokarev via samba wrote:> 31.07.2024 07:55, Anoop C S via samba wrote: > > On Tue, 2024-07-30 at 21:12 +0300, Michael Tokarev via samba wrote: > > > Hi! > > > > > > Building current samba on debian bullseye with > > > > > > ??? ./configure --enable-cephfs > > > > > > results in the following output: > > > > > > Checking for header cephfs/libcephfs.h????????????? : yes > > > Checking for library cephfs???????????????????????? : yes > > > Checking for ceph_statx in cephfs?????????????????? : ok > > > Checking for ceph_openat in cephfs????????????????? : not found > > > Ceph support disabled due to --without-acl-support > > > ?????????? or lack of ceph_statx/ceph_openat support > > > ... > > > > > > but despite --enable-cephfs option, ./configure succeeds and > > > subsequent build succeeds too, just vfs/ceph.so etc aren't being > > > produced. > > > > > > This seems like (configure) bug. > > > > I hope the description(and hyperlinked discussion) from > > https://gitlab.com/samba-team/samba/-/merge_requests/3715?explains > > the situation with upcoming v4.21 in detail. Basically we decided > > to go with the mandate of requiring certain APIs from libcephfs. > > Those APIs have been around since v17 and it is the least among the > > non-EOL(not archived) versions of Ceph as > > per?https://docs.ceph.com/en/latest/releases/#ceph-releases-index?. > > The problem here is not requirement of a modern ceph - this is > entirely okay. > > The problem is that ceph is disabled by configure even if it is > explicitly enabled by the command-line switch.? Configure should fail > here instead of continuing, - *that* is the problem.This is/was always the situation because building vfs_ceph is enabled by default. Therefore an explicit '--enable-cephfs' doesn't end up as an indication to fail the build in the absence of certain libcephfs requirements. We had the following configure stage warning previously for v4.20 which might have gone unnoticed: ... Checking for ceph_mkdirat in cephfs : not found Checking for ceph_openat in cephfs : not found Checking for ceph_unlinkat in cephfs : not found Checking for ceph_symlinkat in cephfs : not found Checking for ceph_readlinkat in cephfs : not found Checking for ceph_statxat in cephfs : not found Installed Ceph version support is at the verge of deprecation due to the absence of some mandatory libcephfs APIs. This warning there shall result in disabling the Ceph VFS module altogether with the next major Samba version. It is highly recommended to update to a more recent/active version of Ceph. ... People will start noticing the difference now with upcoming v4.21 if they do not have the minimum required Ceph version(libcephfs). May be we could rethink on the current behaviour which silently disable building the module when requirements are not met. But keep in mind that this silent approach existed all this while if either libcephfs or related dependencies(acl support) were not present during build process. It is also an option to switch the default from 'True' to 'False' so that failing at configure stage is much more meaningful. Thanks, Anoop C S.