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
5. Python script is getting failure "File descriptor in bad state"
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.
A patch is posted on upstream
REVIEW: https://review.gluster.org/23552 (dht: Rebalance causing IO Error - File descriptor in bad state) posted (#1) for review on release-6 by MOHIT AGRAWAL
REVIEW: https://review.gluster.org/23552 (dht: Rebalance causing IO Error - File descriptor in bad state) merged (#2) on release-6 by hari gowtham