]> granicus.if.org Git - zfs/commitdiff
Add inode accessors to common code
authorMatthew Macy <mmacy@mattmacy.io>
Wed, 2 Oct 2019 16:15:12 +0000 (09:15 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 2 Oct 2019 16:15:12 +0000 (09:15 -0700)
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9389

include/sys/zfs_znode.h
module/zfs/sa.c
module/zfs/zfs_fuid.c
module/zfs/zfs_log.c
module/zfs/zfs_sa.c

index acaaf28845e6d7e9bee682fcd297042aadbe4806..4eb1da650f9b2519e62af17aa0fd6207db687da2 100644 (file)
@@ -258,7 +258,15 @@ zfs_inherit_projid(znode_t *dzp)
 #define        ZTOZSB(znode)   ((zfsvfs_t *)(ZTOI(znode)->i_sb->s_fs_info))
 #define        ITOZSB(inode)   ((zfsvfs_t *)((inode)->i_sb->s_fs_info))
 
-#define        S_ISDEV(mode)   (S_ISCHR(mode) || S_ISBLK(mode) || S_ISFIFO(mode))
+#define        ZTOTYPE(zp)     (ZTOI(zp)->i_mode)
+#define        ZTOGID(zp) (ZTOI(zp)->i_gid)
+#define        ZTOUID(zp) (ZTOI(zp)->i_uid)
+#define        ZTONLNK(zp) (ZTOI(zp)->i_nlink)
+
+#define        Z_ISBLK(type) S_ISBLK(type)
+#define        Z_ISCHR(type) S_ISCHR(type)
+#define        Z_ISLNK(type) S_ISLNK(type)
+#define        S_ISDEV(type)   (S_ISCHR(type) || S_ISBLK(type) || S_ISFIFO(type))
 
 /* Called on entry to each ZFS inode and vfs operation. */
 #define        ZFS_ENTER_ERROR(zfsvfs, error)                          \
index 621838396a4530d3f17fc368e5d4536f2e27cf2d..98bd2d3302a02e41391f02d10b608c621793f45a 100644 (file)
@@ -1586,7 +1586,7 @@ sa_add_projid(sa_handle_t *hdl, dmu_tx_t *tx, uint64_t projid)
                    &ctime, 16);
                SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CRTIME(zfsvfs), NULL,
                    &crtime, 16);
-               if (S_ISBLK(ZTOI(zp)->i_mode) || S_ISCHR(ZTOI(zp)->i_mode))
+               if (Z_ISBLK(ZTOTYPE(zp)) || Z_ISCHR(ZTOTYPE(zp)))
                        SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_RDEV(zfsvfs), NULL,
                            &rdev, 8);
        } else {
@@ -1625,7 +1625,7 @@ sa_add_projid(sa_handle_t *hdl, dmu_tx_t *tx, uint64_t projid)
 
        zp->z_projid = projid;
        zp->z_pflags |= ZFS_PROJID;
-       links = ZTOI(zp)->i_nlink;
+       links = ZTONLNK(zp);
        count = 0;
        err = 0;
 
@@ -1646,7 +1646,7 @@ sa_add_projid(sa_handle_t *hdl, dmu_tx_t *tx, uint64_t projid)
        SA_ADD_BULK_ATTR(attrs, count, SA_ZPL_LINKS(zfsvfs), NULL, &links, 8);
        SA_ADD_BULK_ATTR(attrs, count, SA_ZPL_PROJID(zfsvfs), NULL, &projid, 8);
 
-       if (S_ISBLK(ZTOI(zp)->i_mode) || S_ISCHR(ZTOI(zp)->i_mode))
+       if (Z_ISBLK(ZTOTYPE(zp)) || Z_ISCHR(ZTOTYPE(zp)))
                SA_ADD_BULK_ATTR(attrs, count, SA_ZPL_RDEV(zfsvfs), NULL,
                    &rdev, 8);
 
index e57753593c6ee536e064ac180cf1eb08f956fe86..78071707a908359a34a8c069b7debddc73f8b3a4 100644 (file)
@@ -382,9 +382,9 @@ zfs_fuid_find_by_idx(zfsvfs_t *zfsvfs, uint32_t idx)
 void
 zfs_fuid_map_ids(znode_t *zp, cred_t *cr, uid_t *uidp, uid_t *gidp)
 {
-       *uidp = zfs_fuid_map_id(ZTOZSB(zp), KUID_TO_SUID(ZTOI(zp)->i_uid),
+       *uidp = zfs_fuid_map_id(ZTOZSB(zp), KUID_TO_SUID(ZTOUID(zp)),
            cr, ZFS_OWNER);
-       *gidp = zfs_fuid_map_id(ZTOZSB(zp), KGID_TO_SGID(ZTOI(zp)->i_gid),
+       *gidp = zfs_fuid_map_id(ZTOZSB(zp), KGID_TO_SGID(ZTOGID(zp)),
            cr, ZFS_GROUP);
 }
 
index ae4cbdec1356ef0f7b179de1d64daead67c1f119..8b7c594f88823242adde14aa6aade633920116fc 100644 (file)
@@ -322,13 +322,13 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t *tx, uint64_t txtype,
        /* Store dnode slot count in 8 bits above object id. */
        LR_FOID_SET_SLOTS(lr->lr_foid, zp->z_dnodesize >> DNODE_SHIFT);
        lr->lr_mode = zp->z_mode;
-       if (!IS_EPHEMERAL(KUID_TO_SUID(ZTOI(zp)->i_uid))) {
-               lr->lr_uid = (uint64_t)KUID_TO_SUID(ZTOI(zp)->i_uid);
+       if (!IS_EPHEMERAL(KUID_TO_SUID(ZTOUID(zp)))) {
+               lr->lr_uid = (uint64_t)KUID_TO_SUID(ZTOUID(zp));
        } else {
                lr->lr_uid = fuidp->z_fuid_owner;
        }
-       if (!IS_EPHEMERAL(KGID_TO_SGID(ZTOI(zp)->i_gid))) {
-               lr->lr_gid = (uint64_t)KGID_TO_SGID(ZTOI(zp)->i_gid);
+       if (!IS_EPHEMERAL(KGID_TO_SGID(ZTOGID(zp)))) {
+               lr->lr_gid = (uint64_t)KGID_TO_SGID(ZTOGID(zp));
        } else {
                lr->lr_gid = fuidp->z_fuid_group;
        }
@@ -460,8 +460,8 @@ zfs_log_symlink(zilog_t *zilog, dmu_tx_t *tx, uint64_t txtype,
        lr = (lr_create_t *)&itx->itx_lr;
        lr->lr_doid = dzp->z_id;
        lr->lr_foid = zp->z_id;
-       lr->lr_uid = KUID_TO_SUID(ZTOI(zp)->i_uid);
-       lr->lr_gid = KGID_TO_SGID(ZTOI(zp)->i_gid);
+       lr->lr_uid = KUID_TO_SUID(ZTOUID(zp));
+       lr->lr_gid = KGID_TO_SGID(ZTOGID(zp));
        lr->lr_mode = zp->z_mode;
        (void) sa_lookup(zp->z_sa_hdl, SA_ZPL_GEN(ZTOZSB(zp)), &lr->lr_gen,
            sizeof (uint64_t));
index bd21ba896cc3de1dafaf89a0e98537141ae3dd22..e20e92f129011ca4ffe94f2c3aa95b8b6ecf1c0c 100644 (file)
@@ -300,7 +300,7 @@ zfs_sa_upgrade(sa_handle_t *hdl, dmu_tx_t *tx)
         * and ready the ACL would require special "locked"
         * interfaces that would be messy
         */
-       if (zp->z_acl_cached == NULL || S_ISLNK(ZTOI(zp)->i_mode))
+       if (zp->z_acl_cached == NULL || Z_ISLNK(ZTOTYPE(zp)))
                return;
 
        /*
@@ -369,13 +369,13 @@ zfs_sa_upgrade(sa_handle_t *hdl, dmu_tx_t *tx)
            &ctime, 16);
        SA_ADD_BULK_ATTR(sa_attrs, count, SA_ZPL_CRTIME(zfsvfs), NULL,
            &crtime, 16);
-       links = ZTOI(zp)->i_nlink;
+       links = ZTONLNK(zp);
        SA_ADD_BULK_ATTR(sa_attrs, count, SA_ZPL_LINKS(zfsvfs), NULL,
            &links, 8);
        if (dmu_objset_projectquota_enabled(hdl->sa_os))
                SA_ADD_BULK_ATTR(sa_attrs, count, SA_ZPL_PROJID(zfsvfs), NULL,
                    &zp->z_projid, 8);
-       if (S_ISBLK(ZTOI(zp)->i_mode) || S_ISCHR(ZTOI(zp)->i_mode))
+       if (Z_ISBLK(ZTOTYPE(zp)) || Z_ISCHR(ZTOTYPE(zp)))
                SA_ADD_BULK_ATTR(sa_attrs, count, SA_ZPL_RDEV(zfsvfs), NULL,
                    &rdev, 8);
        SA_ADD_BULK_ATTR(sa_attrs, count, SA_ZPL_DACL_COUNT(zfsvfs), NULL,