On Thu, Feb 18, 2010 at 03:21:49PM +0100, Mr. Tux wrote: > > Hi list > > I tried to copy data from btrfs raid1 to another btrfs raid1 array. To > increase the input/output blocksize from 512k to something bigger (4096k) I > used dd_rescue. > > zeros.bin input file is a 1GB size clone of /dev/zero: dd_rescue -vwdDm1G > /dev/zero /mnt/xxx/zeros.bin > > now the actual copying process from /mnt/xxx to /mnt/yyy : > > dd_rescue -vwdDm1 /mnt/xxx/zeros.bin /mnt/yyy/zeros.bin > > resulting in this error message and no data written into /mnt/yyy : > > dd_rescue: (warning): O_DIRECT requires hardbs of at least 4096! > dd_rescue: (warning): We don't handle misalignment of last block w/ O_DIRECT! > dd_rescue: (info): about to transfer 0.0 kBytes from /mnt/xxx/zeros.bin to > /mnt/yyy/zeros.bin > dd_rescue: (info): blocksizes: soft 65536, hard 4096 > dd_rescue: (info): starting positions: in 0.0k, out 0.0k > dd_rescue: (info): Logfile: (none), Maxerr: 0 > dd_rescue: (info): Reverse: no , Trunc: no , interactive: no > dd_rescue: (info): abort on Write errs: yes, spArse write: if err > dd_rescue: (info): ipos: 0.0k, opos: 0.0k, xferd: 0.0k > errs: 0, errxfer: 0.0k, succxfer: 0.0k > +curr.rate: 0kB/s, avg.rate: 0kB/s, avg.load: 0.0% > dd_rescue: (info): problems at ipos 0.0k: Invalid argument > fall back to smaller blocksize > dd_rescue: (info): ipos: 0.0k, opos: 0.0k, xferd: 0.0k > * errs: 0, errxfer: 0.0k, succxfer: 0.0k > +curr.rate: 0kB/s, avg.rate: 0kB/s, avg.load: 0.0% > dd_rescue: (warning): /mnt/xxx/zeros.bin (0.0k): Invalid argument! > > > > Bad block: 0 > dd_rescue: (info): ipos 0.0k promote to large bs again! > > > > Summary for /mnt/xxx/zeros.bin -> /mnt/yyy/zeros.bin: > dd_rescue: (info): ipos: 0.0k, opos: 0.0k, xferd: 0.0k > errs: 1, errxfer: 0.0k, succxfer: 0.0k > +curr.rate: 10kB/s, avg.rate: 0kB/s, avg.load: 0.0% > > ---------------- > > If I don't use "dD" option it runs fine with a 512k blocksize > > * OS in use is debian/squeeze > * kernel: 2.6.32-trunk-686 (linux-image-2.6.32-trunk-686) > * apt-cache policy btrfs-tools > btrfs-tools: > installed: 0.19-8 > candidate: 0.19-8 > > Raids where created like this: > > mkfs.btrfs -d raid1 -m raid1 /dev/sdb1 /dev/sdc1 > mkfs.btrfs -d raid1 -m raid1 /dev/sdb2 /dev/sdc2 > > cat /proc/mounts | grep btrfs > /dev/sdb1 /mnt/xxx btrfs rw,relatime 0 0 > /dev/sdb2 /mnt/yyy btrfs rw,relatime 0 0 > > I believe this is a bug - feel free to share your thoughts >
O_DIRECT isn't supported on btrfs yet, which is why it fails. Josef -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html