Whamcloud - gitweb
b4445 some fix for smfs_delete_inode
[fs/lustre-release.git] / lustre / smfs / smfs_internal.h
index a9ead26..ebca06e 100644 (file)
@@ -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)