X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fzfs_vfsops.h;h=6d4d713cebb0392d853cb54448202ef5400f7386;hb=82a37189aac955c81a59a5ecc3400475adb56355;hp=a2f00acf08f1c04a90800d73ccba61bad7c946ab;hpb=3558fd73b5d863304102f6745c26e0b592aca60a;p=zfs.git diff --git a/include/sys/zfs_vfsops.h b/include/sys/zfs_vfsops.h index a2f00ac..6d4d713 100644 --- a/include/sys/zfs_vfsops.h +++ b/include/sys/zfs_vfsops.h @@ -42,8 +42,8 @@ struct zfs_sb; struct znode; typedef struct zfs_sb { - struct vfsmount *z_vfs; /* generic vfs struct */ struct super_block *z_sb; /* generic super_block */ + struct backing_dev_info z_bdi; /* generic backing dev info */ struct zfs_sb *z_parent; /* parent fs */ objset_t *z_os; /* objset reference */ uint64_t z_flags; /* super_block flags */ @@ -76,6 +76,7 @@ typedef struct zfs_sb { boolean_t z_use_fuids; /* version allows fuids */ boolean_t z_replay; /* set during ZIL replay */ boolean_t z_use_sa; /* version allow system attributes */ + boolean_t z_xattr_sa; /* allow xattrs to be stores as SA */ uint64_t z_version; /* ZPL version */ uint64_t z_shares_dir; /* hidden shares dir */ kmutex_t z_lock; @@ -89,7 +90,7 @@ typedef struct zfs_sb { #define ZFS_SUPER_MAGIC 0x2fc12fc1 -#define ZSB_XATTR_USER 0x0001 /* Enable user xattrs */ +#define ZSB_XATTR 0x0001 /* Enable user xattrs */ /* @@ -179,17 +180,23 @@ extern boolean_t zfs_owner_overquota(zfs_sb_t *zsb, struct znode *, extern boolean_t zfs_fuid_overquota(zfs_sb_t *zsb, boolean_t isgroup, uint64_t fuid); extern int zfs_set_version(zfs_sb_t *zsb, uint64_t newvers); +extern int zfs_get_zplprop(objset_t *os, zfs_prop_t prop, + uint64_t *value); extern int zfs_sb_create(const char *name, zfs_sb_t **zsbp); +extern int zfs_sb_setup(zfs_sb_t *zsb, boolean_t mounting); extern void zfs_sb_free(zfs_sb_t *zsb); +extern int zfs_sb_teardown(zfs_sb_t *zsb, boolean_t unmounting); extern int zfs_check_global_label(const char *dsname, const char *hexsl); +extern boolean_t zfs_is_readonly(zfs_sb_t *zsb); extern int zfs_register_callbacks(zfs_sb_t *zsb); extern void zfs_unregister_callbacks(zfs_sb_t *zsb); extern int zfs_domount(struct super_block *sb, void *data, int silent); extern int zfs_umount(struct super_block *sb); +extern int zfs_remount(struct super_block *sb, int *flags, char *data); extern int zfs_root(zfs_sb_t *zsb, struct inode **ipp); extern int zfs_statvfs(struct dentry *dentry, struct kstatfs *statp); -extern int zfs_vget(struct vfsmount *vfsp, struct inode **ipp, fid_t *fidp); +extern int zfs_vget(struct super_block *sb, struct inode **ipp, fid_t *fidp); #ifdef __cplusplus }