| @@ -474,27 +474,28 @@ zfs_create_share_dir(zfsvfs_t *zfsvfs, d | | | @@ -474,27 +474,28 @@ zfs_create_share_dir(zfsvfs_t *zfsvfs, d |
474 | | | 474 | |
475 | vattr.va_mask = AT_MODE|AT_UID|AT_GID|AT_TYPE; | | 475 | vattr.va_mask = AT_MODE|AT_UID|AT_GID|AT_TYPE; |
476 | vattr.va_type = VDIR; | | 476 | vattr.va_type = VDIR; |
477 | vattr.va_mode = S_IFDIR|0555; | | 477 | vattr.va_mode = S_IFDIR|0555; |
478 | vattr.va_uid = crgetuid(kcred); | | 478 | vattr.va_uid = crgetuid(kcred); |
479 | vattr.va_gid = crgetgid(kcred); | | 479 | vattr.va_gid = crgetgid(kcred); |
480 | | | 480 | |
481 | sharezp = kmem_cache_alloc(znode_cache, KM_SLEEP); | | 481 | sharezp = kmem_cache_alloc(znode_cache, KM_SLEEP); |
482 | sharezp->z_unlinked = 0; | | 482 | sharezp->z_unlinked = 0; |
483 | sharezp->z_atime_dirty = 0; | | 483 | sharezp->z_atime_dirty = 0; |
484 | sharezp->z_zfsvfs = zfsvfs; | | 484 | sharezp->z_zfsvfs = zfsvfs; |
485 | | | 485 | |
486 | vp = ZTOV(sharezp); | | 486 | vp = ZTOV(sharezp); |
487 | vn_reinit(vp); | | 487 | error = getnewvnode(VT_ZFS, zfsvfs->z_parent->z_vfs, |
| | | 488 | zfs_vnodeop_p, &zp->z_vnode); |
488 | vp->v_type = VDIR; | | 489 | vp->v_type = VDIR; |
489 | | | 490 | |
490 | VERIFY(0 == zfs_acl_ids_create(sharezp, IS_ROOT_NODE, &vattr, | | 491 | VERIFY(0 == zfs_acl_ids_create(sharezp, IS_ROOT_NODE, &vattr, |
491 | kcred, NULL, &acl_ids)); | | 492 | kcred, NULL, &acl_ids)); |
492 | zfs_mknode(sharezp, &vattr, tx, kcred, IS_ROOT_NODE, | | 493 | zfs_mknode(sharezp, &vattr, tx, kcred, IS_ROOT_NODE, |
493 | &zp, 0, &acl_ids); | | 494 | &zp, 0, &acl_ids); |
494 | ASSERT3P(zp, ==, sharezp); | | 495 | ASSERT3P(zp, ==, sharezp); |
495 | ASSERT(!vn_in_dnlc(ZTOV(sharezp))); /* not valid to move */ | | 496 | ASSERT(!vn_in_dnlc(ZTOV(sharezp))); /* not valid to move */ |
496 | POINTER_INVALIDATE(&sharezp->z_zfsvfs); | | 497 | POINTER_INVALIDATE(&sharezp->z_zfsvfs); |
497 | error = zap_add(zfsvfs->z_os, MASTER_NODE_OBJ, | | 498 | error = zap_add(zfsvfs->z_os, MASTER_NODE_OBJ, |
498 | ZFS_SHARES_DIR, 8, 1, &sharezp->z_id, tx); | | 499 | ZFS_SHARES_DIR, 8, 1, &sharezp->z_id, tx); |
499 | zfsvfs->z_shares_dir = sharezp->z_id; | | 500 | zfsvfs->z_shares_dir = sharezp->z_id; |
500 | | | 501 | |