On Wed 16-12-20 00:40:29, Theodore Y. Ts'o wrote: > Applied with the following additional change folded in: Cool. Thanks for fixing this! Honza > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 0c18f50f2207..9d0ce11bd48e 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -5475,17 +5475,21 @@ static int ext4_commit_super(struct super_block *sb, int sync) > spin_lock(&sbi->s_error_lock); > if (sbi->s_add_error_count > 0) { > es->s_state |= cpu_to_le16(EXT4_ERROR_FS); > - __ext4_update_tstamp(&es->s_first_error_time, > - &es->s_first_error_time_hi, > - sbi->s_first_error_time); > - strncpy(es->s_first_error_func, sbi->s_first_error_func, > - sizeof(es->s_first_error_func)); > - es->s_first_error_line = cpu_to_le32(sbi->s_first_error_line); > - es->s_first_error_ino = cpu_to_le32(sbi->s_first_error_ino); > - es->s_first_error_block = cpu_to_le64(sbi->s_first_error_block); > - es->s_first_error_errcode = > + if (!es->s_first_error_time && !es->s_first_error_time_hi) { > + __ext4_update_tstamp(&es->s_first_error_time, > + &es->s_first_error_time_hi, > + sbi->s_first_error_time); > + strncpy(es->s_first_error_func, sbi->s_first_error_func, > + sizeof(es->s_first_error_func)); > + es->s_first_error_line = > + cpu_to_le32(sbi->s_first_error_line); > + es->s_first_error_ino = > + cpu_to_le32(sbi->s_first_error_ino); > + es->s_first_error_block = > + cpu_to_le64(sbi->s_first_error_block); > + es->s_first_error_errcode = > ext4_errno_to_code(sbi->s_first_error_code); > - > + } > __ext4_update_tstamp(&es->s_last_error_time, > &es->s_last_error_time_hi, > sbi->s_last_error_time); -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR