[lkml]   [1999]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: fsync on large files
    >    in <linux/list.h> (as opposed to the braindamaged BSD compatibility macros
    > in <linux/lists.h>), and it's fairly trivial to just keep each dirty block
    > on two dirty lists (one inode-specific, one global - you'd still use the
    > global one for normal write-outs).
    > This works for ext2, but it doesn't work with filesystems (most notably
    > FAT filesystems, and possibly some B-tree based filesystems) where
    > metadata might be shared by multiple files, so a block might have to be
    > on multiple inode dirty lists. I had thought about using a linked list
    > architecture and threading buffer_head structures onto inode dirty
    > linked lists, but I discarded that plan since it wouldn't work for all
    > filesystems.

    As a percentage the number of 'shared blocks' is low. So just keep a single
    'might be shared list' and write that list out too.


    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:50    [W:0.023 / U:1.728 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site