]> git.hungrycats.org Git - linux/commitdiff
udf: Mark LVID buffer as uptodate before marking it dirty
authorJan Kara <jack@suse.cz>
Fri, 23 Dec 2011 10:53:07 +0000 (11:53 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 17 Mar 2012 13:03:54 +0000 (14:03 +0100)
commit 853a0c25baf96b028de1654bea1e0c8857eadf3d upstream.

When we hit EIO while writing LVID, the buffer uptodate bit is cleared.
This then results in an anoying warning from mark_buffer_dirty() when we
write the buffer again. So just set uptodate flag unconditionally.

Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/udf/super.c

index 5698bbf83bbff90565ad75e46e04d037c457135d..7fa47fd980e77398f2b9187db6848d115a268245 100644 (file)
@@ -1794,6 +1794,12 @@ static void udf_close_lvid(struct super_block *sb)
                                le16_to_cpu(lvid->descTag.descCRCLength)));
 
        lvid->descTag.tagChecksum = udf_tag_checksum(&lvid->descTag);
+       /*
+        * We set buffer uptodate unconditionally here to avoid spurious
+        * warnings from mark_buffer_dirty() when previous EIO has marked
+        * the buffer as !uptodate
+        */
+       set_buffer_uptodate(bh);
        mark_buffer_dirty(bh);
 }