Patch "Btrfs: take ordered root lock when removing ordered operations inode" has been added to the 3.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]