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
hammer: osd: smaller object_info_t xattrs #6544
Conversation
9398e03
to
c7b5057
Compare
c2ced2e
to
17a217c
Compare
This seems reasonable to me, but should go into master first? |
I don't want to put it in master at all since we're throwing out
local_mtime (so it's not strictly optimal) and master is smart enough to
stripe these across smaller inlined xattrs.
|
@liewegas could you please rebase & repush ? |
17a217c
to
9a7f4f7
Compare
9a7f4f7
to
2895bb6
Compare
@liewegas would you mind rebasing & repushing to get a new run of the bot ? |
2895bb6
to
6889f99
Compare
!has_flag(DATA_DIGEST) && | ||
watchers.empty()) { // no watchers | ||
// note: we dropped local_mtime too, even though it may have been used. | ||
ev = 10; |
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.
assert omap_digest == -1 and data_digest == -1?
7f2d967
to
aff84b4
Compare
We want to avoid encoding it if we can. And if the FLAG_OMAP is not set we don't need to *also* store an empty crc. Signed-off-by: Sage Weil <sage@redhat.com>
If we don't have a local_mtime value, use mtime instead, for the purposes of deciding if we should record a digest after scrub. Signed-off-by: Sage Weil <sage@redhat.com>
If a pool isn't tiered, don't bother with setting local_mtime. The only users are the tiering agent (which isn't needed if there is not tiering) and scrub for deciding if an object should get its digest recorded (we can use mtime instead). Signed-off-by: Sage Weil <sage@redhat.com>
…nused This reduces the size of the encoded object_info_t in most cases, enough to get us under the 255 byte limit for a single inline xattr in XFS. Signed-off-by: Sage Weil <sage@redhat.com>
aff84b4
to
a9d3f07
Compare
I think this looks right |
osd: make encoded object_info_t smaller to fit inside the XFS inode Reviewed-by: Samuel Just <sjust@redhat.com>
Still need to run upgrade/hammer-x test; do not release or take this downstream yet. |
Ok do you want to update this PR to communicate the status? |
Yeah, and I'll ping you too :)
|
Passed the hammer-x upgrade. Good to go! http://pulpito.ovh.sepia.ceph.com:8081/sage-2015-12-17_20:33:10-upgrade:hammer-x-infernalis---basic-openstack/ |
http://tracker.ceph.com/issues/14803
Avoid later bits of object_info_t encoding ot reduce the xattr size, so that it can be inlined by xfs (< 255 bytes).
We lose: