On Wednesday 09 April 2008, Chris Mason wrote: > Still todo: properly mirror the super blocks. If you're testing the mirror > code, don't overwrite anything before 20k into the drive...the super blocks > don't get mirrored today. > > Also, btrfs-progs doesn't retry IO on different mirrors yet, only the > kernel does this. I'll tackle both problems tomorrow. Ok, both the kernel and userland will now use duplicate copies to resolve checksumming errors. They also both write out proper copies of the super block to every device. One thing missing is that if a device super block is corrupted there's no way to force the filesystem to mount, even when there are redundant copies of everything. This is easy enough to fix, I just haven't quite gotten there yet. Today's push also includes minimal O_DIRECT support. For O_DIRECT writes, it just does a buffered write followed by a cache flush. O_DIRECT reads are done directly to the disk, skipping the checksum step. Later releases will have real O_DIRECT support via the extent_io code, but this is a band-aid for benchmarking until then. On huge IO subsystems, it helps to know if the lack of throughput is a layout problem or if it comes from pdflush doing non-optimal write out. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
