Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 17 Apr 2012 09:33:06 -0700 | Subject | Re: [git pull] vfs and fs fixes |
| |
On Tue, Apr 17, 2012 at 9:22 AM, J. Bruce Fields <bfields@fieldses.org> wrote: > > Ugh, no, I think you're right: > > rename A/a->A/b > rename B/b->B/b > > where A/a and B/a are the same file, and A/b and B/b are the same file, > can result in the first rename holding the lock on A and a and waiting > on b, and the second holding the lock on B and b and waiting on a.
In fact I don't think you need even that much. Just a simple
touch a ln a b mv a b
looks like it should deadlock on itself, no? source and dest inodes will be the same, so the mutex_lock() will just deadlock without even any ABBA race.
(I didn't really check - maybe there is some reason that doesn't happen).
Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |