* [PATCH] btrfs: cleanup orphans while looking up default subvolume
@ 2015-03-20 18:02 Jeff Mahoney
2015-03-23 23:51 ` David Sterba
0 siblings, 1 reply; 2+ messages in thread
From: Jeff Mahoney @ 2015-03-20 18:02 UTC (permalink / raw)
To: linux-btrfs
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.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
fs/btrfs/super.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 05fef19..e477ed6 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -901,6 +901,15 @@ find_root:
if (IS_ERR(new_root))
return ERR_CAST(new_root);
+ 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;
--
1.8.5.6
--
Jeff Mahoney
SUSE Labs
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] btrfs: cleanup orphans while looking up default subvolume
2015-03-20 18:02 [PATCH] btrfs: cleanup orphans while looking up default subvolume Jeff Mahoney
@ 2015-03-23 23:51 ` David Sterba
0 siblings, 0 replies; 2+ messages in thread
From: David Sterba @ 2015-03-23 23:51 UTC (permalink / raw)
To: Jeff Mahoney; +Cc: linux-btrfs
On Fri, Mar 20, 2015 at 02:02:09PM -0400, Jeff Mahoney wrote:
> 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.
>
> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reviewed-by: David Sterba <dsterba@suse.cz>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-03-23 23:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-20 18:02 [PATCH] btrfs: cleanup orphans while looking up default subvolume Jeff Mahoney
2015-03-23 23:51 ` David Sterba
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.