Lines Matching refs:zfsvfs
279 zfsvfs_t *zfsvfs; in zfs_znode_move() local
290 zfsvfs = ozp->z_zfsvfs; in zfs_znode_move()
291 if (!POINTER_IS_VALID(zfsvfs)) { in zfs_znode_move()
303 if (zfsvfs != ozp->z_zfsvfs) { in zfs_znode_move()
315 rrm_enter(&zfsvfs->z_teardown_lock, RW_READER, FTAG); in zfs_znode_move()
316 if (zfsvfs->z_unmounted) { in zfs_znode_move()
317 ZFS_EXIT(zfsvfs); in zfs_znode_move()
324 mutex_enter(&zfsvfs->z_znodes_lock); in zfs_znode_move()
329 if (zfsvfs != ozp->z_zfsvfs) { in zfs_znode_move()
330 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_move()
331 ZFS_EXIT(zfsvfs); in zfs_znode_move()
341 if (ZFS_OBJ_HOLD_TRYENTER(zfsvfs, ozp->z_id) == 0) { in zfs_znode_move()
342 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_move()
343 ZFS_EXIT(zfsvfs); in zfs_znode_move()
350 ZFS_OBJ_HOLD_EXIT(zfsvfs, ozp->z_id); in zfs_znode_move()
351 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_move()
352 ZFS_EXIT(zfsvfs); in zfs_znode_move()
360 ZFS_OBJ_HOLD_EXIT(zfsvfs, ozp->z_id); in zfs_znode_move()
361 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_move()
362 ZFS_EXIT(zfsvfs); in zfs_znode_move()
373 ZFS_OBJ_HOLD_EXIT(zfsvfs, ozp->z_id); in zfs_znode_move()
376 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_move()
377 ZFS_EXIT(zfsvfs); in zfs_znode_move()
506 zfs_create_share_dir(zfsvfs_t *zfsvfs, dmu_tx_t *tx) in zfs_create_share_dir() argument
526 sharezp->z_zfsvfs = zfsvfs; in zfs_create_share_dir()
527 sharezp->z_is_sa = zfsvfs->z_use_sa; in zfs_create_share_dir()
540 error = zap_add(zfsvfs->z_os, MASTER_NODE_OBJ, in zfs_create_share_dir()
542 zfsvfs->z_shares_dir = sharezp->z_id; in zfs_create_share_dir()
610 zfs_znode_sa_init(zfsvfs_t *zfsvfs, znode_t *zp, in zfs_znode_sa_init() argument
613 ASSERT(!POINTER_IS_VALID(zp->z_zfsvfs) || (zfsvfs == zp->z_zfsvfs)); in zfs_znode_sa_init()
614 ASSERT(MUTEX_HELD(ZFS_OBJ_MUTEX(zfsvfs, zp->z_id))); in zfs_znode_sa_init()
621 VERIFY(0 == sa_handle_get_from_db(zfsvfs->z_os, db, zp, in zfs_znode_sa_init()
633 if (zp->z_id == zfsvfs->z_root) in zfs_znode_sa_init()
659 zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz, in zfs_znode_alloc() argument
692 zfs_znode_sa_init(zfsvfs, zp, db, obj_type, hdl); in zfs_znode_alloc()
694 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MODE(zfsvfs), NULL, &mode, 8); in zfs_znode_alloc()
695 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GEN(zfsvfs), NULL, &zp->z_gen, 8); in zfs_znode_alloc()
696 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_SIZE(zfsvfs), NULL, in zfs_znode_alloc()
698 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_LINKS(zfsvfs), NULL, in zfs_znode_alloc()
700 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_FLAGS(zfsvfs), NULL, in zfs_znode_alloc()
702 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_PARENT(zfsvfs), NULL, &parent, 8); in zfs_znode_alloc()
703 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_ATIME(zfsvfs), NULL, in zfs_znode_alloc()
705 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_UID(zfsvfs), NULL, in zfs_znode_alloc()
707 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GID(zfsvfs), NULL, in zfs_znode_alloc()
711 (dmu_objset_projectquota_enabled(zfsvfs->z_os) && in zfs_znode_alloc()
713 sa_lookup(zp->z_sa_hdl, SA_ZPL_PROJID(zfsvfs), &projid, 8) != 0)) { in zfs_znode_alloc()
722 vp->v_vfsp = zfsvfs->z_parent->z_vfs; in zfs_znode_alloc()
740 VERIFY(sa_lookup(zp->z_sa_hdl, SA_ZPL_RDEV(zfsvfs), in zfs_znode_alloc()
753 if (parent == zfsvfs->z_shares_dir) { in zfs_znode_alloc()
768 mutex_enter(&zfsvfs->z_znodes_lock); in zfs_znode_alloc()
769 list_insert_tail(&zfsvfs->z_all_znodes, zp); in zfs_znode_alloc()
775 zp->z_zfsvfs = zfsvfs; in zfs_znode_alloc()
776 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_alloc()
778 VFS_HOLD(zfsvfs->z_vfs); in zfs_znode_alloc()
811 zfsvfs_t *zfsvfs = dzp->z_zfsvfs; in zfs_mknode() local
825 if (zfsvfs->z_replay) { in zfs_mknode()
834 dnodesize = dmu_objset_dnodesize(zfsvfs->z_os); in zfs_mknode()
840 obj_type = zfsvfs->z_use_sa ? DMU_OT_SA : DMU_OT_ZNODE; in zfs_mknode()
854 if (zfsvfs->z_replay) { in zfs_mknode()
855 VERIFY0(zap_create_claim_norm_dnsize(zfsvfs->z_os, obj, in zfs_mknode()
856 zfsvfs->z_norm, DMU_OT_DIRECTORY_CONTENTS, in zfs_mknode()
859 obj = zap_create_norm_dnsize(zfsvfs->z_os, in zfs_mknode()
860 zfsvfs->z_norm, DMU_OT_DIRECTORY_CONTENTS, in zfs_mknode()
864 if (zfsvfs->z_replay) { in zfs_mknode()
865 VERIFY0(dmu_object_claim_dnsize(zfsvfs->z_os, obj, in zfs_mknode()
869 obj = dmu_object_alloc_dnsize(zfsvfs->z_os, in zfs_mknode()
875 ZFS_OBJ_HOLD_ENTER(zfsvfs, obj); in zfs_mknode()
876 VERIFY0(sa_buf_hold(zfsvfs->z_os, obj, NULL, &db)); in zfs_mknode()
893 if (zfsvfs->z_use_fuids) in zfs_mknode()
920 dmu_objset_projectquota_enabled(zfsvfs->z_os)) in zfs_mknode()
954 VERIFY(0 == sa_handle_get_from_db(zfsvfs->z_os, db, NULL, SA_HDL_SHARED, in zfs_mknode()
966 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_ATIME(zfsvfs), in zfs_mknode()
968 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_MTIME(zfsvfs), in zfs_mknode()
970 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_CTIME(zfsvfs), in zfs_mknode()
972 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_CRTIME(zfsvfs), in zfs_mknode()
974 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_GEN(zfsvfs), in zfs_mknode()
976 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_MODE(zfsvfs), in zfs_mknode()
978 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_SIZE(zfsvfs), in zfs_mknode()
980 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_PARENT(zfsvfs), in zfs_mknode()
983 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_MODE(zfsvfs), in zfs_mknode()
985 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_SIZE(zfsvfs), in zfs_mknode()
987 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_GEN(zfsvfs), in zfs_mknode()
989 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_UID(zfsvfs), in zfs_mknode()
991 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_GID(zfsvfs), in zfs_mknode()
993 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_PARENT(zfsvfs), in zfs_mknode()
995 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_FLAGS(zfsvfs), in zfs_mknode()
997 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_ATIME(zfsvfs), in zfs_mknode()
999 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_MTIME(zfsvfs), in zfs_mknode()
1001 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_CTIME(zfsvfs), in zfs_mknode()
1003 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_CRTIME(zfsvfs), in zfs_mknode()
1007 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_LINKS(zfsvfs), NULL, &links, 8); in zfs_mknode()
1010 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_XATTR(zfsvfs), NULL, in zfs_mknode()
1012 } else if (dmu_objset_projectquota_enabled(zfsvfs->z_os) && in zfs_mknode()
1014 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_PROJID(zfsvfs), in zfs_mknode()
1019 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_RDEV(zfsvfs), in zfs_mknode()
1024 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_FLAGS(zfsvfs), in zfs_mknode()
1026 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_UID(zfsvfs), NULL, in zfs_mknode()
1028 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_GID(zfsvfs), NULL, in zfs_mknode()
1030 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_PAD(zfsvfs), NULL, pad, in zfs_mknode()
1032 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_ZNODE_ACL(zfsvfs), NULL, in zfs_mknode()
1035 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_DACL_COUNT(zfsvfs), NULL, in zfs_mknode()
1038 SA_ADD_BULK_ATTR(sa_attrs, cnt, SA_ZPL_DACL_ACES(zfsvfs), in zfs_mknode()
1048 *zpp = zfs_znode_alloc(zfsvfs, db, 0, obj_type, sa_hdl); in zfs_mknode()
1073 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj); in zfs_mknode()
1177 zfs_zget(zfsvfs_t *zfsvfs, uint64_t obj_num, znode_t **zpp) in zfs_zget() argument
1187 ZFS_OBJ_HOLD_ENTER(zfsvfs, obj_num); in zfs_zget()
1189 err = sa_buf_hold(zfsvfs->z_os, obj_num, NULL, &db); in zfs_zget()
1191 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_zget()
1201 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_zget()
1229 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_zget()
1244 zp = zfs_znode_alloc(zfsvfs, db, doi.doi_data_block_size, in zfs_zget()
1253 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_zget()
1260 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_rezget() local
1271 ZFS_OBJ_HOLD_ENTER(zfsvfs, obj_num); in zfs_rezget()
1281 err = sa_buf_hold(zfsvfs->z_os, obj_num, NULL, &db); in zfs_rezget()
1283 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_rezget()
1293 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_rezget()
1297 zfs_znode_sa_init(zfsvfs, zp, db, doi.doi_bonus_type, NULL); in zfs_rezget()
1300 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GEN(zfsvfs), NULL, in zfs_rezget()
1302 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_SIZE(zfsvfs), NULL, in zfs_rezget()
1304 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_LINKS(zfsvfs), NULL, in zfs_rezget()
1306 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_FLAGS(zfsvfs), NULL, in zfs_rezget()
1308 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_ATIME(zfsvfs), NULL, in zfs_rezget()
1310 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_UID(zfsvfs), NULL, in zfs_rezget()
1312 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_GID(zfsvfs), NULL, in zfs_rezget()
1314 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MODE(zfsvfs), NULL, in zfs_rezget()
1319 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_rezget()
1323 if (dmu_objset_projectquota_enabled(zfsvfs->z_os)) { in zfs_rezget()
1324 err = sa_lookup(zp->z_sa_hdl, SA_ZPL_PROJID(zfsvfs), in zfs_rezget()
1328 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_rezget()
1338 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_rezget()
1357 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); in zfs_rezget()
1365 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_znode_delete() local
1366 objset_t *os = zfsvfs->z_os; in zfs_znode_delete()
1370 ZFS_OBJ_HOLD_ENTER(zfsvfs, obj); in zfs_znode_delete()
1377 ZFS_OBJ_HOLD_EXIT(zfsvfs, obj); in zfs_znode_delete()
1385 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_zinactive() local
1393 ZFS_OBJ_HOLD_ENTER(zfsvfs, z_id); in zfs_zinactive()
1412 ZFS_OBJ_HOLD_EXIT(zfsvfs, z_id); in zfs_zinactive()
1426 ASSERT(!zfsvfs->z_issnap); in zfs_zinactive()
1427 if ((zfsvfs->z_vfs->vfs_flag & VFS_RDONLY) == 0 && in zfs_zinactive()
1430 ZFS_OBJ_HOLD_EXIT(zfsvfs, z_id); in zfs_zinactive()
1438 ZFS_OBJ_HOLD_EXIT(zfsvfs, z_id); in zfs_zinactive()
1445 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_znode_free() local
1451 mutex_enter(&zfsvfs->z_znodes_lock); in zfs_znode_free()
1453 list_remove(&zfsvfs->z_all_znodes, zp); in zfs_znode_free()
1454 mutex_exit(&zfsvfs->z_znodes_lock); in zfs_znode_free()
1463 VFS_RELE(zfsvfs->z_vfs); in zfs_znode_free()
1561 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_extend() local
1579 tx = dmu_tx_create(zfsvfs->z_os); in zfs_extend()
1583 (!ISP2(zp->z_blksz) || zp->z_blksz < zfsvfs->z_max_blksz)) { in zfs_extend()
1637 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_free_range() local
1657 error = dmu_free_long_range(zfsvfs->z_os, zp->z_id, off, len); in zfs_free_range()
1675 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_trunc() local
1696 error = dmu_free_long_range(zfsvfs->z_os, zp->z_id, end, in zfs_trunc()
1702 tx = dmu_tx_create(zfsvfs->z_os); in zfs_trunc()
1714 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_SIZE(zfsvfs), in zfs_trunc()
1719 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_FLAGS(zfsvfs), in zfs_trunc()
1771 zfsvfs_t *zfsvfs = zp->z_zfsvfs; in zfs_freesp() local
1772 zilog_t *zilog = zfsvfs->z_log; in zfs_freesp()
1779 if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_MODE(zfsvfs), &mode, in zfs_freesp()
1811 tx = dmu_tx_create(zfsvfs->z_os); in zfs_freesp()
1820 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL, mtime, 16); in zfs_freesp()
1821 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL, ctime, 16); in zfs_freesp()
1822 SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_FLAGS(zfsvfs), in zfs_freesp()
1844 zfsvfs_t *zfsvfs; in zfs_create_fs() local
1932 zfsvfs = kmem_zalloc(sizeof (zfsvfs_t), KM_SLEEP); in zfs_create_fs()
1933 zfsvfs->z_os = os; in zfs_create_fs()
1934 zfsvfs->z_parent = zfsvfs; in zfs_create_fs()
1935 zfsvfs->z_version = version; in zfs_create_fs()
1936 zfsvfs->z_use_fuids = USE_FUIDS(version, os); in zfs_create_fs()
1937 zfsvfs->z_use_sa = USE_SA(version, os); in zfs_create_fs()
1938 zfsvfs->z_norm = norm; in zfs_create_fs()
1941 &zfsvfs->z_attr_table); in zfs_create_fs()
1950 zfsvfs->z_norm |= U8_TEXTPREP_TOUPPER; in zfs_create_fs()
1952 mutex_init(&zfsvfs->z_znodes_lock, NULL, MUTEX_DEFAULT, NULL); in zfs_create_fs()
1953 list_create(&zfsvfs->z_all_znodes, sizeof (znode_t), in zfs_create_fs()
1957 mutex_init(&zfsvfs->z_hold_mtx[i], NULL, MUTEX_DEFAULT, NULL); in zfs_create_fs()
1959 rootzp->z_zfsvfs = zfsvfs; in zfs_create_fs()
1978 error = zfs_create_share_dir(zfsvfs, tx); in zfs_create_fs()
1983 mutex_destroy(&zfsvfs->z_hold_mtx[i]); in zfs_create_fs()
1984 kmem_free(zfsvfs, sizeof (zfsvfs_t)); in zfs_create_fs()