Bug 1667804 - Unable to delete directories that contain linkto files that point to itself.
Summary: Unable to delete directories that contain linkto files that point to itself.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: distribute
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nithya Balachandran
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1667556 1668989 1671611
TreeView+ depends on / blocked
 
Reported: 2019-01-21 06:49 UTC by Nithya Balachandran
Modified: 2019-03-25 16:33 UTC (History)
1 user (show)

Fixed In Version: glusterfs-6.0
Clone Of:
: 1668989 1671611 (view as bug list)
Environment:
Last Closed: 2019-01-22 05:23:04 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Gluster.org Gerrit 22066 0 None Merged cluster/dht: Delete invalid linkto files in rmdir 2019-01-22 05:23:03 UTC

Description Nithya Balachandran 2019-01-21 06:49:56 UTC
Description of problem:
A directory containing linkto files that point to itself cannot be deleted.


Version-Release number of selected component (if applicable):


How reproducible:

Consistently

Steps to Reproduce:

1. gluster v create tvol 192.168.122.7:/bricks/brick2/tvol-{1..2}
2. gluster v start tvol
3. mount -t glusterfs -s 192.168.122.7:/tvol /mnt/g1
4. cd /mnt/g1
5. mkdir -p dir0/dir1/dir2
6. cd dir0/dir1/dir2
7. for i in {1..100}; do echo "Test file" > tfile-$i; done
8. for i in {1..100}; do mv tfile-$i ntfile-$i; done
9. gluster v remove-brick tvol 192.168.122.7:/bricks/brick2/tvol-2 start

Once the remove-brick status shows "completed", 
10. gluster v remove-brick tvol 192.168.122.7:/bricks/brick2/tvol-2 stop

You should now have only linkto files in 192.168.122.7:/bricks/brick2/tvol-2/dir0/dir1/dir2 and they should all be pointing to 
tvol-client-0. 
Manually change the linkto xattr value for every file in brick2 to point to itself, in this case "tvol-client-1"(make sure the string is null terminated).

11. setfattr -n trusted.glusterfs.dht.linkto -v 0x74766f6c2d636c69656e742d3100 /bricks/brick2/tvol-2/dir0/dir1/dir2/ntfile-*

12. Try to delete the directory from the mount point:

[root@myserver g1]# rm -rf *


Actual results:

[root@myserver g1]# rm -rf *
rm: cannot remove ‘dir0/dir1/dir2’: Directory not empty

Expected results:

The directory should be deleted as there are no data files inside.

Additional info:

Comment 1 Worker Ant 2019-01-21 09:50:09 UTC
REVIEW: https://review.gluster.org/22066 (cluster/dht: Delete invalid linkto files in rmdir) posted (#1) for review on master by N Balachandran

Comment 2 Worker Ant 2019-01-22 05:23:04 UTC
REVIEW: https://review.gluster.org/22066 (cluster/dht: Delete invalid linkto files in rmdir) merged (#2) on master by Amar Tumballi

Comment 3 Shyamsundar 2019-03-25 16:33:07 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-6.0, please open a new bug report.

glusterfs-6.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] https://lists.gluster.org/pipermail/announce/2019-March/000120.html
[2] https://www.gluster.org/pipermail/gluster-users/


Note You need to log in before you can comment on or make changes to this bug.