Skip to content

Commit

Permalink
xfs: factor prid related codes into xfs_get_initial_prid()
Browse files Browse the repository at this point in the history
It will be reused by the O_TMPFILE creation function.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
  • Loading branch information
Zhi Yong Wu authored and Ben Myers committed Jan 6, 2014
1 parent f9b395a commit 163467d
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
6 changes: 1 addition & 5 deletions fs/xfs/xfs_inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
#include "xfs_bmap_util.h"
#include "xfs_error.h"
#include "xfs_quota.h"
#include "xfs_dinode.h"
#include "xfs_filestream.h"
#include "xfs_cksum.h"
#include "xfs_trace.h"
Expand Down Expand Up @@ -1169,10 +1168,7 @@ xfs_create(
if (XFS_FORCED_SHUTDOWN(mp))
return XFS_ERROR(EIO);

if (dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
prid = xfs_get_projid(dp);
else
prid = XFS_PROJID_DEFAULT;
prid = xfs_get_initial_prid(dp);

/*
* Make sure that we have allocated dquot(s) on disk.
Expand Down
10 changes: 10 additions & 0 deletions fs/xfs/xfs_inode.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

#include "xfs_inode_buf.h"
#include "xfs_inode_fork.h"
#include "xfs_dinode.h"

/*
* Kernel only inode definitions
Expand Down Expand Up @@ -192,6 +193,15 @@ xfs_set_projid(struct xfs_inode *ip,
ip->i_d.di_projid_lo = (__uint16_t) (projid & 0xffff);
}

static inline prid_t
xfs_get_initial_prid(struct xfs_inode *dp)
{
if (dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
return xfs_get_projid(dp);

return XFS_PROJID_DEFAULT;
}

/*
* In-core inode flags.
*/
Expand Down
5 changes: 1 addition & 4 deletions fs/xfs/xfs_symlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,7 @@ xfs_symlink(
return XFS_ERROR(ENAMETOOLONG);

udqp = gdqp = NULL;
if (dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
prid = xfs_get_projid(dp);
else
prid = XFS_PROJID_DEFAULT;
prid = xfs_get_initial_prid(dp);

/*
* Make sure that we have allocated dquot(s) on disk.
Expand Down

0 comments on commit 163467d

Please sign in to comment.