-
Notifications
You must be signed in to change notification settings - Fork 6.3k
client: switch AT_NO_ATTR_SYNC to AT_STATX_DONT_SYNC #45844
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
Conversation
vshankar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable.
src/client/Client.cc
Outdated
| { | ||
| unsigned mask = 0; | ||
|
|
||
| /* if NO_ATTR_SYNC is set, then we don't need any -- just use what's in cache */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix in comment too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, will fix it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
Updated it also by fixing the comments in following two files: |
kotreshhr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit:typo s/stardard/standard/
Looks good to me otherwise.
Sure, will fix it. Thanks @kotreshhr
|
The glibc has defined its own STATX SYNC related flags: define AT_STATX_SYNC_TYPE 0x6000 define AT_STATX_SYNC_AS_STAT 0x0000 define AT_STATX_FORCE_SYNC 0x2000 define AT_STATX_DONT_SYNC 0x4000 Just switch to use the standard ones. Fixes: https://tracker.ceph.com/issues/55253 Signed-off-by: Xiubo Li <xiubli@redhat.com>
From the posix and the initial statx supporting commit comments, the AT_STATX_DONT_SYNC is a lightweight stat flag and the AT_STATX_FORCE_SYNC is a heaverweight one. And also checked all the other current usage about these two flags they are all doing the same, that is only when the AT_STATX_FORCE_SYNC is not set and the AT_STATX_DONT_SYNC is set will they skip sync retriving the attributes from storage. Fixes: https://tracker.ceph.com/issues/55253 Signed-off-by: Xiubo Li <xiubli@redhat.com>
|
@lxbsz is this ready for qa or are you waiting on something? :) |
Yeah, it's ready to qa. |
|
jenkins test make check |
1 similar comment
|
jenkins test make check |
vshankar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The glibc has defined its own STATX SYNC related flags:
define AT_STATX_SYNC_TYPE 0x6000
define AT_STATX_SYNC_AS_STAT 0x0000
define AT_STATX_FORCE_SYNC 0x2000
define AT_STATX_DONT_SYNC 0x4000
Just switch to use the stardard ones.
And from the posix and the initial statx supporting commit comments,
the AT_STATX_DONT_SYNC is a lightweight stat flag and the
AT_STATX_FORCE_SYNC is a heaverweight one. And also checked all
the other current usage about these two flags they are all doing
the same, that is only when the AT_STATX_FORCE_SYNC is not set
and the AT_STATX_DONT_SYNC is set will they skip sync retriving
the attributes from storage.
Fixes: https://tracker.ceph.com/issues/55253
Signed-off-by: Xiubo Li xiubli@redhat.com
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windows