X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fzpl.h;h=61a57ef297a5ba1b3bd7730b713484057e028573;hb=9759c60f1a1503e48dc5c45a209c3edd5758319f;hp=906b5a73d9ada3948ac45cf989f94b7001a3acfd;hpb=dde471ef5a07bd569deeadd3e9a88655db3e10ab;p=zfs.git diff --git a/include/sys/zpl.h b/include/sys/zpl.h index 906b5a7..61a57ef 100644 --- a/include/sys/zpl.h +++ b/include/sys/zpl.h @@ -28,30 +28,39 @@ #include #include #include +#include #include #include +#include /* zpl_inode.c */ +extern void zpl_vap_init(vattr_t *vap, struct inode *dir, + 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; extern const struct inode_operations zpl_special_inode_operations; +extern dentry_operations_t zpl_dentry_operations; /* zpl_file.c */ 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; @@ -60,8 +69,24 @@ 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 const struct file_operations zpl_fops_shares; +extern const struct inode_operations zpl_ops_shares; + #endif /* _SYS_ZPL_H */