diff options
Diffstat (limited to 'fs/ext4/mmp.c')
| -rw-r--r-- | fs/ext4/mmp.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ext4/mmp.c b/fs/ext4/mmp.c index f99a1311e84..fe7c63f4717 100644 --- a/fs/ext4/mmp.c +++ b/fs/ext4/mmp.c @@ -44,6 +44,11 @@ static int write_mmp_block(struct super_block *sb, struct buffer_head *bh)  {  	struct mmp_struct *mmp = (struct mmp_struct *)(bh->b_data); +	/* +	 * We protect against freezing so that we don't create dirty buffers +	 * on frozen filesystem. +	 */ +	sb_start_write(sb);  	ext4_mmp_csum_set(sb, mmp);  	mark_buffer_dirty(bh);  	lock_buffer(bh); @@ -51,6 +56,7 @@ static int write_mmp_block(struct super_block *sb, struct buffer_head *bh)  	get_bh(bh);  	submit_bh(WRITE_SYNC, bh);  	wait_on_buffer(bh); +	sb_end_write(sb);  	if (unlikely(!buffer_uptodate(bh)))  		return 1;  |