Chris Mason wrote:
> Well, apparently I get get the silly stuff wrong an infinite number of
> times.  Sorry, lets try again:
> 
> diff -r 38b36aaaa731 disk-io.c
> --- a/disk-io.c       Fri Jun 15 13:50:20 2007 -0400
> +++ b/disk-io.c       Fri Jun 15 16:52:38 2007 -0400
> @@ -541,6 +541,8 @@ int write_ctree_super(struct btrfs_trans
>       else
>               ret = submit_bh(WRITE, bh);
>       if (ret == -EOPNOTSUPP) {
> +             get_bh(bh);
> +             lock_buffer(bh);
>               set_buffer_uptodate(bh);
>               root->fs_info->do_barriers = 0;
>               ret = submit_bh(WRITE, bh);
> 

ha! it is working now. some numbers from here(with the fio-tool):

1. sequential read
2. random writes
3. sequential read again

filesize:300MB, bs:4K

   btrfs                  reiserfs               ext3
   usr% sys% bw   sec.    usr% sys% bw   sec.    usr% sys% bw   sec.
1  5    51   68.3 4.6     1    17   67.4 4.6     5    24   68.0 4.6
2  0    1    0.7  431     2    21   29.8 10.5    3    18   29.0 10.8
3  0    1    2.3  133     1    19   70.5 4.4     5    24   68.6 4.5

bw: MB/sec.
ext3: -o data=writeback,barrier=1

20GB LVM2 partition on a RAID6 (4 SATA-disks)

cheers,
florian
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to