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 _________________________________________________________________ http://redirect.gimas.net/?n=M1002xHMValentin2 Herzig: Verschicke fertige Liebesgrüße als E-Mail! -- 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