aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Josef Bacik <josef@toxicpanda.com> 2023-11-22 12:17:43 -0500
committerGravatar David Sterba <dsterba@suse.com> 2023-12-15 20:27:04 +0100
commit2496bff6e53d3ad0541a5a3f720c3f7924bb2550 (patch)
tree590791f3b3274f3ce396551fae004d40027e8c21
parentbtrfs: split out ro->rw and rw->ro helpers into their own functions (diff)
downloadlinux-2496bff6e53d3ad0541a5a3f720c3f7924bb2550.tar.gz
linux-2496bff6e53d3ad0541a5a3f720c3f7924bb2550.tar.bz2
linux-2496bff6e53d3ad0541a5a3f720c3f7924bb2550.zip
btrfs: add a NOSPACECACHE mount option flag
With the old mount API we'd pre-populate the mount options with the space cache settings of the file system, and then the user toggled them on or off with the mount options. When we switch to the new mount API the mount options will be set before we get into opening the file system, so we need a flag to indicate that the user explicitly asked for -o nospace_cache so we can make the appropriate changes after the fact. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Acked-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/disk-io.c1
-rw-r--r--fs/btrfs/fs.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 6fcb9390913e..4bac16d74179 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2955,6 +2955,7 @@ void btrfs_clear_oneshot_options(struct btrfs_fs_info *fs_info)
{
btrfs_clear_opt(fs_info->mount_opt, USEBACKUPROOT);
btrfs_clear_opt(fs_info->mount_opt, CLEAR_CACHE);
+ btrfs_clear_opt(fs_info->mount_opt, NOSPACECACHE);
}
/*
diff --git a/fs/btrfs/fs.h b/fs/btrfs/fs.h
index a3debac2819a..e6f7ee85032e 100644
--- a/fs/btrfs/fs.h
+++ b/fs/btrfs/fs.h
@@ -188,6 +188,7 @@ enum {
BTRFS_MOUNT_IGNOREBADROOTS = (1UL << 27),
BTRFS_MOUNT_IGNOREDATACSUMS = (1UL << 28),
BTRFS_MOUNT_NODISCARD = (1UL << 29),
+ BTRFS_MOUNT_NOSPACECACHE = (1UL << 30),
};
/*