xfs: factor prid related codes into xfs_get_initial_prid()
authorZhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Wed, 18 Dec 2013 00:22:39 +0000 (08:22 +0800)
committerBen Myers <bpm@sgi.com>
Mon, 6 Jan 2014 19:46:25 +0000 (13:46 -0600)
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>
fs/xfs/xfs_inode.c
fs/xfs/xfs_inode.h
fs/xfs/xfs_symlink.c

index 001aa893ed594020d76bc30cdffb05dfeaa24371..c79b875f0354059d1eff80415e6f0b9e96503858 100644 (file)
@@ -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"
@@ -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.
index 9e6efccbae04f23f86581767e09f61304dc55ac4..6c58349494e754280e5abb47364b978c6e84d3b4 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "xfs_inode_buf.h"
 #include "xfs_inode_fork.h"
+#include "xfs_dinode.h"
 
 /*
  * Kernel only inode definitions
@@ -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.
  */
index 14e58f2c96bd71708f1c608536b835b25f05e795..13140c7244f5bddefbf1705815c2275f304636bb 100644 (file)
@@ -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.