From 25e4a1249f3904a2a918194541566e3cda512c6b Mon Sep 17 00:00:00 2001 From: Krutika Dhananjay Date: Wed, 8 May 2019 13:00:51 +0530 Subject: features/shard: Fix block-count accounting upon truncate to lower size Backport of: > BUG: bz#1705884 > Change-Id: I9128a192e9bf8c3c3a959e96b7400879d03d7c53 > Signed-off-by: Krutika Dhananjay The way delta_blocks is computed in shard is incorrect, when a file is truncated to a lower size. The accounting only considers change in size of the last of the truncated shards. FIX: Get the block-count of each shard just before an unlink at posix in xdata. Their summation plus the change in size of last shard (from an actual truncate) is used to compute delta_blocks which is used in the xattrop for size update. Change-Id: I9128a192e9bf8c3c3a959e96b7400879d03d7c53 fixes: bz#1716871 Signed-off-by: Krutika Dhananjay (cherry picked from commit 400b66d568ad18fefcb59949d1f8368d487b9a80) --- libglusterfs/src/glusterfs/glusterfs.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libglusterfs') diff --git a/libglusterfs/src/glusterfs/glusterfs.h b/libglusterfs/src/glusterfs/glusterfs.h index 263213d4048..3056a61d9af 100644 --- a/libglusterfs/src/glusterfs/glusterfs.h +++ b/libglusterfs/src/glusterfs/glusterfs.h @@ -328,6 +328,8 @@ enum gf_internal_fop_indicator { #define GF_RESPONSE_LINK_COUNT_XDATA "gf_response_link_count" #define GF_REQUEST_LINK_COUNT_XDATA "gf_request_link_count" +#define GF_GET_FILE_BLOCK_COUNT "gf_get_file_block_count" + #define CTR_ATTACH_TIER_LOOKUP "ctr_attach_tier_lookup" #define CLIENT_CMD_CONNECT "trusted.glusterfs.client-connect" -- cgit