[Top] [All Lists]

Re: [PATCH, RFC] Delayed logging of file sizes

To: Lachlan McIlroy <lachlan@xxxxxxx>
Subject: Re: [PATCH, RFC] Delayed logging of file sizes
From: David Chinner <dgc@xxxxxxx>
Date: Mon, 26 Nov 2007 12:10:44 +1100
Cc: David Chinner <dgc@xxxxxxx>, xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <474A112D.2040006@sgi.com>
References: <47467B87.2000000@sgi.com> <20071125225928.GE114266761@sgi.com> <474A112D.2040006@sgi.com>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/
On Mon, Nov 26, 2007 at 11:19:57AM +1100, Lachlan McIlroy wrote:
> David Chinner wrote:
> >On Fri, Nov 23, 2007 at 06:04:39PM +1100, Lachlan McIlroy wrote:
> >>The easy solution is to log everything so that log replay doesn't need
> >>to check if the on-disk version is newer - it can just replay the log.
> >>But logging everything would cause too much log traffic so this patch
> >>is a compromise and it logs a transaction before we flush an inode to
> >>disk only if it has changes that have not yet been logged.
> >
> >The problem with this is that the inode will be marked dirty during the
> >transaction, so we'll never be able to clean an inode if we issue a
> >transaction during inode writeback.
> Ah, yeah, good point.  I wrote this patch back before that "dirty inode
> on transaction" patch went in.

Wouldn't have made aany difference - the inode woul dbe marked dirty
at transaction completion...

> For this transaction though the changes
> to the inode have already been made (ie when we set i_update_core and
> called mark_inode_dirty_sync()) so there is no need to dirty it in this
> transaction.  I'll keep digging.  Thanks.

I wouldn't worry too much about this problem right now - I'm working
on moving the dirty state into the inode radix trees so i_update_core
might even go away completely soon....


Dave Chinner
Principal Engineer
SGI Australian Software Group

<Prev in Thread] Current Thread [Next in Thread>