Re: ext4: media error but where?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri 2014-07-04 13:17:37, Andreas Dilger wrote:
> On Jul 4, 2014, at 11:21 AM, Pavel Machek <pavel@xxxxxx> wrote:
> >>> pavel@duo:~$ uname -a
> >>> Linux duo 3.15.0-rc8+ #365 SMP Mon Jun 9 09:18:29 CEST 2014 i686
> >>> GNU/Linux
> >>> 
> >>> EXT4-fs (sda3): error count: 11
> >>> EXT4-fs (sda3): initial error at 1401714179: ext4_mb_generate_buddy:756
> >>> EXT4-fs (sda3): last error at 1401714179: ext4_reserve_inode_write:4877
> >>> 
> >>> That sounds like media error to me?
> >> 
> >> If you search your system logs since the last fsck, you should find 11
> >> instances of "EXT4-fs error" message, which means that there was some
> >> file system inconsisntencies detected.  The first error was detected at:
> >> 
> >> % date -d @1401714179
> >> Mon Jun  2 09:02:59 EDT 2014
> > 
> > Interesting. I always assumed 140... was block number.
> 
> Maybe it is worthwhile to improve this error message to be:
> 
>     EXT4-fs (sda3): initial error at time 1401714179: ...

I'm glad you suggested it. I actually done a patch before reading
this. What about:

---

Make it clear that values printed are times, and that it is error
since last fsck. Also add note about fsck version required.

Signed-off-by: Pavel Machek <pavel@xxxxxx>

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index b9b9aab..3423947 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2809,10 +2809,11 @@ static void print_daily_error_info(unsigned long arg)
 	es = sbi->s_es;
 
 	if (es->s_error_count)
-		ext4_msg(sb, KERN_NOTICE, "error count: %u",
+		/* fsck newer than v1.41.13 is needed to clean this condition. */
+		ext4_msg(sb, KERN_NOTICE, "error count since last fsck: %u",
 			 le32_to_cpu(es->s_error_count));
 	if (es->s_first_error_time) {
-		printk(KERN_NOTICE "EXT4-fs (%s): initial error at %u: %.*s:%d",
+		printk(KERN_NOTICE "EXT4-fs (%s): initial error at time %u: %.*s:%d",
 		       sb->s_id, le32_to_cpu(es->s_first_error_time),
 		       (int) sizeof(es->s_first_error_func),
 		       es->s_first_error_func,
@@ -2826,7 +2827,7 @@ static void print_daily_error_info(unsigned long arg)
 		printk("\n");
 	}
 	if (es->s_last_error_time) {
-		printk(KERN_NOTICE "EXT4-fs (%s): last error at %u: %.*s:%d",
+		printk(KERN_NOTICE "EXT4-fs (%s): last error at time %u: %.*s:%d",
 		       sb->s_id, le32_to_cpu(es->s_last_error_time),
 		       (int) sizeof(es->s_last_error_func),
 		       es->s_last_error_func,

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux