Project

General

Profile

Actions

Bug #56638

closed

Restore the AT_NO_ATTR_SYNC define in libcephfs

Added by John Mulligan almost 2 years ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
backport_processed
Backport:
quincy,pacific
Regression:
Yes
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
libcephfs
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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).

See also: https://github.com/ceph/go-ceph/issues/741


Related issues 2 (0 open2 closed)

Copied to CephFS - Backport #57252: pacific: Restore the AT_NO_ATTR_SYNC define in libcephfsResolvedXiubo LiActions
Copied to CephFS - Backport #57253: quincy: Restore the AT_NO_ATTR_SYNC define in libcephfsResolvedXiubo LiActions
Actions

Also available in: Atom PDF