This is a note to let you know that I've just added the patch titled Btrfs: read lock extent buffer while walking backrefs to the 3.16-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: btrfs-read-lock-extent-buffer-while-walking-backrefs.patch and it can be found in the queue-3.16 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 6f7ff6d7832c6be13e8c95598884dbc40ad69fb7 Mon Sep 17 00:00:00 2001 From: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed, 2 Jul 2014 20:07:54 +0100 Subject: Btrfs: read lock extent buffer while walking backrefs From: Filipe Manana <fdmanana@xxxxxxxx> commit 6f7ff6d7832c6be13e8c95598884dbc40ad69fb7 upstream. Before processing the extent buffer, acquire a read lock on it, so that we're safe against concurrent updates on the extent buffer. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/btrfs/backref.c | 3 +++ 1 file changed, 3 insertions(+) --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -1000,8 +1000,11 @@ again: ret = -EIO; goto out; } + btrfs_tree_read_lock(eb); + btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK); ret = find_extent_in_eb(eb, bytenr, *extent_item_pos, &eie); + btrfs_tree_read_unlock_blocking(eb); free_extent_buffer(eb); if (ret < 0) goto out; Patches currently in stable-queue which might be from fdmanana@xxxxxxxx are queue-3.16/btrfs-fix-csum-tree-corruption-duplicate-and-outdated-checksums.patch queue-3.16/btrfs-read-lock-extent-buffer-while-walking-backrefs.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html