Lines Matching refs:sb

75 static int nilfs_setup_super(struct super_block *sb, int is_mount);
76 static int nilfs_remount(struct super_block *sb, int *flags, char *data);
78 static void nilfs_set_error(struct super_block *sb) in nilfs_set_error() argument
80 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_set_error()
86 sbp = nilfs_prepare_super(sb, 0); in nilfs_set_error()
91 nilfs_commit_super(sb, NILFS_SB_COMMIT_ALL); in nilfs_set_error()
109 void nilfs_error(struct super_block *sb, const char *function, in nilfs_error() argument
112 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_error()
122 sb->s_id, function, &vaf); in nilfs_error()
126 if (!(sb->s_flags & MS_RDONLY)) { in nilfs_error()
127 nilfs_set_error(sb); in nilfs_error()
131 sb->s_flags |= MS_RDONLY; in nilfs_error()
137 sb->s_id); in nilfs_error()
140 void nilfs_warning(struct super_block *sb, const char *function, in nilfs_warning() argument
152 sb->s_id, function, &vaf); in nilfs_warning()
158 struct inode *nilfs_alloc_inode(struct super_block *sb) in nilfs_alloc_inode() argument
190 static int nilfs_sync_super(struct super_block *sb, int flag) in nilfs_sync_super() argument
192 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_sync_super()
264 struct nilfs_super_block **nilfs_prepare_super(struct super_block *sb, in nilfs_prepare_super() argument
267 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_prepare_super()
277 sb->s_id); in nilfs_prepare_super()
291 int nilfs_commit_super(struct super_block *sb, int flag) in nilfs_commit_super() argument
293 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_commit_super()
316 return nilfs_sync_super(sb, flag); in nilfs_commit_super()
327 int nilfs_cleanup_super(struct super_block *sb) in nilfs_cleanup_super() argument
329 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_cleanup_super()
334 sbp = nilfs_prepare_super(sb, 0); in nilfs_cleanup_super()
347 ret = nilfs_commit_super(sb, flag); in nilfs_cleanup_super()
357 static int nilfs_move_2nd_super(struct super_block *sb, loff_t sb2off) in nilfs_move_2nd_super() argument
359 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_move_2nd_super()
382 nsbh = sb_getblk(sb, newblocknr); in nilfs_move_2nd_super()
414 int nilfs_resize_fs(struct super_block *sb, __u64 newsize) in nilfs_resize_fs() argument
416 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_resize_fs()
423 devsize = i_size_read(sb->s_bdev->bd_inode); in nilfs_resize_fs()
443 ret = nilfs_construct_segment(sb); in nilfs_resize_fs()
448 nilfs_move_2nd_super(sb, sb2off); in nilfs_resize_fs()
450 sbp = nilfs_prepare_super(sb, 0); in nilfs_resize_fs()
464 ret = nilfs_commit_super(sb, NILFS_SB_COMMIT_ALL); in nilfs_resize_fs()
480 static void nilfs_put_super(struct super_block *sb) in nilfs_put_super() argument
482 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_put_super()
484 nilfs_detach_log_writer(sb); in nilfs_put_super()
486 if (!(sb->s_flags & MS_RDONLY)) { in nilfs_put_super()
488 nilfs_cleanup_super(sb); in nilfs_put_super()
497 sb->s_fs_info = NULL; in nilfs_put_super()
500 static int nilfs_sync_fs(struct super_block *sb, int wait) in nilfs_sync_fs() argument
502 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_sync_fs()
508 err = nilfs_construct_segment(sb); in nilfs_sync_fs()
512 sbp = nilfs_prepare_super(sb, nilfs_sb_will_flip(nilfs)); in nilfs_sync_fs()
515 nilfs_commit_super(sb, NILFS_SB_COMMIT); in nilfs_sync_fs()
526 int nilfs_attach_checkpoint(struct super_block *sb, __u64 cno, int curr_mnt, in nilfs_attach_checkpoint() argument
529 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_attach_checkpoint()
558 err = nilfs_ifile_read(sb, root, nilfs->ns_inode_size, in nilfs_attach_checkpoint()
582 static int nilfs_freeze(struct super_block *sb) in nilfs_freeze() argument
584 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_freeze()
587 if (sb->s_flags & MS_RDONLY) in nilfs_freeze()
592 err = nilfs_cleanup_super(sb); in nilfs_freeze()
597 static int nilfs_unfreeze(struct super_block *sb) in nilfs_unfreeze() argument
599 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_unfreeze()
601 if (sb->s_flags & MS_RDONLY) in nilfs_unfreeze()
605 nilfs_setup_super(sb, false); in nilfs_unfreeze()
612 struct super_block *sb = dentry->d_sb; in nilfs_statfs() local
615 u64 id = huge_encode_dev(sb->s_bdev->bd_dev); in nilfs_statfs()
666 buf->f_bsize = sb->s_blocksize; in nilfs_statfs()
682 struct super_block *sb = dentry->d_sb; in nilfs_show_options() local
683 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_show_options()
738 static int parse_options(char *options, struct super_block *sb, int is_remount) in parse_options() argument
740 struct the_nilfs *nilfs = sb->s_fs_info; in parse_options()
806 nilfs_set_default_options(struct super_block *sb, in nilfs_set_default_options() argument
809 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_set_default_options()
815 static int nilfs_setup_super(struct super_block *sb, int is_mount) in nilfs_setup_super() argument
817 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_setup_super()
823 sbp = nilfs_prepare_super(sb, 0); in nilfs_setup_super()
854 return nilfs_commit_super(sb, NILFS_SB_COMMIT_ALL); in nilfs_setup_super()
857 struct nilfs_super_block *nilfs_read_super_block(struct super_block *sb, in nilfs_read_super_block() argument
865 *pbh = sb_bread(sb, sb_index); in nilfs_read_super_block()
871 int nilfs_store_magic_and_option(struct super_block *sb, in nilfs_store_magic_and_option() argument
875 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_store_magic_and_option()
877 sb->s_magic = le16_to_cpu(sbp->s_magic); in nilfs_store_magic_and_option()
881 sb->s_flags |= MS_NOATIME; in nilfs_store_magic_and_option()
884 nilfs_set_default_options(sb, sbp); in nilfs_store_magic_and_option()
891 return !parse_options(data, sb, 0) ? -EINVAL : 0 ; in nilfs_store_magic_and_option()
894 int nilfs_check_feature_compatibility(struct super_block *sb, in nilfs_check_feature_compatibility() argument
909 if (!(sb->s_flags & MS_RDONLY) && features) { in nilfs_check_feature_compatibility()
918 static int nilfs_get_root_dentry(struct super_block *sb, in nilfs_get_root_dentry() argument
926 inode = nilfs_iget(sb, root, NILFS_ROOT_INO); in nilfs_get_root_dentry()
1015 int nilfs_checkpoint_is_mounted(struct super_block *sb, __u64 cno) in nilfs_checkpoint_is_mounted() argument
1017 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_checkpoint_is_mounted()
1032 inode = nilfs_ilookup(sb, root, NILFS_ROOT_INO); in nilfs_checkpoint_is_mounted()
1056 nilfs_fill_super(struct super_block *sb, void *data, int silent) in nilfs_fill_super() argument
1063 nilfs = alloc_nilfs(sb->s_bdev); in nilfs_fill_super()
1067 sb->s_fs_info = nilfs; in nilfs_fill_super()
1069 err = init_nilfs(nilfs, sb, (char *)data); in nilfs_fill_super()
1073 sb->s_op = &nilfs_sops; in nilfs_fill_super()
1074 sb->s_export_op = &nilfs_export_ops; in nilfs_fill_super()
1075 sb->s_root = NULL; in nilfs_fill_super()
1076 sb->s_time_gran = 1; in nilfs_fill_super()
1077 sb->s_max_links = NILFS_LINK_MAX; in nilfs_fill_super()
1079 sb->s_bdi = &bdev_get_queue(sb->s_bdev)->backing_dev_info; in nilfs_fill_super()
1081 err = load_nilfs(nilfs, sb); in nilfs_fill_super()
1086 err = nilfs_attach_checkpoint(sb, cno, true, &fsroot); in nilfs_fill_super()
1093 if (!(sb->s_flags & MS_RDONLY)) { in nilfs_fill_super()
1094 err = nilfs_attach_log_writer(sb, fsroot); in nilfs_fill_super()
1099 err = nilfs_get_root_dentry(sb, fsroot, &sb->s_root); in nilfs_fill_super()
1105 if (!(sb->s_flags & MS_RDONLY)) { in nilfs_fill_super()
1107 nilfs_setup_super(sb, true); in nilfs_fill_super()
1114 nilfs_detach_log_writer(sb); in nilfs_fill_super()
1129 static int nilfs_remount(struct super_block *sb, int *flags, char *data) in nilfs_remount() argument
1131 struct the_nilfs *nilfs = sb->s_fs_info; in nilfs_remount()
1136 sync_filesystem(sb); in nilfs_remount()
1137 old_sb_flags = sb->s_flags; in nilfs_remount()
1140 if (!parse_options(data, sb, 1)) { in nilfs_remount()
1144 sb->s_flags = (sb->s_flags & ~MS_POSIXACL); in nilfs_remount()
1151 "incomplete recovery state.\n", sb->s_id); in nilfs_remount()
1155 if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) in nilfs_remount()
1159 nilfs_detach_log_writer(sb); in nilfs_remount()
1160 sb->s_flags |= MS_RDONLY; in nilfs_remount()
1167 nilfs_cleanup_super(sb); in nilfs_remount()
1186 sb->s_id, (unsigned long long)features); in nilfs_remount()
1191 sb->s_flags &= ~MS_RDONLY; in nilfs_remount()
1193 root = NILFS_I(d_inode(sb->s_root))->i_root; in nilfs_remount()
1194 err = nilfs_attach_log_writer(sb, root); in nilfs_remount()
1199 nilfs_setup_super(sb, true); in nilfs_remount()
1206 sb->s_flags = old_sb_flags; in nilfs_remount()