diff options
Diffstat (limited to 'src/mds/CInode.cc')
-rw-r--r-- | src/mds/CInode.cc | 7 |
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; |