Re: Buffer state bits

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

 



On Thu 27-08-09 18:03:18, Aneesh Kumar K.V wrote:
> > 
> > BH_Mapped
> > - Buffer has a physical block backing it stored in b_bdev + b_blocknr. This bit
> >   is set by filesystem's get_block() function (or by VFS itself for block device
> >   mappings).
> > 
> >   XXX: Some filesystems set BH_Mapped even for buffers that do no really
> >   have the backing block (like buffers for delayed allocation). I think
> >   we should get rid of it...
> > 
> 
> Also we don't want get_block to be called multiple times for the same file offset.
> __block_prepare_write does get_block looking at the BH_Mapped flag. ie one of reason
> delay and unwritten buffer_heads are also marked mapped.
  Unwritten buffers should be mapped as they really have the backing block.
So that's fine.
  Delayed buffers should not be mapped. We could change the check in
__block_prepare_write to "!buffer_mapped(bh) && !buffer_delay(bh)". But I'd
rather avoid it because what I'd like to do in ext3 is to delay-allocate
mmapped blocks and allocate normally blocks written via write(2). So I want
ext3_get_block() to be called in block_prepare_write() even for delay
buffers.
   If ext4 doesn't want to do anything for delay buffers in get_block() called
from block_prepare_write(), it can just return from the beginning of
ext4_get_block() when it finds the buffer is delay...

									Honza
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux