]> granicus.if.org Git - zfs/commitdiff
Drop objid argument in zfs_znode_alloc() (sync with OpenZFS)
authorTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Wed, 5 Jun 2019 21:18:46 +0000 (06:18 +0900)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 5 Jun 2019 21:18:46 +0000 (14:18 -0700)
Since zfs_znode_alloc() already takes dmu_buf_t*, taking another
uint64_t argument for objid is redundant. inode's ->i_ino does and
needs to match znode's ->z_id.

zfs_znode_alloc() in FreeBSD and illumos doesn't have this argument
since vnode doesn't have vnode# in VFS (hence ->z_id exists).

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@osnexus.com>
Closes #8841

module/zfs/zfs_znode.c

index 203a5990931b6df1d3d81bb732dd29d62c0c43ef..f334caf19bcbf2801609f9d15627b35c02bea9e7 100644 (file)
@@ -515,7 +515,7 @@ zfs_inode_update(znode_t *zp)
  */
 static znode_t *
 zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz,
-    dmu_object_type_t obj_type, uint64_t obj, sa_handle_t *hdl)
+    dmu_object_type_t obj_type, sa_handle_t *hdl)
 {
        znode_t *zp;
        struct inode *ip;
@@ -596,7 +596,7 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz,
        ZFS_TIME_DECODE(&ip->i_mtime, mtime);
        ZFS_TIME_DECODE(&ip->i_ctime, ctime);
 
-       ip->i_ino = obj;
+       ip->i_ino = zp->z_id;
        zfs_inode_update(zp);
        zfs_inode_set_ops(zfsvfs, ip);
 
@@ -910,8 +910,7 @@ zfs_mknode(znode_t *dzp, vattr_t *vap, dmu_tx_t *tx, cred_t *cr,
                 * not fail retry until sufficient memory has been reclaimed.
                 */
                do {
-                       *zpp = zfs_znode_alloc(zfsvfs, db, 0, obj_type, obj,
-                           sa_hdl);
+                       *zpp = zfs_znode_alloc(zfsvfs, db, 0, obj_type, sa_hdl);
                } while (*zpp == NULL);
 
                VERIFY(*zpp != NULL);
@@ -1134,7 +1133,7 @@ again:
         * bonus buffer.
         */
        zp = zfs_znode_alloc(zfsvfs, db, doi.doi_data_block_size,
-           doi.doi_bonus_type, obj_num, NULL);
+           doi.doi_bonus_type, NULL);
        if (zp == NULL) {
                err = SET_ERROR(ENOENT);
        } else {