X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fsmfs%2Fsmfs_internal.h;h=ebca06e5d1879f6d220e542dfe38c3345ec34b30;hb=ac013f696b87e01072e6b1925e6f7fdd1fa22e5f;hp=a9ead266ecd853021a3019a62aad4bb2d0d25f4f;hpb=fbede0acfafd921e2a3974f3f3b989e8e1acd669;p=fs%2Flustre-release.git diff --git a/lustre/smfs/smfs_internal.h b/lustre/smfs/smfs_internal.h index a9ead26..ebca06e 100644 --- a/lustre/smfs/smfs_internal.h +++ b/lustre/smfs/smfs_internal.h @@ -131,6 +131,8 @@ struct smfs_hook_ops *smfs_unregister_hook_ops(struct smfs_super_info *smb, /*smfs_lib.c*/ void smfs_put_super(struct super_block *sb); int smfs_fill_super(struct super_block *sb, void *data, int silent); + +void smfs_cleanup_hooks(struct smfs_super_info *smb); /*sysctl.c*/ extern int sm_debug_level; extern int sm_inodes; @@ -169,11 +171,8 @@ struct smfs_iget_args { extern struct inode_operations smfs_sym_iops; extern struct file_operations smfs_sym_fops; /*journal.c */ -extern void *smfs_trans_start(struct inode *inode, int op, void *desc_private); -extern void smfs_trans_commit(struct inode *inode, void *handle, - int force_sync); -extern int smfs_post_kml_rec(struct inode *dir, struct dentry *dst_dentry, - void *data1, void *data2, int op); +void *smfs_trans_start(struct inode *inode, int op, void *desc_private); +void smfs_trans_commit(struct inode *inode, void *handle, int force_sync); extern int smfs_post_rec_write(struct inode *dir, struct dentry *dentry, void *data1, void *data2); @@ -183,20 +182,18 @@ extern int smfs_post_rec_create(struct inode *dir, struct dentry *dentry, void *data1, void *data2); /*kml.c*/ int smfs_do_rec(struct inode *inode); -int smfs_rec_cleanup(struct super_block *sb); +int smfs_rec_cleanup(struct smfs_super_info *sb); int smfs_rec_init(struct super_block *sb); extern int smfs_rec_unpack(struct smfs_proc_args *args, char *record, char **pbuf, int *opcode); extern int smfs_process_rec(struct super_block *sb, int count, char *dir, int flags); -extern smfs_pack_rec_func smfs_get_rec_pack_type(struct super_block *sb); - /*mds_kml.c*/ -int mds_rec_pack_init(struct super_block *sb); +int mds_rec_pack_init(struct smfs_super_info *smb); /*ost_kml.c*/ -int ost_rec_pack_init(struct super_block *sb); +int ost_rec_pack_init(struct smfs_super_info *smb); /*smfs_llog.c*/ extern int smfs_llog_setup(struct super_block *sb, struct vfsmount *mnt); @@ -292,7 +289,8 @@ static inline int get_active_entry(struct inode *dir, __u64 *active_entry) #define HOOK_RENAME 9 #define HOOK_SETATTR 10 #define HOOK_WRITE 11 -#define HOOK_MAX 11 +#define HOOK_READDIR 12 +#define HOOK_MAX 12 #define PRE_HOOK 0 #define POST_HOOK 1 @@ -322,10 +320,10 @@ do { \ GOTO(label, rc); \ } while(0) \ -#define SMFS_GET_INODE(sb, cache_inode, dir, index, inode, rc, label) \ +#define SMFS_GET_INODE(sb, cache_inode, dir, inode, rc, label) \ do { \ LASSERT(cache_inode); \ - inode = smfs_get_inode(sb, cache_inode->i_ino, dir, index); \ + inode = smfs_get_inode(sb, cache_inode->i_ino, dir, 0); \ iput(cache_inode); \ if (!inode) \ GOTO(label, rc = -ENOENT); \ @@ -335,7 +333,6 @@ do { \ #if CONFIG_SNAPFS int smfs_cow_init(struct super_block *sb); int smfs_cow_cleanup(struct smfs_super_info *smb); -int smfs_init_snap_inode_info(struct inode *inode, struct smfs_iget_args *args); int smfs_snap_test_inode(struct inode *inode, void *args); #else #define SMFS_PRE_COW(dir, dentry, new_dir, new_dentry, op, name, rc, label)