diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-01-29 16:03:38 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:00 -0400 |
commit | 6f568d35a045dbb8a13fe71bfc32e85e39a986cb (patch) | |
tree | df5cb5826dfb46a2514bfba34f8473dc65ea7081 /fs/btrfs/super.c | |
parent | 291d673e6a22d9c6834e939f66c7cfef90669021 (diff) |
Btrfs: mount -o max_inline=size to control the maximum inline extent size
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r-- | fs/btrfs/super.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index f8a1016600b1..a46300c4753a 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -64,7 +64,7 @@ static void btrfs_put_super (struct super_block * sb) | |||
64 | 64 | ||
65 | enum { | 65 | enum { |
66 | Opt_subvol, Opt_nodatasum, Opt_nodatacow, Opt_max_extent, | 66 | Opt_subvol, Opt_nodatasum, Opt_nodatacow, Opt_max_extent, |
67 | Opt_alloc_start, Opt_nobarrier, Opt_ssd, Opt_err, | 67 | Opt_max_inline, Opt_alloc_start, Opt_nobarrier, Opt_ssd, Opt_err, |
68 | }; | 68 | }; |
69 | 69 | ||
70 | static match_table_t tokens = { | 70 | static match_table_t tokens = { |
@@ -73,6 +73,7 @@ static match_table_t tokens = { | |||
73 | {Opt_nodatacow, "nodatacow"}, | 73 | {Opt_nodatacow, "nodatacow"}, |
74 | {Opt_nobarrier, "nobarrier"}, | 74 | {Opt_nobarrier, "nobarrier"}, |
75 | {Opt_max_extent, "max_extent=%s"}, | 75 | {Opt_max_extent, "max_extent=%s"}, |
76 | {Opt_max_inline, "max_inline=%s"}, | ||
76 | {Opt_alloc_start, "alloc_start=%s"}, | 77 | {Opt_alloc_start, "alloc_start=%s"}, |
77 | {Opt_ssd, "ssd"}, | 78 | {Opt_ssd, "ssd"}, |
78 | {Opt_err, NULL} | 79 | {Opt_err, NULL} |
@@ -178,6 +179,22 @@ static int parse_options (char * options, | |||
178 | } | 179 | } |
179 | } | 180 | } |
180 | break; | 181 | break; |
182 | case Opt_max_inline: | ||
183 | if (info) { | ||
184 | char *num = match_strdup(&args[0]); | ||
185 | if (num) { | ||
186 | info->max_inline = | ||
187 | btrfs_parse_size(num); | ||
188 | kfree(num); | ||
189 | |||
190 | info->max_inline = max_t(u64, | ||
191 | info->max_inline, | ||
192 | root->sectorsize); | ||
193 | printk("btrfs: max_inline at %Lu\n", | ||
194 | info->max_inline); | ||
195 | } | ||
196 | } | ||
197 | break; | ||
181 | case Opt_alloc_start: | 198 | case Opt_alloc_start: |
182 | if (info) { | 199 | if (info) { |
183 | char *num = match_strdup(&args[0]); | 200 | char *num = match_strdup(&args[0]); |