mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 08:35:08 +08:00
xfs: Expose init_xattrs in xfs_create_tmpfile
Tmp files are used as part of rename operations and will need attr forks initialized for parent pointers. Expose the init_xattrs parameter to the calling function to initialize the fork. Signed-off-by: Allison Henderson <allison.henderson@oracle.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
ae673f534a
commit
297da63379
@ -1185,6 +1185,7 @@ xfs_create_tmpfile(
|
||||
struct mnt_idmap *idmap,
|
||||
struct xfs_inode *dp,
|
||||
umode_t mode,
|
||||
bool init_xattrs,
|
||||
struct xfs_inode **ipp)
|
||||
{
|
||||
struct xfs_mount *mp = dp->i_mount;
|
||||
@ -1225,7 +1226,7 @@ xfs_create_tmpfile(
|
||||
error = xfs_dialloc(&tp, dp->i_ino, mode, &ino);
|
||||
if (!error)
|
||||
error = xfs_init_new_inode(idmap, tp, dp, ino, mode,
|
||||
0, 0, prid, false, &ip);
|
||||
0, 0, prid, init_xattrs, &ip);
|
||||
if (error)
|
||||
goto out_trans_cancel;
|
||||
|
||||
@ -3037,7 +3038,7 @@ xfs_rename_alloc_whiteout(
|
||||
int error;
|
||||
|
||||
error = xfs_create_tmpfile(idmap, dp, S_IFCHR | WHITEOUT_MODE,
|
||||
&tmpfile);
|
||||
false, &tmpfile);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
|
@ -522,7 +522,7 @@ int xfs_create(struct mnt_idmap *idmap,
|
||||
umode_t mode, dev_t rdev, bool need_xattr,
|
||||
struct xfs_inode **ipp);
|
||||
int xfs_create_tmpfile(struct mnt_idmap *idmap,
|
||||
struct xfs_inode *dp, umode_t mode,
|
||||
struct xfs_inode *dp, umode_t mode, bool init_xattrs,
|
||||
struct xfs_inode **ipp);
|
||||
int xfs_remove(struct xfs_inode *dp, struct xfs_name *name,
|
||||
struct xfs_inode *ip);
|
||||
|
@ -201,7 +201,7 @@ xfs_generic_create(
|
||||
xfs_create_need_xattr(dir, default_acl, acl),
|
||||
&ip);
|
||||
} else {
|
||||
error = xfs_create_tmpfile(idmap, XFS_I(dir), mode, &ip);
|
||||
error = xfs_create_tmpfile(idmap, XFS_I(dir), mode, false, &ip);
|
||||
}
|
||||
if (unlikely(error))
|
||||
goto out_free_acl;
|
||||
|
Loading…
Reference in New Issue
Block a user