Skip to contentSkip to conversation

btrfs: Add a new mount option to grow the FS to the limit of the device

PATCH Superseded Donggeun Kim 3 participants 8 messages Aug 2, 2010 – Aug 4, 2010 Btrfs file system

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 btrfs: Add a new mount option to grow the FS to the limit of the device

In some cases, resizing a file system to the maximum device size is required. When flashing a file system image to a block device,
the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way
to grow the file system to the limit of the device.
If the mount option which alters the device size of a file system to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' program. This patch allows the file system to grow to the maximum size of the device on mount time.
The new mount option name is 'maxsize'.

Thank you.

---
 fs/btrfs/ctree.h   |    1 +
 fs/btrfs/disk-io.c |   30 ++++++++++++++++++++++++++++++
 fs/btrfs/super.c   |    8 +++++++-
 3 files changed, 38 insertions(+), 1 deletions(-)
fs/btrfs/ctree.h +1 -0
index e9bf864..ee71964 100644
@@ -1192,6 +1192,7 @@ struct btrfs_root {
 #define BTRFS_MOUNT_NOSSD		(1 << 9)
 #define BTRFS_MOUNT_DISCARD		(1 << 10)
 #define BTRFS_MOUNT_FORCE_COMPRESS      (1 << 11)
+#define BTRFS_MOUNT_MAXSIZE		(1 << 12)
 
 #define btrfs_clear_opt(o, opt)		((o) &= ~BTRFS_MOUNT_##opt)
 #define btrfs_set_opt(o, opt)		((o) |= BTRFS_MOUNT_##opt)
fs/btrfs/disk-io.c +30 -0
index 34f7c37..a1abf7c 100644
@@ -1533,6 +1533,9 @@ struct btrfs_root *open_ctree(struct super_block *sb,
 	u32 stripesize;
 	u64 generation;
 	u64 features;
+	u64 dev_max_size;
+	u64 dev_old_size;
+	u64 devid;
 	struct btrfs_key location;
 	struct buffer_head *bh;
 	struct btrfs_root *extent_root = kzalloc(sizeof(struct btrfs_root),
@@ -1554,6 +1557,9 @@ struct btrfs_root *open_ctree(struct super_block *sb,
 
 	struct btrfs_super_block *disk_super;
 
+	struct btrfs_trans_handle *trans;
+	struct btrfs_device *device;
+
 	if (!extent_root || !tree_root || !fs_info ||
 	    !chunk_root || !dev_root || !csum_root) {
 		err = -ENOMEM;
@@ -1928,6 +1934,30 @@ struct btrfs_root *open_ctree(struct super_block *sb,
 		btrfs_set_opt(fs_info->mount_opt, SSD);
 	}
 
+	if (btrfs_test_opt(tree_root, MAXSIZE)) {
+		devid = fs_devices->latest_devid;
+		device = btrfs_find_device(tree_root, devid, NULL, NULL);
+		if (!device) {
+			printk(KERN_WARNING "resizer unable to "
+				"find device %llu\n",
+				(unsigned long long)devid);
+			goto fail_trans_kthread;
+		}
+		dev_max_size = device->bdev->bd_inode->i_size;
+		dev_old_size = device->total_bytes;
+		if (dev_max_size > dev_old_size) {
+			trans = btrfs_start_transaction(tree_root, 0);
+			ret = btrfs_grow_device(trans, device, dev_max_size);
+			if (ret)
+				printk(KERN_INFO "unable to resize for %s\n",
+					device->name);
+			else
+				printk(KERN_INFO "new size for %s is %llu\n",
+					device->name, dev_max_size);
+			btrfs_commit_transaction(trans, tree_root);
+		}
+	}
+
 	if (btrfs_super_log_root(disk_super) != 0) {
 		u64 bytenr = btrfs_super_log_root(disk_super);
 
fs/btrfs/super.c +7 -1
index 859ddaa..d6b8cf2 100644
@@ -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_err,
+	Opt_discard, Opt_maxsize, Opt_err,
 };
 
 static match_table_t tokens = {
@@ -92,6 +92,7 @@ static match_table_t tokens = {
 	{Opt_flushoncommit, "flushoncommit"},
 	{Opt_ratio, "metadata_ratio=%d"},
 	{Opt_discard, "discard"},
+	{Opt_maxsize, "maxsize"},
 	{Opt_err, NULL},
 };
 
@@ -235,6 +236,9 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
 		case Opt_discard:
 			btrfs_set_opt(info->mount_opt, DISCARD);
 			break;
+		case Opt_maxsize:
+			btrfs_set_opt(info->mount_opt, MAXSIZE);
+			break;
 		case Opt_err:
 			printk(KERN_INFO "btrfs: unrecognized mount option "
 			       "'%s'\n", p);
@@ -541,6 +545,8 @@ static int btrfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
 		seq_puts(seq, ",flushoncommit");
 	if (btrfs_test_opt(root, DISCARD))
 		seq_puts(seq, ",discard");
+	if (btrfs_test_opt(root, MAXSIZE))
+		seq_puts(seq, ",maxsize");
 	if (!(root->fs_info->sb->s_flags & MS_POSIXACL))
 		seq_puts(seq, ",noacl");
 	return 0;
Signature · 1 line
1.6.3.3
#1 lore raw
Quoted 11 lines · Donggeun Kim

In some cases, resizing a file system to the maximum device size is required. When flashing a file system image to a block device,
the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way
to grow the file system to the limit of the device.
If the mount option which alters the device size of a file system to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' program. This patch allows the file system to grow to the maximum size of the device on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please change the patch to allow controlling which device is resized?

The ioctl allows you to pass in a device number (where the number comes from btrfs-show)

Thanks!

-chris

#2 lore raw
Quoted 16 lines · Chris Mason
Quoted 11 lines · Donggeun Kim

In some cases, resizing a file system to the maximum device size is required. When flashing a file system image to a block device,
the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way
to grow the file system to the limit of the device.
If the mount option which alters the device size of a file system to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' program. This patch allows the file system to grow to the maximum size of the device on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please change the patch to allow controlling which device is resized?

Quoted 7 lines

The ioctl allows you to pass in a device number (where the number comes from btrfs-show)

Thanks!

-chris

I'm sorry not to fully understand your comment.
Do you mean that device file name for being resized is specified after 'maxsize' mount option? e.g) #mount -o maxsize=/dev/sda1 ...

Thank you.

#3 lore raw
Quoted 20 lines · Donggeun Kim
Quoted 19 lines · Chris Mason
Quoted 11 lines · Donggeun Kim

In some cases, resizing a file system to the maximum device size is required. When flashing a file system image to a block device,
the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way
to grow the file system to the limit of the device.
If the mount option which alters the device size of a file system to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' program. This patch allows the file system to grow to the maximum size of the device on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please change the patch to allow controlling which device is resized?

The ioctl allows you to pass in a device number (where the number comes from btrfs-show)

Quoted 7 lines
Quoted 4 lines

Thanks!

-chris

I'm sorry not to fully understand your comment.
Do you mean that device file name for being resized is specified after 'maxsize' mount option? e.g) #mount -o maxsize=/dev/sda1 ...

In the resize ioctl you can pass a device number, something like 2:max, which allows you to say make device #2 the full size of the device.

btrfs-show can be used to find the correct device number for a given disk. We don't use the device name because the scan might have found a different device name to tie into the FS.

Thanks,
Chris

#4 lore raw

On Wed, Aug 4, 2010 at 10:30 PM, Chris Mason <[email protected]> w= rote:

Quoted 4 lines · Donggeun Kim
Quoted 3 lines
Quoted 2 lines · Chris Mason
Quoted 1 line · Donggeun Kim

In some cases, resizing a file system to the maximum device size =

is required.

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

When flashing a file system image to a block device, the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way to grow the file system to the limit of the device.
If the mount option which alters the device size of a file system to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' progra=

m.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

This patch allows the file system to grow to the maximum size of =

the device

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines

on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please change=

the

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

patch to allow controlling which device is resized?

The ioctl allows you to pass in a device number (where the number =

comes

Quoted 8 lines
Quoted 8 lines
Quoted 6 lines

from btrfs-show)

Thanks!

-chris

I'm sorry not to fully understand your comment.
Do you mean that device file name for being resized is specified aft=

er 'maxsize' mount option?

Quoted 3 lines
Quoted 1 line

e.g) #mount -o maxsize=3D/dev/sda1 ...

In the resize ioctl you can pass a device number, something like 2:ma=

x,

Quoted 4 lines

which allows you to say make device #2 the full size of the device.

btrfs-show can be used to find the correct device number for a given disk. =A0We don't use the device name because the scan might have fou=

nd a

Quoted 4 lines

different device name to tie into the FS.

Thanks,
Chris

Before comments this issues. I first explain why this feature implement= ed.

As you know, we implement the build image from some specific directory. the size is maybe small than designed devices. e.g., build image got the 400MiB but real device size has more the 8GiB. after program the btrfs image, then it will be expanded at first boot o= nly.

Initial draft design is that add the some flag at build image. then it checks it at first mount time. and expand to device size. But after some study we know that btrfs supports resize feature. So we implement it as patch.
Anyway that's our requirement.

as you provided usage, can you use the ioctl to achieve this requirement? if not, we need to another method.

Please give your ideas.

Thank you,
Kyungmin Park
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
Quoted 1 line · Kyungmin Park

On Wed, Aug 4, 2010 at 10:30 PM, Chris Mason <[email protected]>=

Quoted 4 lines · wrote:
Quoted 4 lines · Donggeun Kim
Quoted 3 lines
Quoted 2 lines · Chris Mason
Quoted 1 line · Donggeun Kim

In some cases, resizing a file system to the maximum device siz=

e is required.

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

When flashing a file system image to a block device, the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way to grow the file system to the limit of the device.
If the mount option which alters the device size of a file syst=

em

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' prog=

ram.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

This patch allows the file system to grow to the maximum size o=

f the device

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines

on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please chan=

ge the

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

patch to allow controlling which device is resized?

The ioctl allows you to pass in a device number (where the numbe=

r comes

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 6 lines

from btrfs-show)

Thanks!

-chris

I'm sorry not to fully understand your comment.
Do you mean that device file name for being resized is specified a=

fter 'maxsize' mount option?

Quoted 3 lines
Quoted 3 lines
Quoted 1 line

e.g) #mount -o maxsize=3D/dev/sda1 ...

In the resize ioctl you can pass a device number, something like 2:=

max,

Quoted 3 lines
Quoted 3 lines

which allows you to say make device #2 the full size of the device.

btrfs-show can be used to find the correct device number for a give=

n

Quoted 1 line
Quoted 1 line

disk. =A0We don't use the device name because the scan might have f=

ound a

Quoted 6 lines
Quoted 4 lines

different device name to tie into the FS.

Thanks,
Chris

=20
Before comments this issues. I first explain why this feature impleme=

nted.

Quoted 5 lines

=20
As you know, we implement the build image from some specific directory. the size is maybe small than designed devices. e.g., build image got the 400MiB but real device size has more the 8GiB. after program the btrfs image, then it will be expanded at first boot=

only.

Yes, and this makes a lot of sense to me. I can see how the patch fits your usage and that you don't need the extra flag to pick a device on mounting.

Quoted 2 lines

=20
Initial draft design is that add the some flag at build image. then i=

t

Quoted 2 lines

checks it at first mount time. and expand to device size. But after some study we know that btrfs supports resize feature. So w=

e

Quoted 5 lines

implement it as patch.
Anyway that's our requirement.
=20
as you provided usage, can you use the ioctl to achieve this requirement? if not, we need to another method.

Yes, the ioctl can currently pick a device to resize. In your case, there will only be one device and this isn't an issue. But, I'd like t= o
see parity between what the mount option can do and what the ioctl can do, just so we are a little more consistent.

-chris

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#6 lore raw

On Wed, Aug 4, 2010 at 10:47 PM, Chris Mason <[email protected]> w= rote:

Quoted 7 lines · Kyungmin Park
Quoted 1 line

On Wed, Aug 4, 2010 at 10:30 PM, Chris Mason <[email protected]=

Quoted 4 lines · wrote:
Quoted 4 lines · Donggeun Kim
Quoted 3 lines
Quoted 2 lines · Chris Mason
Quoted 1 line · Donggeun Kim

In some cases, resizing a file system to the maximum device si=

ze is required.

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

When flashing a file system image to a block device, the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way to grow the file system to the limit of the device. If the mount option which alters the device size of a file sys=

tem

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' pro=

gram.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

This patch allows the file system to grow to the maximum size =

of the device

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines

on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please cha=

nge the

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

patch to allow controlling which device is resized?

The ioctl allows you to pass in a device number (where the numb=

er comes

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 6 lines

from btrfs-show)

Thanks!

-chris

I'm sorry not to fully understand your comment.
Do you mean that device file name for being resized is specified =

after 'maxsize' mount option?

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 1 line

e.g) #mount -o maxsize=3D/dev/sda1 ...

In the resize ioctl you can pass a device number, something like 2=

:max,

Quoted 1 line
Quoted 1 line
Quoted 1 line

which allows you to say make device #2 the full size of the device=

=2E

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

btrfs-show can be used to find the correct device number for a giv=

en

Quoted 1 line
Quoted 1 line
Quoted 1 line

disk. =A0We don't use the device name because the scan might have =

found a

Quoted 6 lines
Quoted 6 lines
Quoted 4 lines

different device name to tie into the FS.

Thanks,
Chris

Before comments this issues. I first explain why this feature implem=

ented.

Quoted 3 lines
Quoted 3 lines

As you know, we implement the build image from some specific directory. the size is maybe small than designed devices. e.g., buil=

d

Quoted 2 lines
Quoted 2 lines

image got the 400MiB but real device size has more the 8GiB. after program the btrfs image, then it will be expanded at first boo=

t only.

Quoted 2 lines

Yes, and this makes a lot of sense to me. =A0I can see how the patch =

fits

Quoted 5 lines

your usage and that you don't need the extra flag to pick a device on mounting.

Quoted 2 lines

Initial draft design is that add the some flag at build image. then =

it

Quoted 2 lines
Quoted 2 lines

checks it at first mount time. and expand to device size. But after some study we know that btrfs supports resize feature. So =

we

Quoted 7 lines
Quoted 5 lines

implement it as patch.
Anyway that's our requirement.

as you provided usage, can you use the ioctl to achieve this requirement? if not, we need to another method.

Yes, the ioctl can currently pick a device to resize. =A0In your case=

,

Quoted 1 line

there will only be one device and this isn't an issue. =A0But, I'd li=

ke to

Quoted 1 line

see parity between what the mount option can do and what the ioctl ca=

n

Quoted 2 lines

do, just so we are a little more consistent.

Then when call the ioctl? in the phone. the boot script is almost fixed. and not easy to check first boot.
Mr. Kim said the check real size happen every time at mount if apply patch. but it don't take time if it's already expanded. I think ioctl has also same problem. if we use this method.
I don't want to call ioctl at every boot time. does it just my hope?

Thank you,
Kyungmin Park

Quoted 2 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#7 lore raw
Quoted 1 line · Kyungmin Park

On Wed, Aug 4, 2010 at 10:47 PM, Chris Mason <[email protected]>=

Quoted 2 lines · wrote:
Quoted 2 lines · Kyungmin Park
Quoted 1 line

On Wed, Aug 4, 2010 at 10:30 PM, Chris Mason <[email protected]=

Quoted 4 lines · om> wrote:
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines · Donggeun Kim
Quoted 3 lines
Quoted 2 lines · Chris Mason
Quoted 1 line · Donggeun Kim

In some cases, resizing a file system to the maximum device =

size is required.

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

When flashing a file system image to a block device, the file system does not fit into the block device's size. Currently, executing 'btrfsctl' application is the only way to grow the file system to the limit of the device. If the mount option which alters the device size of a file s=

ystem

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

to the limit of the device is supported,
it can be useful regardless of the existence of 'btrfsctl' p=

rogram.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

This patch allows the file system to grow to the maximum siz=

e of the device

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines

on mount time.
The new mount option name is 'maxsize'.

I think this is a very useful feature, but could you please c=

hange the

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

patch to allow controlling which device is resized?

The ioctl allows you to pass in a device number (where the nu=

mber comes

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 6 lines

from btrfs-show)

Thanks!

-chris

I'm sorry not to fully understand your comment.
Do you mean that device file name for being resized is specifie=

d after 'maxsize' mount option?

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 1 line

e.g) #mount -o maxsize=3D/dev/sda1 ...

In the resize ioctl you can pass a device number, something like=

2:max,

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

which allows you to say make device #2 the full size of the devi=

ce.

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

btrfs-show can be used to find the correct device number for a g=

iven

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

disk. =A0We don't use the device name because the scan might hav=

e found a

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 4 lines

different device name to tie into the FS.

Thanks,
Chris

Before comments this issues. I first explain why this feature impl=

emented.

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

As you know, we implement the build image from some specific directory. the size is maybe small than designed devices. e.g., bu=

ild

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

image got the 400MiB but real device size has more the 8GiB. after program the btrfs image, then it will be expanded at first b=

oot only.

Quoted 2 lines
Quoted 2 lines

Yes, and this makes a lot of sense to me. =A0I can see how the patc=

h fits

Quoted 1 line
Quoted 1 line

your usage and that you don't need the extra flag to pick a device =

on

Quoted 4 lines
Quoted 4 lines

mounting.

Quoted 2 lines

Initial draft design is that add the some flag at build image. the=

n it

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

checks it at first mount time. and expand to device size. But after some study we know that btrfs supports resize feature. S=

o we

Quoted 7 lines
Quoted 7 lines
Quoted 5 lines

implement it as patch.
Anyway that's our requirement.

as you provided usage, can you use the ioctl to achieve this requirement? if not, we need to another method.

Yes, the ioctl can currently pick a device to resize. =A0In your ca=

se,

Quoted 1 line
Quoted 1 line

there will only be one device and this isn't an issue. =A0But, I'd =

like to

Quoted 1 line
Quoted 1 line

see parity between what the mount option can do and what the ioctl =

can

Quoted 9 lines
Quoted 2 lines

do, just so we are a little more consistent.

=20
Then when call the ioctl? in the phone. the boot script is almost fixed. and not easy to check first boot.
Mr. Kim said the check real size happen every time at mount if apply patch. but it don't take time if it's already expanded. I think ioctl has also same problem. if we use this method.
I don't want to call ioctl at every boot time. does it just my hope?

Sorry, I didn't explain this very well.

Right now you have mount -o maxsize /dev/xxx

I'd like to keep that functionality unchanged, but make it possible to also do:

mount -o maxsize=3D2 /dev/xxxx

Which would extend only device id 2.

This would keep similar functionality to what the ioctl can do, but still let you do it at mount time. Does this make more sense?

-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html