xfs
[Top] [All Lists]

[PULL REQUEST] vfs/xfs: fix freeing of inodes not yet added to the inode

To: torvalds@xxxxxxxxxxxxxxxxxxxx, felixb@xxxxxxx
Subject: [PULL REQUEST] vfs/xfs: fix freeing of inodes not yet added to the inode cache
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Fri, 7 Aug 2009 13:34:23 -0400
Cc: xfs@xxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx
User-agent: Mutt/1.5.19 (2009-01-05)
Hi Linus, hi Felix,

not sure which way this should go, especially with Al being offline,
it's a fix for an XFS only bug, but mostly touching the VFS.

These three patches fix problems we intorduced when redoing the XFS
inode caching in 2.6.29 (yes, that long ago).  The actual fixes are
mostly in inode.c, but in functionality that was only exported in that
way for XFS and doesn't have other users, which the last patch just
mostly splits up a function in XFS to fix the way we delete inodes
that lost the race of adding them to the inode.  

As you can see by the Reported-by tags on the last patch tons of people
hit it (probably the most I've ever seen for a single bug), and it's been
harassing us for a long time, so I'd really like to see this getting
into 2.6.31.  It's been out on -fsdevel for review for a couple of days.


The following changes since commit 90bc1a658a53f8832ee799685703977a450e5af9:
  Linus Torvalds (1):
        Merge branch 'upstream' of 
git://ftp.linux-mips.org/pub/scm/upstream-linus

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races.git master

Christoph Hellwig (3):
      vfs: fix inode_init_always calling convention
      vfs: add __destroy_inode
      xfs: fix freeing of inodes not yet added to the inode cache

 fs/inode.c         |   39 ++++++++------
 fs/xfs/xfs_iget.c  |  142 +++++++++++++++++++++++++++-------------------------
 fs/xfs/xfs_inode.h |   17 ------
 include/linux/fs.h |    3 +-
 4 files changed, 98 insertions(+), 103 deletions(-)

<Prev in Thread] Current Thread [Next in Thread>
  • [PULL REQUEST] vfs/xfs: fix freeing of inodes not yet added to the inode cache, Christoph Hellwig <=