[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Sep 2009 17:45:17 +0200
From: Jan Kara <jack@...e.cz>
To: Wu Fengguang <fengguang.wu@...el.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Jens Axboe <jens.axboe@...cle.com>,
Dave Chinner <david@...morbit.com>,
Chris Mason <chris.mason@...cle.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Christoph Hellwig <hch@...radead.org>, jack@...e.cz,
Artem Bityutskiy <dedekind1@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
linux-fsdevel@...r.kernel.org
Subject: Re: [RFC][PATCH 1/7] writeback: cleanup writeback_single_inode()
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@...gle.com>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Signed-off-by: Fengguang Wu <wfg@...l.ustc.edu.cn>
The patch looks good.
Acked-by: Jan Kara <jack@...e.cz>
> ---
> 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@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists