[lkml]   [1999]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch] [possible race in ext2] Re: how to write get_block?

    On 11 Oct 1999 17:58:54 -0500, (Eric W. Biederman)

    > What about adding to the end of ext2_alloc_block:

    > bh = get_hash_table(inode->i_dev, result, inode->i_sb->s_blocksize);
    > /* something is playing with our fresh block, make them stop. ;-) */
    > if (bh) {
    > if (buffer_dirty(bh)) {
    > mark_buffer_clean(bh);
    > wait_on_buffer(bh);
    > }
    > bforget(bh);
    > }

    Again, it's a lot of extra unnecessary lookups. The advantages of
    having a dirty buffer list include being fast, and also massively
    speeding up the metadata update part of fsync.

    > Ultimately we really want to have indirect blocks, and
    > the directory in the page cache as it should result in
    > more uniform code, and faster partial truncates (as well as faster
    > syncs).

    There is one major potential future problem with moving this to the page
    cache. At some point I want to be able to extend the large (64G) memory
    support on Intel to include the page cache in high memory. The buffer
    cache would still live in low memory. If we do that, then moving
    filesystem metadata out of permanently-mapped buffer memory and into the
    page cache is going to complicate directory and indirect operations


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:54    [W:0.022 / U:4.432 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site