]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: fix uninline data funtion 4343/head
authorYan, Zheng <zyan@redhat.com>
Mon, 13 Apr 2015 02:26:28 +0000 (10:26 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 14 Apr 2015 00:53:35 +0000 (08:53 +0800)
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 <zyan@redhat.com>
src/client/Client.cc

index 4262cced200137b734713b97fbf5c0619cc2fe90..6f188cca76d20572aabdb5a1b33282a71884816a 100644 (file)
@@ -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),