X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fzpl.h;h=61a57ef297a5ba1b3bd7730b713484057e028573;hb=bf01b5e6161b4aa94c69792e50de4102a033be09;hp=72134758534d4c0663bc31dac5b81bc384218cb9;hpb=055656d4f4dfc1a85646a2c0cc10b9dce86da72b;p=zfs.git diff --git a/include/sys/zpl.h b/include/sys/zpl.h index 7213475..61a57ef 100644 --- a/include/sys/zpl.h +++ b/include/sys/zpl.h @@ -28,29 +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; @@ -59,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 */