-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Any comments on this? I'd like to be able to check this into our kernel tree, but I can't do so until these fields have been officially reserved. - -Jeff Jeff Mahoney wrote: > The following patch adds the fields for tracking mount counts and > last fsck timestamps to the superblock. It also increments the mount > count on every read-write mount. > > Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> > --- > > fs/reiserfs/super.c | 6 +++++- > include/linux/reiserfs_fs.h | 6 +++++- > include/linux/reiserfs_fs_sb.h | 3 +++ > 3 files changed, 13 insertions(+), 2 deletions(-) > > --- a/fs/reiserfs/super.c 2007-11-26 17:09:51.000000000 -0500 > +++ b/fs/reiserfs/super.c 2007-11-26 17:32:21.000000000 -0500 > @@ -1239,6 +1239,8 @@ static int reiserfs_remount(struct super > REISERFS_SB(s)->s_mount_state = sb_umount_state(rs); > s->s_flags &= ~MS_RDONLY; > set_sb_umount_state(rs, REISERFS_ERROR_FS); > + if (!old_format_only(s)) > + set_sb_mnt_count(rs, sb_mnt_count(rs) + 1); > /* mark_buffer_dirty (SB_BUFFER_WITH_SB (s), 1); */ > journal_mark_dirty(&th, s, SB_BUFFER_WITH_SB(s)); > REISERFS_SB(s)->s_mount_state = REISERFS_VALID_FS; > @@ -1764,7 +1766,9 @@ static int reiserfs_fill_super(struct su > } else if (!silent) { > reiserfs_info(s, "using 3.5.x disk format\n"); > } > - } > + } else > + set_sb_mnt_count(rs, sb_mnt_count(rs) + 1); > + > > journal_mark_dirty(&th, s, SB_BUFFER_WITH_SB(s)); > errval = journal_end(&th, s, 1); > --- a/include/linux/reiserfs_fs.h 2007-11-26 17:09:58.000000000 -0500 > +++ b/include/linux/reiserfs_fs.h 2007-11-26 17:22:35.000000000 -0500 > @@ -171,7 +171,11 @@ struct reiserfs_super_block { > __le32 s_flags; /* Right now used only by inode-attributes, if enabled */ > unsigned char s_uuid[16]; /* filesystem unique identifier */ > unsigned char s_label[16]; /* filesystem volume label */ > - char s_unused[88]; /* zero filled by mkreiserfs and > + __le16 s_mnt_count; /* Count of mounts since last fsck */ > + __le16 s_max_mnt_count; /* Maximum mounts before check */ > + __le32 s_lastcheck; /* Timestamp of last fsck */ > + __le32 s_check_interval; /* Interval between checks */ > + char s_unused[76]; /* zero filled by mkreiserfs and > * reiserfs_convert_objectid_map_v1() > * so any additions must be updated > * there as well. */ > --- a/include/linux/reiserfs_fs_sb.h 2007-11-26 17:09:58.000000000 -0500 > +++ b/include/linux/reiserfs_fs_sb.h 2007-11-26 17:24:54.000000000 -0500 > @@ -73,6 +73,9 @@ typedef enum { > #define sb_version(sbp) (le16_to_cpu((sbp)->s_v1.s_version)) > #define set_sb_version(sbp,v) ((sbp)->s_v1.s_version = cpu_to_le16(v)) > > +#define sb_mnt_count(sbp) (le16_to_cpu((sbp)->s_mnt_count)) > +#define set_sb_mnt_count(sbp, v) ((sbp)->s_mnt_count = cpu_to_le16(v)) > + > #define sb_reserved_for_journal(sbp) \ > (le16_to_cpu((sbp)->s_v1.s_reserved_for_journal)) > #define set_sb_reserved_for_journal(sbp,v) \ > - -- Jeff Mahoney SUSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFHVF0NLPWxlyuTD7IRApOuAJ4+oIw0W37hkDrUv8GSGNgX9R8itwCbBWOx FLf7hNIByLk/lkjsLm/4HIY= =gzSp -----END PGP SIGNATURE----- - To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html