We discussed a few FsVolume removal race conditions on the DataNode in HDFS-7489. We should figure out a way to make removing an FsVolume safe.
NPE in BlockSender due to race condition
BlockReceiver#close() might be called multiple times, which causes the fsvolume reference being released incorrectly.
Improve the concurrent access on FsVolumeList
Incorrect locking in FsVolumeList#checkDirs can hang datanodes
Rename FsVolumeListTest to TestFsVolumeList and commit it to branch-2