Hi, Steps to reproduce 1.Mounted a disperse volume 2.Started the a python script from 2 clients (one from /mnt/EC and another from /mnt/EC/dir1) to continues fd open/close in multiple threads 3.Added brick and started rebalance 4.Rebalance has completed RCA: Before merged this patch https://review.gluster.org/#/c/glusterfs/+/15804/ if fd is not opened client_fops sets anon fd without checking fd is anonymous or not so there was no issue in if fd is not opened before throwing any fop but after merged this patch CLIENT_GET_REMOTE_FD sets the errno to EBADFD if fd is not anonymous.In dht fop_cbks code path open fd only while errno is EBADF so need to handle EBADFD if any dht children xlator sets as an error if fd is not opened. Regards, Mohit Agrawal
Upstream patch https://review.gluster.org/#/c/glusterfs/+/23518/
REVIEW: https://review.gluster.org/23518 (dht: Rebalance causing IO Error - File descriptor in bad state) merged (#19) on master by MOHIT AGRAWAL