This is a note to let you know that I've just added the patch titled Btrfs: take ordered root lock when removing ordered operations inode to the 3.12-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-take-ordered-root-lock-when-removing-ordered-operations-inode.patch and it can be found in the queue-3.12 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 93858769172c4e3678917810e9d5de360eb991cc Mon Sep 17 00:00:00 2001 From: Josef Bacik <jbacik@xxxxxxxxxxxx> Date: Mon, 28 Oct 2013 09:13:25 -0400 Subject: Btrfs: take ordered root lock when removing ordered operations inode From: Josef Bacik <jbacik@xxxxxxxxxxxx> commit 93858769172c4e3678917810e9d5de360eb991cc upstream. A user reported a list corruption warning from btrfs_remove_ordered_extent, it is because we aren't taking the ordered_root_lock when we remove the inode from the ordered operations list. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/btrfs/ordered-data.c | 2 ++ 1 file changed, 2 insertions(+) --- a/fs/btrfs/ordered-data.c +++ b/fs/btrfs/ordered-data.c @@ -537,7 +537,9 @@ void btrfs_remove_ordered_extent(struct */ if (RB_EMPTY_ROOT(&tree->tree) && !mapping_tagged(inode->i_mapping, PAGECACHE_TAG_DIRTY)) { + spin_lock(&root->fs_info->ordered_root_lock); list_del_init(&BTRFS_I(inode)->ordered_operations); + spin_unlock(&root->fs_info->ordered_root_lock); } if (!root->nr_ordered_extents) { Patches currently in stable-queue which might be from jbacik@xxxxxxxxxxxx are queue-3.12/btrfs-fix-memory-leak-of-chunks-extent-map.patch queue-3.12/btrfs-fix-lockdep-error-in-async-commit.patch queue-3.12/btrfs-fix-incorrect-inode-acl-reset.patch queue-3.12/btrfs-reset-intwrite-on-transaction-abort.patch queue-3.12/btrfs-do-not-run-snapshot-aware-defragment-on-error.patch queue-3.12/btrfs-do-a-full-search-everytime-in-btrfs_search_old_slot.patch queue-3.12/btrfs-take-ordered-root-lock-when-removing-ordered-operations-inode.patch queue-3.12/btrfs-fix-hole-check-in-log_one_extent.patch queue-3.12/btrfs-fix-a-crash-when-running-balance-and-defrag-concurrently.patch queue-3.12/btrfs-stop-using-vfs_read-in-send.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