aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2011-12-23 11:53:07 +0100
committerWilly Tarreau <w@1wt.eu>2012-03-17 14:03:54 +0100
commitc7da4ed95a78e38fdaffb06eaf1a3f3318b1add6 (patch)
tree68a4cfe6250533fad0f7582d2723ee803b5e4119
parentdda3caa2b2f242fd2d3a2a8310ccc878919ac730 (diff)
udf: Mark LVID buffer as uptodate before marking it dirty
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>
-rw-r--r--fs/udf/super.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c
index 5698bbf83bbf..7fa47fd980e7 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -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);
}