[lkml]   [2011]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 03/17] writeback: introduce writeback_control.inodes_cleaned
    On Fri, May 13, 2011 at 06:44:20AM +0800, Dave Chinner wrote:
    > On Thu, May 12, 2011 at 09:57:09PM +0800, Wu Fengguang wrote:
    > > The flusher works on dirty inodes in batches, and may quit prematurely
    > > if the batch of inodes happen to be metadata-only dirtied: in this case
    > > wbc->nr_to_write won't be decreased at all, which stands for "no pages
    > > written" but also mis-interpreted as "no progress".
    > >
    > > So introduce writeback_control.inodes_cleaned to count the inodes get
    > > cleaned. A non-zero value means there are some progress on writeback,
    > > in which case more writeback can be tried.
    > Why introduce a new field for this?

    Yeah sorry, but this is an intermediate field that will be removed in
    patch 14.

    > Just decrement nr_to_write for every write_inode() call made in
    > writeback_single_inode()....

    There are two problems

    - nr_to_write has always been "# of pages written" and writeback_sb_inodes()
    is actually making use of it to do page accounting in work->nr_pages.

    - write_inode() does not always succeed, and its return value is not
    reliable on every filesystem.. (I actually tried this approach in v1
    and found sync(1) hang on NFS)


     \ /
      Last update: 2011-05-13 05:39    [W:0.043 / U:33.808 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site