Bug 1399513

Summary: Remove-brick: File with hardlinks is not migrated from the decommissioned bricks, commit results in data loss
Product: Red Hat Gluster Storage Reporter: Prasad Desala <tdesala>
Component: distributeAssignee: Susant Kumar Palai <spalai>
Status: CLOSED DEFERRED QA Contact: Prasad Desala <tdesala>
Severity: urgent Docs Contact:
Priority: low    
Version: rhgs-3.2CC: amukherj, rhs-bugs, sheggodu, spalai, storage-qa-internal
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: dht-removebrick, dht-data-loss
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-01-16 07:23:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Prasad Desala 2016-11-29 08:48:14 UTC
Description of problem:
=======================
Remove-brick: File is not migrated from the decommissioned bricks,  commit results in data loss

Version-Release number of selected component (if applicable):
3.8.4-5.el7rhgs.x86_64

Steps to Reproduce:
===================
1) Create a distributed-replicate volume and start it.
2) FUSE mount the volume on multiple clients.
3) Run the below tasks from the clients,
  a) Client-1: Create a big file usind dd command
     dd if=/dev/urandom of=BIG bs=1024k count=10000
  b) Client-2: continuous lookups using ls -lRT
  c) Client-3: continuous lookups using find
  d) Client-4: Start a script which creates hardlinks to the file 'BIG'
4) With Step-3 running,  Identify on which bricks the file is actually stored and remove those bricks.
5) Wait till the migration completes.

The file is still present on the decommissioned bricks. so, if we issue remove-brick commit there will be a data loss. 

Actual results:
===============
File is not migrated from the decommissioned bricks,  commit results in data loss

Expected results:
=================
File should get migrated from decommissioned bricks to other bricks which are part of volume.