On Mon 13 Dec 2010, Adrian von Bidder wrote: > > (And: Isn't ZFS another FS with cow snapshots? So perhaps I do a variant of > the patch with an option "cow" that could be empty or set to "btrfs"?)
There's also nilfs which AFAIK also does snapshots, and there are bound to be more. Hence I suggest that the patch be reworked so that a more generic approach is taken, so that new snapshotting systems can easily be dropped in place. Concentrating purely on btrfs is not the right way to go IMHO. I'm also not entirely convinced of btrfs' stability, to tell the truth. I was trying things out with btrfs, creating subvolumes /snapshots and deleting things (often getting errors because of not yet understanding the syntax entirely) and got an OOPS... Using the latest 2.6.36.2 kernel. BUG: unable to handle kernel NULL pointer dereference at 00000000000001e0 IP: [<ffffffff810fe667>] bio_get_nr_vecs+0x7/0x30 PGD 0 Oops: 0000 [#1] SMP last sysfs file: /sys/devices/virtual/bdi/btrfs-3/uevent CPU 5 Modules linked in: loop btrfs zlib_deflate crc32c libcrc32c rtc dm_snapshot dm_mirror dm_region_hash dm_log sg arcmsr e1000e thermal evdev Pid: 4818, comm: btrfs-transacti Not tainted 2.6.36.2-vs2.3.0.36.38 #1 X8ST3/X8ST3 RIP: 0010:[<ffffffff810fe667>] [<ffffffff810fe667>] bio_get_nr_vecs+0x7/0x30 RSP: 0018:ffff880313b15aa8 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000001000 RCX: 000000000000e108 RDX: 0000000000000000 RSI: ffff8803102c6b60 RDI: ffff8803100ce980 RBP: ffff880313b15c80 R08: 0000000000001000 R09: 0000000000000000 R10: ffff8803100ce980 R11: ffff8802fb83a6c8 R12: 0000000000000100 R13: 0000000000000000 R14: 000000000000e108 R15: ffff8803102c6b60 FS: 0000000000000000(0000) GS:ffff880001940000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00000000000001e0 CR3: 0000000001603000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process btrfs-transacti (pid: 4818, threadinfo ffff880313b14000, task ffff8803108650c0) Stack: ffffffffa00bac5c 0000000000000000 ffffea000abbc948 0000000000000000 <0> 0000000000000282 0000100000000000 ffff8803100ce980 ffffffffa00bc260 <0> 0000000000000121 ffff880312814800 ffff8803102c6b60 0000000001c21000 Call Trace: [<ffffffffa00bac5c>] ? submit_extent_page+0x23c/0x2d0 [btrfs] [<ffffffffa00bc260>] ? end_bio_extent_writepage+0x0/0x180 [btrfs] [<ffffffffa00bf845>] ? __extent_writepage+0x4a5/0x710 [btrfs] [<ffffffffa00bc260>] ? end_bio_extent_writepage+0x0/0x180 [btrfs] [<ffffffffa00bff9c>] ? extent_write_full_page+0x9c/0xe0 [btrfs] [<ffffffffa0096970>] ? btree_get_extent+0x0/0x1e0 [btrfs] [<ffffffff810a0108>] ? write_one_page+0x88/0x120 [<ffffffffa009c02e>] ? btrfs_write_marked_extents+0xde/0x180 [btrfs] [<ffffffffa009c0f6>] ? btrfs_write_and_wait_marked_extents+0x26/0x60 [btrfs] [<ffffffffa009c85d>] ? btrfs_commit_transaction+0x49d/0x6d0 [btrfs] [<ffffffff81059260>] ? autoremove_wake_function+0x0/0x30 Paul _______________________________________________ Dirvish mailing list [email protected] http://www.dirvish.org/mailman/listinfo/dirvish
