[Bugs] [Bug 1387494] Files not deleted from arbiter brick after deletion from the mount point.

bugzilla at redhat.com bugzilla at redhat.com
Thu Mar 2 01:40:22 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1387494

Ravishankar N <ravishankar at redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
        Environment|If the data bricks of the   |
                   |arbiter volume get filled   |
                   |up, further creation of new |
                   |entries might succeed in    |
                   |the arbiter brick despite   |
                   |failing on the data bricks  |
                   |with ENOSPC and the         |
                   |application (client) itself |
                   |receiving an error on the   |
                   |mount point. Thus the       |
                   |arbiter bricks might have   |
                   |more entries. Now when an   |
                   |rm -rf is performed from    |
                   |the client, if the readdir  |
                   |(as a part of rm -rf) gets  |
                   |served on the data brick,   |
                   |it might delete only those  |
                   |entries and not the ones    |
                   |present only in the         |
                   |arbiter. When the rmdir on  |
                   |the parent dir of these     |
                   |entries comes, it won't     |
                   |succeed on the arbiter      |
                   |(errors out with            |
                   |ENOTEMPTY), leading to it   |
                   |not being removed from      |
                   |arbiter.
                   |
                   |
                           |
                   |Workaround: If the deletion |
                   |from the mount did not      |
                   |complain but the bricks     |
                   |still contain the           |
                   |directories, we would need  |
                   |to remove the directory and |
                   |its associated gfid symlink |
                   |from the back end. If the   |
                   |directory contains files,   |
                   |they (file + its gfid       |
                   |hardlink) would need to be  |
                   |removed too.                |


--- Doc Text *updated* ---
If the data bricks of the arbiter volume get filled up, further creation of new entries might succeed in the arbiter brick despite failing on the data bricks with ENOSPC and the application (client) itself receiving an error on the mount point. Thus the arbiter bricks might have more entries. Now when an rm -rf is performed from the client, if the readdir (as a part of rm -rf) gets served on the data brick, it might delete only those entries and not the ones present only in the arbiter. When the rmdir on the parent dir of these entries comes, it won't succeed on the arbiter (errors out with ENOTEMPTY), leading to it not being removed from arbiter.

Workaround: If the deletion from the mount did not complain but the bricks still contain the directories, we would need to remove the directory and its associated gfid symlink from the back end. If the directory contains files, they (file + its gfid hardlink) would need to be removed too.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=VJZZziXSFY&a=cc_unsubscribe


More information about the Bugs mailing list