]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: pin log earlier when renaming
authorFilipe Manana <fdmanana@suse.com>
Fri, 29 Apr 2016 12:14:42 +0000 (13:14 +0100)
committerFilipe Manana <fdmanana@suse.com>
Fri, 13 May 2016 00:59:19 +0000 (01:59 +0100)
commitd04fdaa7749c6b0a5771e266ec3a8e1aaac01814
tree7fcde1ac6f1a1cbeea481f97dbbf79b763b40cfb
parent0fe01334f8769efea06c3711da560d8125c33d9d
Btrfs: pin log earlier when renaming

We were pinning the log right after the first step in the rename operation
(inserting inode ref for the new name in the destination directory)
instead of doing it before. This behaviour was introduced in 2009 for some
reason that was not mentioned neither on the changelog nor any comment,
with the drawback of a small time window where concurrent log writers can
end up logging the new inode reference for the inode we are renaming while
the rename operation is in progress (so that we can end up with a log
containing both the new and old references). As of today there's no reason
to not pin the log before that first step anymore, so just fix this.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
fs/btrfs/inode.c