• Home
  • Raw
  • Download

Lines Matching refs:sb

11 static __le32 ext4_mmp_csum(struct super_block *sb, struct mmp_struct *mmp)  in ext4_mmp_csum()  argument
13 struct ext4_sb_info *sbi = EXT4_SB(sb); in ext4_mmp_csum()
22 static int ext4_mmp_csum_verify(struct super_block *sb, struct mmp_struct *mmp) in ext4_mmp_csum_verify() argument
24 if (!ext4_has_metadata_csum(sb)) in ext4_mmp_csum_verify()
27 return mmp->mmp_checksum == ext4_mmp_csum(sb, mmp); in ext4_mmp_csum_verify()
30 static void ext4_mmp_csum_set(struct super_block *sb, struct mmp_struct *mmp) in ext4_mmp_csum_set() argument
32 if (!ext4_has_metadata_csum(sb)) in ext4_mmp_csum_set()
35 mmp->mmp_checksum = ext4_mmp_csum(sb, mmp); in ext4_mmp_csum_set()
42 static int write_mmp_block(struct super_block *sb, struct buffer_head *bh) in write_mmp_block() argument
50 sb_start_write(sb); in write_mmp_block()
51 ext4_mmp_csum_set(sb, mmp); in write_mmp_block()
57 sb_end_write(sb); in write_mmp_block()
68 static int read_mmp_block(struct super_block *sb, struct buffer_head **bh, in read_mmp_block() argument
81 *bh = sb_getblk(sb, mmp_block); in read_mmp_block()
102 if (!ext4_mmp_csum_verify(sb, mmp)) { in read_mmp_block()
110 ext4_warning(sb, "Error %d while reading MMP block %llu", in read_mmp_block()
118 void __dump_mmp_msg(struct super_block *sb, struct mmp_struct *mmp, in __dump_mmp_msg() argument
121 __ext4_warning(sb, function, line, "%s", msg); in __dump_mmp_msg()
122 __ext4_warning(sb, function, line, in __dump_mmp_msg()
134 struct super_block *sb = ((struct mmpd_data *) data)->sb; in kmmpd() local
136 struct ext4_super_block *es = EXT4_SB(sb)->s_es; in kmmpd()
170 retval = write_mmp_block(sb, bh); in kmmpd()
177 ext4_error(sb, "Error writing to MMP block"); in kmmpd()
183 ext4_warning(sb, "kmmpd being stopped since MMP feature" in kmmpd()
188 if (sb_rdonly(sb)) in kmmpd()
206 retval = read_mmp_block(sb, &bh_check, mmp_block); in kmmpd()
208 ext4_error(sb, "error reading MMP data: %d", in kmmpd()
217 dump_mmp_msg(sb, mmp_check, in kmmpd()
221 ext4_error(sb, "abort"); in kmmpd()
245 retval = write_mmp_block(sb, bh); in kmmpd()
248 EXT4_SB(sb)->s_mmp_tsk = NULL; in kmmpd()
272 int ext4_multi_mount_protect(struct super_block *sb, in ext4_multi_mount_protect() argument
275 struct ext4_super_block *es = EXT4_SB(sb)->s_es; in ext4_multi_mount_protect()
286 ext4_warning(sb, "Invalid MMP block in superblock"); in ext4_multi_mount_protect()
290 retval = read_mmp_block(sb, &bh, mmp_block); in ext4_multi_mount_protect()
311 dump_mmp_msg(sb, mmp, "fsck is running on the filesystem"); in ext4_multi_mount_protect()
320 ext4_warning(sb, "MMP interval %u higher than expected, please" in ext4_multi_mount_protect()
324 ext4_warning(sb, "MMP startup interrupted, failing mount\n"); in ext4_multi_mount_protect()
328 retval = read_mmp_block(sb, &bh, mmp_block); in ext4_multi_mount_protect()
333 dump_mmp_msg(sb, mmp, in ext4_multi_mount_protect()
345 retval = write_mmp_block(sb, bh); in ext4_multi_mount_protect()
353 ext4_warning(sb, "MMP startup interrupted, failing mount"); in ext4_multi_mount_protect()
357 retval = read_mmp_block(sb, &bh, mmp_block); in ext4_multi_mount_protect()
362 dump_mmp_msg(sb, mmp, in ext4_multi_mount_protect()
369 ext4_warning(sb, "not enough memory for mmpd_data"); in ext4_multi_mount_protect()
372 mmpd_data->sb = sb; in ext4_multi_mount_protect()
378 EXT4_SB(sb)->s_mmp_tsk = kthread_run(kmmpd, mmpd_data, "kmmpd-%s", in ext4_multi_mount_protect()
381 if (IS_ERR(EXT4_SB(sb)->s_mmp_tsk)) { in ext4_multi_mount_protect()
382 EXT4_SB(sb)->s_mmp_tsk = NULL; in ext4_multi_mount_protect()
384 ext4_warning(sb, "Unable to create kmmpd thread for %s.", in ext4_multi_mount_protect()
385 sb->s_id); in ext4_multi_mount_protect()