From df47e1f3e1a33d233825209c6ee5e711c9fefcf3 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Mon, 13 Apr 2015 10:26:28 +0800 Subject: [PATCH] client: fix uninline data funtion For CEPH_OSD_CMPXATTR_MODE_U64, OSD expects the u64 to be encoded as string in object's xattr Fixes: #11356 Signed-off-by: Yan, Zheng --- src/client/Client.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 4262cced2001..6f188cca76d2 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -74,8 +74,8 @@ using namespace std; #define dout_subsys ceph_subsys_client #include "include/lru.h" - #include "include/compat.h" +#include "include/stringify.h" #include "Client.h" #include "Inode.h" @@ -6896,7 +6896,7 @@ int Client::uninline_data(Inode *in, Context *onfinish) inline_version_bl); bufferlist inline_data = in->inline_data; uninline_ops.write(0, inline_data, in->truncate_size, in->truncate_seq); - uninline_ops.setxattr("inline_version", inline_version_bl); + uninline_ops.setxattr("inline_version", stringify(in->inline_version)); objecter->mutate(oid, OSDMap::file_to_object_locator(in->layout), -- 2.47.3