ext4: MMP: fix error message rate-limiting logic in kmmpd
authorNikitas Angelinas <nikitasangelinas@gmail.com>
Tue, 18 Oct 2011 14:51:51 +0000 (10:51 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 18 Oct 2011 14:51:51 +0000 (10:51 -0400)
Current logic would print an error message only once, and then
'failed_writes' would stay at 1.  Rework the loop to increment
'failed_writes' and print the error message every
s_mmp_update_interval * 60 seconds, as intended according to the
comment.

Signed-off-by: Nikitas Angelinas <nikitas_angelinas@xyratex.com>
Signed-off-by: Andrew Perepechko <andrew_perepechko@xyratex.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Acked-by: Andreas Dilger <adilger@dilger.ca>
fs/ext4/mmp.c

index 2fca64e..6b32742 100644 (file)
@@ -125,8 +125,9 @@ static int kmmpd(void *data)
                 * Don't spew too many error messages. Print one every
                 * (s_mmp_update_interval * 60) seconds.
                 */
-               if (retval && (failed_writes % 60) == 0) {
-                       ext4_error(sb, "Error writing to MMP block");
+               if (retval) {
+                       if ((failed_writes % 60) == 0)
+                               ext4_error(sb, "Error writing to MMP block");
                        failed_writes++;
                }