Skip to contentSkip to conversation

Patch "btrfs: cleanup orphans while looking up default subvolume" has been added to the 3.10-stable tree

PATCH [email protected] 1 participant 1 message Jun 19, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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

btrfs: cleanup orphans while looking up default subvolume

to the 3.10-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-cleanup-orphans-while-looking-up-default-subvolume.patch
and it can be found in the queue-3.10 subdirectory.

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

Quoted 1 line

From 727b9784b6085c99c2f836bf4fcc2848dc9cf904 Mon Sep 17 00:00:00 2001

From: Jeff Mahoney <[email protected]>
Date: Fri, 20 Mar 2015 14:02:09 -0400
Subject: btrfs: cleanup orphans while looking up default subvolume

From: Jeff Mahoney <[email protected]>

commit 727b9784b6085c99c2f836bf4fcc2848dc9cf904 upstream.

Orphans in the fs tree are cleaned up via open_ctree and subvolume orphans are cleaned via btrfs_lookup_dentry -- except when a default subvolume is in use. The name for the default subvolume uses a manual lookup that doesn't trigger orphan cleanup and needs to trigger it manually as well. This doesn't apply to the remount case since the subvolumes are cleaned up by walking the root radix tree.

---
 fs/btrfs/super.c |    9 +++++++++
 1 file changed, 9 insertions(+)
fs/btrfs/super.c +9 -0
@@ -779,6 +779,15 @@ find_root:
 	if (btrfs_root_refs(&new_root->root_item) == 0)
 		return ERR_PTR(-ENOENT);
 
+	if (!(sb->s_flags & MS_RDONLY)) {
+		int ret;
+		down_read(&fs_info->cleanup_work_sem);
+		ret = btrfs_orphan_cleanup(new_root);
+		up_read(&fs_info->cleanup_work_sem);
+		if (ret)
+			return ERR_PTR(ret);
+	}
+
 	dir_id = btrfs_root_dirid(&new_root->root_item);
 setup_root:
 	location.objectid = dir_id;

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

queue-3.10/btrfs-cleanup-orphans-while-looking-up-default-subvolume.patch --
To unsubscribe from this list: send the line "unsubscribe stable" in