aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/nilfs.h
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-04-06 22:01:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-07 11:31:20 -0400
commite339ad31f59925b48a92ee3947692fdf9758b8c7 (patch)
tree6bb85c43bfd100b0a220c788c654f2f74ca553e4 /fs/nilfs2/nilfs.h
parentcece552074c591970353ad48308d65f110aeaf28 (diff)
nilfs2: introduce secondary super block
The former versions didn't have extra super blocks. This improves the weak point by introducing another super block at unused region in tail of the partition. This doesn't break disk format compatibility; older versions just ingore the secondary super block, and new versions just recover it if it doesn't exist. The partition created by an old mkfs may not have unused region, but in that case, the secondary super block will not be added. This doesn't make more redundant copies of the super block; it is a future work. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/nilfs2/nilfs.h')
-rw-r--r--fs/nilfs2/nilfs.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h
index a7f5bc724e33..19af5ab86275 100644
--- a/fs/nilfs2/nilfs.h
+++ b/fs/nilfs2/nilfs.h
@@ -275,13 +275,10 @@ extern void nilfs_error(struct super_block *, const char *, const char *, ...)
275extern void nilfs_warning(struct super_block *, const char *, const char *, ...) 275extern void nilfs_warning(struct super_block *, const char *, const char *, ...)
276 __attribute__ ((format (printf, 3, 4))); 276 __attribute__ ((format (printf, 3, 4)));
277extern struct nilfs_super_block * 277extern struct nilfs_super_block *
278nilfs_load_super_block(struct super_block *, struct buffer_head **); 278nilfs_read_super_block(struct super_block *, u64, int, struct buffer_head **);
279extern struct nilfs_super_block *
280nilfs_reload_super_block(struct super_block *, struct buffer_head **, int);
281extern int nilfs_store_magic_and_option(struct super_block *, 279extern int nilfs_store_magic_and_option(struct super_block *,
282 struct nilfs_super_block *, char *); 280 struct nilfs_super_block *, char *);
283extern void nilfs_update_last_segment(struct nilfs_sb_info *, int); 281extern int nilfs_commit_super(struct nilfs_sb_info *, int);
284extern int nilfs_commit_super(struct nilfs_sb_info *);
285extern int nilfs_attach_checkpoint(struct nilfs_sb_info *, __u64); 282extern int nilfs_attach_checkpoint(struct nilfs_sb_info *, __u64);
286extern void nilfs_detach_checkpoint(struct nilfs_sb_info *); 283extern void nilfs_detach_checkpoint(struct nilfs_sb_info *);
287 284