]> git.neil.brown.name Git - LaFS.git/commitdiff
use i_mtime for file-set update time.
authorNeilBrown <neilb@suse.de>
Sun, 19 Sep 2010 11:59:35 +0000 (21:59 +1000)
committerNeilBrown <neilb@suse.de>
Sun, 19 Sep 2010 11:59:35 +0000 (21:59 +1000)
No need to have a separate field in the inode.

Signed-off-by: NeilBrown <neilb@suse.de>
inode.c
state.h
super.c

diff --git a/inode.c b/inode.c
index 0ad0488a6233e29d2fdee82d4bfb4db9208585c7..a476873c71c84bbc101148ee07745d0c895dedbc 100644 (file)
--- a/inode.c
+++ b/inode.c
@@ -282,7 +282,7 @@ lafs_import_inode(struct inode *ino, struct datablock *b)
                struct fs_md *i = &li->md.fs;
                struct fs_metadata *l = &lai->metadata[0].fs;
                i->usagetable = le16_to_cpu(l->snapshot_usage_table);
-               i->update_time = le64_to_cpu(l->update_time);
+               decode_time(&ino->i_mtime, le64_to_cpu(l->update_time));
                i->cblocks_used = le64_to_cpu(l->blocks_used);
                i->pblocks_used = i->ablocks_used = 0;
                i->blocks_allowed = le64_to_cpu(l->blocks_allowed);
@@ -541,7 +541,7 @@ void lafs_inode_init(struct datablock *b, int type, int mode, struct inode *dir)
        {
                struct fs_metadata *l = &lai->metadata[0].fs;
                size = sizeof(struct fs_metadata);
-               l->update_time = /* FIXME now? */ 0;
+               l->update_time = 0;
                l->blocks_used = 0;
                l->blocks_allowed = 0;
                l->creation_age = fs->wc[0].cluster_seq;
@@ -1171,7 +1171,7 @@ void lafs_inode_fillblock(struct inode *ino)
                struct fs_md *i = &li->md.fs;
                struct fs_metadata *l = &lai->metadata[0].fs;
                l->snapshot_usage_table = cpu_to_le16(i->usagetable);
-               l->update_time = cpu_to_le64(i->update_time);
+               l->update_time = cpu_to_le64(encode_time(&ino->i_mtime));
                l->blocks_used = cpu_to_le64(i->cblocks_used);
                l->blocks_allowed = cpu_to_le64(i->blocks_allowed);
                l->creation_age = cpu_to_le64(i->creation_age);
diff --git a/state.h b/state.h
index 78f3debfcc72d4d5790c6380007b04bec128ac2b..e6da2d49257cb259be62015796026c26bcc3aef3 100644 (file)
--- a/state.h
+++ b/state.h
@@ -583,7 +583,6 @@ struct lafs_inode {
                        int     usagetable;   /* 0 and unused for subsets,
                                               * 1 for main fs, >1 for snapshots
                                               */
-                       u64     update_time;
                        u64     cblocks_used; /* blocks commited */
                        u64     pblocks_used; /* extra blocks in next phase */
                        u64     ablocks_used; /* extra blocks allocated */
diff --git a/super.c b/super.c
index 3f968f902de9c238d7e55bdcb27da0ca351713cf..cba689d5df539e74a58842afd473395fc40325fa 100644 (file)
--- a/super.c
+++ b/super.c
@@ -1018,7 +1018,7 @@ lafs_get_subset(struct file_system_type *fs_type,
                        /* FIXME we lose md->parent here - what to do?? */
                        md = &LAFSI(ino)->md.fs;
                        md->usagetable = 0;
-                       md->update_time = CURRENT_TIME.tv_sec;
+                       ino->i_mtime = current_fs_time(sb);
                        md->cblocks_used = 0;
                        md->pblocks_used = 0;
                        md->ablocks_used = 0;