Bug 170143
Summary: | rm command hangs when removing a symlink on ext2 loop filesystem | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | rich turner <rturner> | ||||||
Component: | kernel | Assignee: | Peter Staubach <staubach> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 4.0 | CC: | pegasus, sct | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i386 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | RHSA-2006-0575 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2006-08-10 21:24:14 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 181409 | ||||||||
Attachments: |
|
Description
rich turner
2005-10-07 18:17:44 UTC
step #2 should read: dd if=/dev/zero of=/tmp/tmploopfs bs=1k count=32768 This seems not to be a userland e2fsprogs problem. Assigning to kernel. Created attachment 124582 [details]
Reproducible testcase
I attached a testcase which was constructed out of the directions above. The problem seems to be that ext2_xattr_delete_inode() calls lock_buffer(bh) and then, because the file system was mounted with the "sync" option, calls sync_dirty_buffer(bh). The routine, sync_dirty_buffer, immediately calls lock_buffer(bh), again. This is a deadlock. The solution is to call unlock_dirty_buffer(bh) before invoking sync_dirty_buffer(bh) so that the buffer head is unlocked. I alao rearranged and updated some debugging code to match the change in locking. Created attachment 124585 [details]
Proposed patch
*** Bug 180028 has been marked as a duplicate of this bug. *** An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0575.html |