All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: xfs@oss.sgi.com
Subject: Re: [PATCH 3/3] free inodes using destroy_inode
Date: Wed, 22 Oct 2008 12:28:31 -0400	[thread overview]
Message-ID: <20081022162831.GA25556@infradead.org> (raw)
In-Reply-To: <20081021210633.GM25906@disturbed>

On Wed, Oct 22, 2008 at 08:06:33AM +1100, Dave Chinner wrote:
> Hmmmm - I still don't see that as possible. We don't set I_NEW until
> we are inside xfs_setup_inode(), which occurs after we insert
> the inode into the radix tree. xfs_setup_inode() also calls
> unlock_new_inode(), so the I_NEW flag is cleared before it returns,
> too. So I can't really see how this check in reclaim does anything....
> 
> AFAICT, once we've inserted the new inode into the radix tree,
> we can't get an error before xfs_setup_inode() is called - even
> in the allocation case. Hence once we're in the radix tree,
> xfs_iput_new() should be called to cleanup.
> 
> All the cases that xfs_destroy_inode() handles are before the inode
> is inserted into the radix tree, so marking the XFS inode XFS_IBAD
> in xfs_destroy_inode() is probably a much more reliable way to
> detect immediate destroy cases in the reclaim code than relying
> on I_NEW......

I've put in some instrumentation and we indeed newer hit the I_NEW
case.  I also can't reproduce the problems I saw before anymore -
in fact calling radix_tree_remove on an inode is explicitly fine
per documentation and does work.  I'll send a  reworked patch that
just uses make_inode_bad as this has passed xfsqa a few times now.

I've also removed patch 2 for now a it's not a bug fix an I'll put
it into my later series that cleans up a lot of mess in that area.

      reply	other threads:[~2008-10-22 16:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-20 22:20 [PATCH 3/3] free inodes using destroy_inode Christoph Hellwig
2008-10-21  3:07 ` Dave Chinner
2008-10-21  9:07   ` Christoph Hellwig
2008-10-21 21:06     ` Dave Chinner
2008-10-22 16:28       ` Christoph Hellwig [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081022162831.GA25556@infradead.org \
    --to=hch@infradead.org \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.