On Wed 09-09-09 22:51:42, Wu Fengguang wrote: > Make the if-else straight in writeback_single_inode(). > No behavior change. > > Cc: Michael Rubin <mrubin@xxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Signed-off-by: Fengguang Wu <wfg@xxxxxxxxxxxxxxxx> The patch looks good. Acked-by: Jan Kara <jack@xxxxxxx> > --- > fs/fs-writeback.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > --- linux.orig/fs/fs-writeback.c 2009-09-09 21:40:41.000000000 +0800 > +++ linux/fs/fs-writeback.c 2009-09-09 21:41:14.000000000 +0800 > @@ -417,8 +417,13 @@ writeback_single_inode(struct inode *ino > spin_lock(&inode_lock); > inode->i_state &= ~I_SYNC; > if (!(inode->i_state & (I_FREEING | I_CLEAR))) { > - if (!(inode->i_state & I_DIRTY) && > - mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) { > + if (inode->i_state & I_DIRTY) { > + /* > + * Someone redirtied the inode while were writing back > + * the pages. > + */ > + redirty_tail(inode); > + } else if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) { > /* > * We didn't write back all the pages. nfs_writepages() > * sometimes bales out without doing anything. Redirty > @@ -462,12 +467,6 @@ writeback_single_inode(struct inode *ino > inode->i_state |= I_DIRTY_PAGES; > redirty_tail(inode); > } > - } else if (inode->i_state & I_DIRTY) { > - /* > - * Someone redirtied the inode while were writing back > - * the pages. > - */ > - redirty_tail(inode); > } else if (atomic_read(&inode->i_count)) { > /* > * The inode is clean, inuse > > -- > -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html