From: Yan, Zheng Date: Mon, 13 Apr 2015 02:26:28 +0000 (+0800) Subject: client: fix uninline data funtion X-Git-Tag: v9.0.1~116^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F4343%2Fhead;p=ceph.git 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 --- 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),