BTrFS crashhhh?

我使用两个250GB驱动器创build一个新的BTrFS raid10文件系统,第三个80GB驱动器创build第二个分区。 我创build一个subvol和快照。 我装载快照并开始复制8GB的数据。 它达到1GB左右,桌面消失,看起来像一个非交互式terminal与转储/崩溃信息。 我没有相机方便,或者我会拍张照片。 它基本上看起来像堆栈跟踪信息。 CTRL-ALT F7最终将带回桌面,但是整个BTrFS部分的操作系统是挂起和不响应,直到我重新启动。

我已经重新格式化,现在转载了这个问题3次,我即将放弃:(

我意识到这是可能的,这个问题不是完全BTrFS的错,因为我在natty这仍然是阿尔法。

如果我是一个白痴,更细节的细节:

1) Create FS: sudo mkfs.btrfs -m raid10 -d raid10 /dev/sda2 /dev/sdb /dev/sdc 2) Initial temporary mount: mkdir /btrfs && sudo mount -t btrfs /dev/sda2 /btrfs 3) Create subvol btrfs sc /btrfs/vm 4) Create initial snapshot: (optional) btrfs s sn /btrfs/cantremember.snap.something 5)unmount /btrfs and mount /btrfs/vm sudo mount -t btrfs -o subvol=vm /dev/sda2 /btrfs/vm 6) Copy data to subvolume. 7) Balance data across drives: (optional) btrfs f bal <path> 

(永远不要走到这一步7 …)我做错了什么?

编辑:我设法赶上backtrace /崩溃信息的尾端:

内核BUG在/build/buildd/linux-2.6.38/fs/btrfs/extent-tree.c:8581

编辑2:从raid10arrays中删除最小(46GB)的分区似乎已经消除了这个问题。

从它的声音,你遇到这个:

分配是在循环的基础上完成的。 如果您在由不匹配的驱动器(不同大小的卷)组成的卷上执行raid1策略,则较小的卷可能会填满,而在单个最大的驱动器上留出大量空间。 如果'df'和'btrfs filesystem df [mountpoint]'之间有任何差异,并且后者命令也显示“Data”行上的“total”和“used”相同,则可以validation这是一个问题。 重新平衡可以减轻这个问题。 (2.6.33)

  • 如果您的音量确实如此填满,重新平衡可能会很快导致ENOSPC(“设备上遗留的错误无法保存”)oops。 你可能不得不删除一个相对较大的文件来解决这个僵局,那么重新平衡就会成功。 (2.6.33)

https://btrfs.wiki.kernel.org/index.php/Gotchas

Emphassis矿。 你提到的第三个80GB硬盘上的第二个分区可能在250GB硬盘之前就已经填满了,这就引发了这个特殊的问题。

另外,BTrFS是一个beta文件系统的原因。

我会参考你: http : //packages.ubuntu.com/natty/btrfs-tools其中说:

警告:Btrfs正处于重大的发展阶段,不适用于基准testing和审查以外的任何其他用途。

我怀疑你会得到邮件列表之外的许多帮助。