[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] biosdisk / open_device() messing up offsets

From: Bean
Subject: Re: [PATCH] biosdisk / open_device() messing up offsets
Date: Fri, 13 Jun 2008 12:39:48 +0800

On Fri, Jun 13, 2008 at 12:31 PM, Pavel Roskin <address@hidden> wrote:
> Quoting Bean <address@hidden>:
>> After more thoughts, I think the current method still have problem.
>> grub_disk_read reads up to 8192 bytes at a time, which can be larger
>> than the block size.
> But we never ask grub_disk_read() to read across the block boundary in
> grub_fshelp_read().  The code takes care of it.  I assume grub_disk_read()
> would not write more than requested to the buffer.

grub_disk_read would attempt to read up to GRUB_DISK_CACHE_SIZE and
put the result in a cache, then copy the necessary part to output.

>> Unless all or none of the sectors in the same
>> block is mapped, we end up reading the wrong sector. So we need to do
>> the mapping inside grub_disk_read.
> But mapping is done for blocks, not for sectors.  grub_fshelp_map_block()
> clearly assumes that for every filesystem.

block size is fs related, but most are less than 8192 bytes.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]