[RFC PATCH 2/4] xfs: add xfs_create_tmpfile() for O_TMPFILE support

Christoph Hellwig hch at infradead.org
Mon Nov 25 23:59:50 CST 2013


On Tue, Nov 26, 2013 at 08:36:01AM +1100, Dave Chinner wrote:
> 
> Is XFS_PROJID_DEFAULT correct here? If we are getting a parent inode
> from ->tmpfile, then this should be handled the same way as for
> xfs_create.

It should.  And while we're at it that code from create and symlink
should be factored into:

static inline projid_t xfs_initial_projid(struct xfs_inode *dp)
{
	 if (dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
	 	return xfs_get_projid(dp);
	return XFS_PROJID_DEFAULT;
}

fist.

> I don't think this is necessary here. The ENOSPC flushing in
> xfs_create() is done to ensure we have space for directory block
> creation, not so much for inode allocation. Hence it doesn't make a
> lot of sense to have this here....

Point.  I take back my earlier comment that it should be factored.

> I'm not sure that XFS_MOUNT_DIRSYNC shoul dbe checked here, as there
> is no directory operations to synchronise at all...

It probably shouldn't indeed.  Reminds me of my old patch to make this
a flag to xfs_trans_commit instead of all that boilerplate code..



More information about the xfs mailing list