hi Bryn:

2014-07-07 23:52 GMT+08:00 Bryn M. Reeves <b...@redhat.com>:
> On Mon, Jul 07, 2014 at 11:39:05PM +0800, loody wrote:
>> hi David:
>>
>> 2014-07-07 23:06 GMT+08:00 David Laight <david.lai...@aculab.com>:
>> > From: Lars Melin
>> > ...
>> >> sgread is not included in BusyBox but you should have "touch".
>> >> Create a dummy file on the disk and let cron touch it every 4 minutes.
>> >
>> > You don't need 'touch' a shell redirect eg ": >file" will do open(..., 
>> > O_CREAT|O_TRUNC).
>> > However that still might not force an actual disc access.
>> >
>> > In any case you really only want to do a read, doing a write will kill the 
>> > NAND memory.
>>
>> actually I have searched the scsi/usb layer for possible dummy read,
>> even read sector 0 is fine, but in vain.
>>
>> I found the read
>> a. determined by VFS -> block layer,
>> b. Block layer put it in queue
>> c. call scsi pre-queue function to usb layer.
>>
>> That mean if I try to read sector from usb devices, I have to create a
>> queue and follow above b) and c) rule.
>> is there any already kernel API I can use?
>>
>> sincerely appreciate all yours help,
>
> If you don't want to put sg_read into your image you could just use a dd;
> busybox includes an implementation that should be good enough.
>
> Just make sure you use the right flags to use O_DIRECT access or you'll
> just end up hammering on the page cache. Iirc that's "iflags=direct" (check
> the busybox docs to make sure it's the same).

so sg_read will not hammer on the page cache like dd without "iflags=direct"

thanks for your kind help,
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to