Btrfs: don't clean old snapshots on sync(1)
authorChris Mason <chris.mason@oracle.com>
Thu, 12 Feb 2009 14:45:08 +0000 (09:45 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 12 Feb 2009 14:45:08 +0000 (09:45 -0500)
Cleaning old snapshots can make sync(1) somewhat slow, and some users
and applications still use it in a global fsync kind of workload.

This patch changes btrfs not to clean old snapshots during sync, which is
safe from a FS consistency point of view.  The major downside is that it
makes it difficult to tell when old snapshots have been reaped and
the space they were using has been reclaimed.  A new ioctl will be added
for this purpose instead.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/super.c

index 66b8341..19a4daf 100644 (file)
@@ -379,7 +379,6 @@ int btrfs_sync_fs(struct super_block *sb, int wait)
        btrfs_start_delalloc_inodes(root);
        btrfs_wait_ordered_extents(root, 0);
 
-       btrfs_clean_old_snapshots(root);
        trans = btrfs_start_transaction(root, 1);
        ret = btrfs_commit_transaction(trans, root);
        sb->s_dirt = 0;