6 #define DEBUG_SUBSYSTEM S_SM
8 #include <linux/kmod.h>
9 #include <linux/init.h>
11 #include <linux/slab.h>
12 #include <linux/lustre_idl.h>
13 #include "smfs_internal.h"
16 /*FIXME there should be more conditions in this check*/
17 int smfs_do_kml(struct inode *dir)
19 struct smfs_super_info *smfs_info = S2SMI(dir->i_sb);
21 if (smfs_info->flags & SM_DO_KML) {
26 void smfs_getversion(struct smfs_version * smfs_version,
29 smfs_version->sm_mtime = (__u64)inode->i_mtime;
30 smfs_version->sm_ctime = (__u64)inode->i_ctime;
31 smfs_version->sm_size = (__u64)inode->i_size;
34 int smfs_kml_init(struct super_block *sb)
36 struct smfs_super_info *smfs_info = S2SMI(sb);
38 smfs_info->flags |= SM_DO_KML;
40 rc = smfs_llog_setup(&smfs_info->kml_llog);
45 int post_kml_mkdir(struct inode *dir, struct dentry *dentry)
47 struct smfs_version tgt_dir_ver, new_dir_ver;
50 smfs_getversion(&tgt_dir_ver, dir);
52 smfs_getversion(&new_dir_ver, dentry->d_inode);
54 error = smfs_journal_mkdir(dentry, &tgt_dir_ver,
56 dentry->d_inode->i_mode);