This is a note to let you know that I've just added the patch titled

    Btrfs: send, add missing check for dead clone root

to the 4.0-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-send-add-missing-check-for-dead-clone-root.patch
and it can be found in the queue-4.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 5cc2b17e80cf5770f2e585c2d90fd8af1b901258 Mon Sep 17 00:00:00 2001
From: Filipe Manana <[email protected]>
Date: Mon, 2 Mar 2015 20:53:52 +0000
Subject: Btrfs: send, add missing check for dead clone root

From: Filipe Manana <[email protected]>

commit 5cc2b17e80cf5770f2e585c2d90fd8af1b901258 upstream.

After we locked the root's root item, a concurrent snapshot deletion
call might have set the dead flag on it. So check if the dead flag
is set and abort if it is, just like we do for the parent root.

Signed-off-by: Filipe Manana <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 fs/btrfs/send.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -5855,7 +5855,8 @@ long btrfs_ioctl_send(struct file *mnt_f
                        clone_sources_to_rollback = i + 1;
                        spin_lock(&clone_root->root_item_lock);
                        clone_root->send_in_progress++;
-                       if (!btrfs_root_readonly(clone_root)) {
+                       if (!btrfs_root_readonly(clone_root) ||
+                           btrfs_root_dead(clone_root)) {
                                spin_unlock(&clone_root->root_item_lock);
                                srcu_read_unlock(&fs_info->subvol_srcu, index);
                                ret = -EPERM;


Patches currently in stable-queue which might be from [email protected] are

queue-4.0/btrfs-send-add-missing-check-for-dead-clone-root.patch
queue-4.0/btrfs-send-don-t-leave-without-decrementing-clone-root-s-send_progress.patch
queue-4.0/btrfs-fix-range-cloning-when-same-inode-used-as-source-and-destination.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in

Reply via email to