lkml.org 
[lkml]   [2011]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] writeback: Don't wait for completion in writeback_inodes_sb_nr
    On Fri, Jul 01, 2011 at 03:55:33PM -0700, Curt Wohlgemuth wrote:
    > One other issue I have with sync as it's structured is that we don't
    > do a WB_SYNC_ALL pass on any inode that's only associated with a block
    > device, and not on a mounted filesystem. Blockdev mounts are
    > pseudo-mounts, and are explicitly skipped in __sync_filesystem(). So
    > if you've written directly to a block device and do a sync, the only
    > pass over the pages for this inode are via the
    > wakeup_flusher_threads() -- which operates on a BDI, regardless of the
    > superblock, and uses WB_SYNC_NONE.
    >
    > All the sync_filesystem() calls are per-sb, not per-BDI, and they'll
    > exclude pseudo-superblocks.

    Interesting. I think that's actually correct by the traditional
    defintion of sync, but not really useful. I also doubt it's
    intentional.

    > I've seen cases in our modified kernels here at Google in which
    > lilo/shutdown failed because of a lack of WB_SYNC_ALL writeback for
    > /dev/sda (though I haven't been able to come up with a consistent test
    > case, nor reproduce this on an upstream kernel).

    lilo really should do an fsync of the partition it installed itself
    into. That's won't only fix this issue, but also has a lot less impact
    on the rest of the system.



    \
     
     \ /
      Last update: 2011-07-02 13:35    [W:0.028 / U:0.140 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site