X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fzpl.h;h=e34b323bdb18f4ca3218f7e92c762500cbe350b2;hb=1eb5bfa3dcdaecb19543d9df13131374a7a42947;hp=33f4f621f08b5053a4ffb423c4c0dc63207c08e0;hpb=1efb473f8919c5f195e127136b79c6d3b1eb1c81;p=zfs.git diff --git a/include/sys/zpl.h b/include/sys/zpl.h index 33f4f62..e34b323 100644 --- a/include/sys/zpl.h +++ b/include/sys/zpl.h @@ -26,8 +26,16 @@ #define _SYS_ZPL_H #include +#include +#include +#include +#include +#include /* zpl_inode.c */ +extern void zpl_vap_init(vattr_t *vap, struct inode *dir, + struct dentry *dentry, zpl_umode_t mode, cred_t *cr); + extern const struct inode_operations zpl_inode_operations; extern const struct inode_operations zpl_dir_inode_operations; extern const struct inode_operations zpl_symlink_inode_operations; @@ -38,26 +46,45 @@ extern ssize_t zpl_read_common(struct inode *ip, const char *buf, size_t len, loff_t pos, uio_seg_t segment, int flags, cred_t *cr); extern ssize_t zpl_write_common(struct inode *ip, const char *buf, size_t len, loff_t pos, uio_seg_t segment, int flags, cred_t *cr); +extern long zpl_fallocate_common(struct inode *ip, int mode, + loff_t offset, loff_t len); extern const struct address_space_operations zpl_address_space_operations; extern const struct file_operations zpl_file_operations; extern const struct file_operations zpl_dir_file_operations; /* zpl_super.c */ +extern void zpl_prune_sbs(int64_t bytes_to_scan, void *private); + typedef struct zpl_mount_data { const char *z_osname; /* Dataset name */ void *z_data; /* Mount options string */ - struct vfsmount *z_vfs; /* VFS mount point */ } zpl_mount_data_t; extern const struct super_operations zpl_super_operations; -/* extern const struct export_operations zpl_export_operations; */ +extern const struct export_operations zpl_export_operations; extern struct file_system_type zpl_fs_type; /* zpl_xattr.c */ extern ssize_t zpl_xattr_list(struct dentry *dentry, char *buf, size_t size); -extern int zpl_xattr_security_init(struct inode *ip, struct inode *dip); +extern int zpl_xattr_security_init(struct inode *ip, struct inode *dip, + const struct qstr *qstr); + +extern xattr_handler_t *zpl_xattr_handlers[]; + +/* zpl_ctldir.c */ +extern const struct file_operations zpl_fops_root; +extern const struct inode_operations zpl_ops_root; + +extern const struct file_operations zpl_fops_snapdir; +extern const struct inode_operations zpl_ops_snapdir; +#ifdef HAVE_AUTOMOUNT +extern const struct dentry_operations zpl_dops_snapdirs; +#else +extern const struct inode_operations zpl_ops_snapdirs; +#endif /* HAVE_AUTOMOUNT */ -extern struct xattr_handler *zpl_xattr_handlers[]; +extern const struct file_operations zpl_fops_shares; +extern const struct inode_operations zpl_ops_shares; #endif /* _SYS_ZPL_H */