diff options
Diffstat (limited to 'fs/nilfs2/segment.c')
| -rw-r--r-- | fs/nilfs2/segment.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 8006d0cd4440..8a2b428b1838 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c | |||
| @@ -889,12 +889,14 @@ static void nilfs_segctor_fill_in_super_root(struct nilfs_sc_info *sci, | |||
| 889 | { | 889 | { |
| 890 | struct buffer_head *bh_sr; | 890 | struct buffer_head *bh_sr; |
| 891 | struct nilfs_super_root *raw_sr; | 891 | struct nilfs_super_root *raw_sr; |
| 892 | unsigned isz = nilfs->ns_inode_size; | 892 | unsigned isz, srsz; |
| 893 | 893 | ||
| 894 | bh_sr = NILFS_LAST_SEGBUF(&sci->sc_segbufs)->sb_super_root; | 894 | bh_sr = NILFS_LAST_SEGBUF(&sci->sc_segbufs)->sb_super_root; |
| 895 | raw_sr = (struct nilfs_super_root *)bh_sr->b_data; | 895 | raw_sr = (struct nilfs_super_root *)bh_sr->b_data; |
| 896 | isz = nilfs->ns_inode_size; | ||
| 897 | srsz = NILFS_SR_BYTES(isz); | ||
| 896 | 898 | ||
| 897 | raw_sr->sr_bytes = cpu_to_le16(NILFS_SR_BYTES(isz)); | 899 | raw_sr->sr_bytes = cpu_to_le16(srsz); |
| 898 | raw_sr->sr_nongc_ctime | 900 | raw_sr->sr_nongc_ctime |
| 899 | = cpu_to_le64(nilfs_doing_gc() ? | 901 | = cpu_to_le64(nilfs_doing_gc() ? |
| 900 | nilfs->ns_nongc_ctime : sci->sc_seg_ctime); | 902 | nilfs->ns_nongc_ctime : sci->sc_seg_ctime); |
| @@ -906,6 +908,7 @@ static void nilfs_segctor_fill_in_super_root(struct nilfs_sc_info *sci, | |||
| 906 | NILFS_SR_CPFILE_OFFSET(isz), 1); | 908 | NILFS_SR_CPFILE_OFFSET(isz), 1); |
| 907 | nilfs_write_inode_common(nilfs->ns_sufile, (void *)raw_sr + | 909 | nilfs_write_inode_common(nilfs->ns_sufile, (void *)raw_sr + |
| 908 | NILFS_SR_SUFILE_OFFSET(isz), 1); | 910 | NILFS_SR_SUFILE_OFFSET(isz), 1); |
| 911 | memset((void *)raw_sr + srsz, 0, nilfs->ns_blocksize - srsz); | ||
| 909 | } | 912 | } |
| 910 | 913 | ||
| 911 | static void nilfs_redirty_inodes(struct list_head *head) | 914 | static void nilfs_redirty_inodes(struct list_head *head) |
