X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fzfs_sa.h;h=0bac7808a86ccc428e381fbd1e9170df5044a7b2;hb=bf01b5e6161b4aa94c69792e50de4102a033be09;hp=cd312b27a94d5c17469508d2fa739b7df7954da6;hpb=6283f55ea1b91e680386388c17d14b89e344fa8d;p=zfs.git diff --git a/include/sys/zfs_sa.h b/include/sys/zfs_sa.h index cd312b2..0bac780 100644 --- a/include/sys/zfs_sa.h +++ b/include/sys/zfs_sa.h @@ -73,6 +73,7 @@ typedef enum zpl_attr { ZPL_SYMLINK, ZPL_SCANSTAMP, ZPL_DACL_ACES, + ZPL_DXATTR, ZPL_END } zpl_attr_t; @@ -126,14 +127,20 @@ typedef struct znode_phys { } znode_phys_t; #ifdef _KERNEL + +#define DXATTR_MAX_ENTRY_SIZE (32768) +#define DXATTR_MAX_SA_SIZE (SPA_MAXBLOCKSIZE >> 1) + int zfs_sa_readlink(struct znode *, uio_t *); void zfs_sa_symlink(struct znode *, char *link, int len, dmu_tx_t *); -void zfs_sa_upgrade(struct sa_handle *, dmu_tx_t *); void zfs_sa_get_scanstamp(struct znode *, xvattr_t *); void zfs_sa_set_scanstamp(struct znode *, xvattr_t *, dmu_tx_t *); -void zfs_sa_uprade_pre(struct sa_handle *, void *, dmu_tx_t *); -void zfs_sa_upgrade_post(struct sa_handle *, void *, dmu_tx_t *); +int zfs_sa_get_xattr(struct znode *); +int zfs_sa_set_xattr(struct znode *); +void zfs_sa_upgrade(struct sa_handle *, dmu_tx_t *); void zfs_sa_upgrade_txholds(dmu_tx_t *, struct znode *); +void zfs_sa_init(void); +void zfs_sa_fini(void); #endif #ifdef __cplusplus