summaryrefslogtreecommitdiff
path: root/src/mds/CInode.cc
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-09-17 06:27:11 -0700
committerSage Weil <sage@inktank.com>2013-09-17 06:27:35 -0700
commit5100ae91c056ab116de315f18efa22ea52910975 (patch)
tree77a8c177b1c74f2c1656c86a3945a410aff340cb /src/mds/CInode.cc
parent21900f55ff19edc4e1244729344ed8de9e98a8ea (diff)
downloadceph-wip-inline.tar.gz
mds: share inline data with capswip-inline
Diffstat (limited to 'src/mds/CInode.cc')
-rw-r--r--src/mds/CInode.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc
index 759017c646a..729f126bd5d 100644
--- a/src/mds/CInode.cc
+++ b/src/mds/CInode.cc
@@ -3005,6 +3005,13 @@ void CInode::encode_cap_message(MClientCaps *m, Capability *cap)
i->atime.encode_timeval(&m->head.atime);
m->head.time_warp_seq = i->time_warp_seq;
+ if (cap->client_inline_version < i->inline_version) {
+ m->inline_version = cap->client_inline_version = i->inline_version;
+ m->inline_data = i->inline_data;
+ } else {
+ m->inline_version = 0;
+ }
+
// max_size is min of projected, actual.
uint64_t oldms = oi->client_ranges.count(client) ? oi->client_ranges[client].range.last : 0;
uint64_t newms = pi->client_ranges.count(client) ? pi->client_ranges[client].range.last : 0;