X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fzfs_znode.h;h=4dbecb4b5e9a566ca1c0a0e121aa5313d99bec17;hb=cb28b3494e88e0e43c43588fccfa6526344b9a64;hp=aa1f449acf27791065d8bd03355dc90ccbb4593c;hpb=6283f55ea1b91e680386388c17d14b89e344fa8d;p=zfs.git diff --git a/include/sys/zfs_znode.h b/include/sys/zfs_znode.h index aa1f449..4dbecb4 100644 --- a/include/sys/zfs_znode.h +++ b/include/sys/zfs_znode.h @@ -211,6 +211,8 @@ typedef struct znode { list_node_t z_link_node; /* all znodes in fs link */ sa_handle_t *z_sa_hdl; /* handle to sa data */ boolean_t z_is_sa; /* are we native sa? */ + void (*z_set_ops_inode) (struct inode *); /* set inode ops */ + struct inode z_inode; /* generic vfs inode */ } znode_t; @@ -231,13 +233,18 @@ typedef struct znode { */ /* - * Convert between znode pointers and vnode pointers + * Convert between znode pointers and inode pointers */ +#define ZTOI(ZP) (&((ZP)->z_inode)) +#define ITOZ(IP) (container_of((IP), znode_t, z_inode)) + +/* XXX - REMOVE ME ONCE THE OTHER BUILD ISSUES ARE RESOLVED */ #define ZTOV(ZP) ((ZP)->z_vnode) #define VTOZ(VP) ((znode_t *)(VP)->v_data) + /* - * ZFS_ENTER() is called on entry to each ZFS vnode and vfs operation. + * ZFS_ENTER() is called on entry to each ZFS inode and vfs operation. * ZFS_EXIT() must be called before exitting the vop. * ZFS_VERIFY_ZP() verifies the znode is valid. */ @@ -319,6 +326,7 @@ extern dev_t zfs_cmpldev(uint64_t); extern int zfs_get_zplprop(objset_t *os, zfs_prop_t prop, uint64_t *value); extern int zfs_get_stats(objset_t *os, nvlist_t *nv); extern void zfs_znode_dmu_fini(znode_t *); +extern void zfs_inode_update(znode_t *); extern void zfs_log_create(zilog_t *zilog, dmu_tx_t *tx, uint64_t txtype, znode_t *dzp, znode_t *zp, char *name, vsecattr_t *, zfs_fuid_info_t *,