]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/btrfs/super.c
Btrfs: Add a clear_cache mount option
[net-next-2.6.git] / fs / btrfs / super.c
index 5c23eb8d6ba339296568ae0047210fee3b50bf72..5f56213908e78eebe45506c936d47915d11f07c9 100644 (file)
@@ -68,7 +68,7 @@ enum {
        Opt_nodatacow, Opt_max_inline, Opt_alloc_start, Opt_nobarrier, Opt_ssd,
        Opt_nossd, Opt_ssd_spread, Opt_thread_pool, Opt_noacl, Opt_compress,
        Opt_compress_force, Opt_notreelog, Opt_ratio, Opt_flushoncommit,
-       Opt_discard, Opt_space_cache, Opt_err,
+       Opt_discard, Opt_space_cache, Opt_clear_cache, Opt_err,
 };
 
 static match_table_t tokens = {
@@ -93,6 +93,7 @@ static match_table_t tokens = {
        {Opt_ratio, "metadata_ratio=%d"},
        {Opt_discard, "discard"},
        {Opt_space_cache, "space_cache"},
+       {Opt_clear_cache, "clear_cache"},
        {Opt_err, NULL},
 };
 
@@ -239,6 +240,9 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
                case Opt_space_cache:
                        printk(KERN_INFO "btrfs: enabling disk space caching\n");
                        btrfs_set_opt(info->mount_opt, SPACE_CACHE);
+               case Opt_clear_cache:
+                       printk(KERN_INFO "btrfs: force clearing of disk cache\n");
+                       btrfs_set_opt(info->mount_opt, CLEAR_CACHE);
                        break;
                case Opt_err:
                        printk(KERN_INFO "btrfs: unrecognized mount option "