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

Dave Chinner
2008-10-22T21:29:13Z

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
^^^^^
"bad"

> + * 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.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com