[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <41e201c923cb$e06cf4e0$0400a8c0@dcccs>
Date: Wed, 1 Oct 2008 15:44:41 +0200
From: "Janos Haar" <janos.haar@...center.hu>
To: "Andrey Borzenkov" <arvidjaar@...l.ru>,
"Milton Miller" <miltonm@....com>
Cc: <linux-kernel@...r.kernel.org>
Subject: Re: How can i read really 512 byte?
----- Original Message -----
From: "Andrey Borzenkov" <arvidjaar@...l.ru>
To: "Milton Miller" <miltonm@....com>; <janos.haar@...center.hu>; "Linux
Kernel Mailing List" <linux-kernel@...r.kernel.org>
Sent: Wednesday, October 01, 2008 2:36 PM
Subject: Re: How can i read really 512 byte?
> Milton Miller wrote:
>
>>
>> On Oct 1, 2008, at 5:23 AM, Janos Haar wrote:
>>
>>>> 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
>>>
>>> Hello,
>>>
>>> Thank you for the information.
>>> Can you help me a little bit more?
>>> Where need to add this parameter?
>>> In the kernel, in the blocked's source, or in the dd_rescue's source?
>>
>> dd_rescue ... there is a call to open, add O_DIRECT to the second
>> argument and recompile. If it says unknown identifier, just copy the
>> #define from the kernel header into the dd_rescue source.
>>
>
> C'mon, really.
>
> {pts/0}% dd_rescue -h
>
> dd_rescue Version 1.14, garloff@...e.de, GNU GPL
> [...]
> -b softbs block size for copy operation (def=65536),
> -B hardbs fallback block size in case of errs (def=512),
> [...]
> -d/D use O_DIRECT for input/output (def=no),
YES! 8-)
It works! :-)
Thank you wery much for you, and Milton!
Thanks
Janos Haar
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists