How can i read really 512 byte?

From: Milton Miller
Date: Tue Sep 30 2008 - 10:50:25 EST


On Tue, 30 Sep 2008 at 08:29:15 -0400 (EDT), Janos Haar wrote:
> Now i am working on recover some data from one defective drive. I
> am using dd_rescue, and dd, but both ready only 4K, i think, because
> the kernel's block size is 4K.
>
> I have tried to google for the solution, but only found this trick:
>
> losetup /dev/loop0 /dev/hdc
> blockdev --setbsz 512 /dev/hdc
>
> and after this set, trying to read the hdc...
>
> It looks like working on the first look, but not really. :-( The
> 512 size bad sectors still have 4K sizes, but the reading attempt
> takes more (8x ?) longer.
>
> Somebody can help me to set the reading block size to 512 byte?

You need to add O_DIRECT to the open call in the flags parameter
(the second argument). (My brother tested this a year or so ago,
and it worked for him).

milton
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/