Red Hat Bugzilla – Bug 823181
Mount point shows "Invalid arguments" upon rebalance followed by rm -rf
Last modified: 2015-10-22 11:40:20 EDT
Created attachment 585600 [details]
Description of problem:
Add-brick to distributed-replicate volume and rebalance, while rebalance is happening rm -rf on mount point gives "Invalid argument"
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create a 2x2 dist-rep volume
2. Kernel untar on the mount point
3. add-brick to the volume and initiate rebalance
4. while rebalance is happening do "rm -rf " of the kernel directory
For some of the files "Invalid arguments" message will be thrown
Attaching backtrace of by breaking into fuse_unlink_cbk when failure is encountered (op_ret != 0)
From the bt: ->cached_subvol is NULL
(gdb) p loc->path
$5 = 0x7f0f240008e0 "/linux-3.3.5/Documentation/block/writeback_cache_control.txt"
(gdb) p local->cached_subvol
$6 = (xlator_t *) 0x0
Also, the loglevel in the log message is DEBUG due to which nothing ends up in the logs when a failure occurs.
rm -rf sometime fails with ENOEMPTY err too.
This happens for multiple reasons
1. File got deleted from the client, before migration started (readdirp had returned the entry for rebalance process).
2. File got migrated to different subvol before unlink was sent from client (readdirp had returned entry to client process).
Upon failure and rebalance process running to completion, a subsequent rm -rf on the client process runs to completion.
Currently we can not fix this issue, hence moving it to documentation needed.
Will keep the bug open and revisit it in the future.
pre-release version is ambiguous and about to be removed as a choice.
If you believe this is still a bug, please change the status back to NEW and choose the appropriate, applicable version for it.