[Top] [All Lists]

Re: [PATCH 2/2] free partially initialized inodes using destroy_inode

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Subject: Re: [PATCH 2/2] free partially initialized inodes using destroy_inode
From: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Thu, 23 Oct 2008 14:58:51 +1000
In-reply-to: <20081022213049.GS18495@disturbed>
References: <20081022163129.GC25556@xxxxxxxxxxxxx> <20081022213049.GS18495@disturbed>
Reply-to: lachlan@xxxxxxx
User-agent: Thunderbird (X11/20080914)
Dave Chinner wrote:
On Wed, Oct 22, 2008 at 12:31:29PM -0400, Christoph Hellwig wrote:
To make sure we free the security data inodes need to be freed using
the proper VFS helper (which we also need to export for this). We mark
these inodes bad so we can skip the flush path for them.

Looks good, except for one minor mistake in a comment:

Index: xfs-2.6/fs/xfs/xfs_inode.h
--- xfs-2.6.orig/fs/xfs/xfs_inode.h     2008-10-22 17:57:30.000000000 +0200
+++ xfs-2.6/fs/xfs/xfs_inode.h  2008-10-22 18:00:15.000000000 +0200
@@ -310,6 +310,23 @@ static inline struct inode *VFS_I(struct
+ * Get rid of a partially initialized inode.
+ *
+ * We have to go through destroy_inode to make sure allocations
+ * from init_inode_always like the security data are undone.
+ *
+ * We mark the inode dirty so that it takes the short cut in

+ * the reclaim path instead of going through the flush path
+ * which doesn't make sense for an inode that has never seen the
+ * light of day.
+ */
+static inline void xfs_destroy_inode(struct xfs_inode *ip)
+       make_bad_inode(VFS_I(ip));
+       return destroy_inode(VFS_I(ip));
  * i_flags helper functions
 static inline void

I don't think this needs another round of review just to fix the
comment, so it can probably go straight in if the committer can
touch up that comment.

Will do.  Thanks guys.

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