Bug #56638
closedRestore the AT_NO_ATTR_SYNC define in libcephfs
0%
Description
While working on an unrelated topic but building against the current 'quincy' branch - but not a released quincy - we discovered our code failed to compile becuase AT_NO_ATTR_SYNC had disappeared. Looking into it we found:
https://github.com/ceph/ceph/pull/46679
While we have no issue with the new defines that were added, we think removing the existing define breaks backwards compatibility. Importantly, code that compiles just fine today against octopus or pacific versions of libcephfs may fail to compile once the backports become part of octopus and pacific.
My suggestion is to simply add back a define like:
#define AT_NO_ATTR_SYNC AT_STATX_DONT_SYNC
Ideally, this define would remain in octopus and pacific branches. In main branch you could document the define as deprecated (for reef) and then remove it later (ceph S or later).
I've marked this as a regression because code that previously compiled just fine on the current quincy release may break on the next quincy release.
If you'd like, I can contribute the necessary PRs to implement my suggestion(s).