Actions
Tasks #70193
closedTasks #63293: Implement fscrypt in libcephfs and cephfs-fuse
Tasks #69975: Sepia Lab Test Runs
Tasks #70192: choffman-2025-02-25_14:26:50-fs:fscrypt-wip-choffman-fscrypt-distro-default-smithi
dbench fails
% Done:
0%
Reviewed:
Affected Versions:
Component(FS):
Labels (FS):
Pull request ID:
Tags (freeform):
Merge Commit:
Fixed In:
Released In:
Upkeep Timestamp:
Updated by Christopher Hoffman about 1 year ago
- Status changed from New to In Progress
Updated by Christopher Hoffman about 1 year ago
- Status changed from In Progress to Resolved
Issue resolved and reran here:
https://pulpito.ceph.com/choffman-2025-02-28_20:17:24-fs-wip-choffman-fscrypt-distro-default-smithi/8161144/
Author: Christopher Hoffman <choffman@redhat.com>
Date: Thu Feb 27 19:11:40 2025 +0000
client: Use correct sizes in write_success
Write success had some incorrect usage of sizes.
request_[size|offset] refers to logical size
toalwritten + offset refers to written to osd size
Fixes: https://tracker.ceph.com/issues/70193
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
diff --git a/src/client/Client.cc b/src/client/Client.cc
index 32799533039..0dd5eedc226 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -11834,14 +11834,12 @@ int64_t Client::_write_success(Fh *f, utime_t start, uint64_t fpos,
// extend file?
if (request_size + request_offset > in->effective_size()) {
- size = request_size + request_offset;
if (encrypted) {
- in->set_effective_size(size);
+ in->set_effective_size(request_size + request_offset);
in->mark_caps_dirty(CEPH_CAP_FILE_EXCL);
- size = fscrypt_next_block_start(offset + size);
}
ldout(cct, 7) << "in->effective_size()=" << in->effective_size() << dendl;
- in->size = size;
+ in->size = totalwritten + offset;
in->mark_caps_dirty(CEPH_CAP_FILE_WR);
if (is_quota_bytes_approaching(in, f->actor_perms)) {
Actions