diff options
author | Venky Shankar <vshankar@redhat.com> | 2024-07-17 12:05:45 +0200 |
---|---|---|
committer | Igor Golikov <igolikov@ibm.com> | 2024-11-18 11:29:40 +0100 |
commit | 265e6785be0071942420acf2bdf067d6c0340eaa (patch) | |
tree | b552742fd44a43286ea9d13032c9f5254a90ae68 /src/mds/CDir.cc | |
parent | Merge pull request #60655 from xxhdx1985126/wip-seastore-move-out-root-meta (diff) | |
download | ceph-265e6785be0071942420acf2bdf067d6c0340eaa.tar.xz ceph-265e6785be0071942420acf2bdf067d6c0340eaa.zip |
mds: account for header size during omap commit
fnode_t is set in the omap header during directory commit
operation which isn't accounted when tracking operation
size.
Fixes: http://tracker.ceph.com/issues/67597
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Diffstat (limited to '')
-rw-r--r-- | src/mds/CDir.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc index af9f8edfffa..7d28e039d9c 100644 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -2494,6 +2494,10 @@ void CDir::_omap_commit_ops(int r, int op_prio, int64_t metapool, version_t vers mdcache->mds->heartbeat_reset(); } + // the last omap commit includes the omap header, so account for + // that size early on so that when we reach `commit_one(true)`, + // there is enough space for the header. + write_size += sizeof(fnode_t); using ceph::encode; for (auto &item : to_set) { bufferlist bl; |