aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2011-12-23 05:53:07 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-13 14:06:08 -0500
commit1357ed0b4b9db30846377febb40a847d6103c991 (patch)
treea66b70a6e261699d3fe08a6998a3a1514fd375c0 /fs/udf
parent10f672f1a199240bc2a77d6f81e1d37f33ba743e (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>
Diffstat (limited to 'fs/udf')
-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 7b27b063ff6..7f0e18aa25d 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -1830,6 +1830,12 @@ static void udf_close_lvid(struct super_block *sb)
1830 le16_to_cpu(lvid->descTag.descCRCLength))); 1830 le16_to_cpu(lvid->descTag.descCRCLength)));
1831 1831
1832 lvid->descTag.tagChecksum = udf_tag_checksum(&lvid->descTag); 1832 lvid->descTag.tagChecksum = udf_tag_checksum(&lvid->descTag);
1833 /*
1834 * We set buffer uptodate unconditionally here to avoid spurious
1835 * warnings from mark_buffer_dirty() when previous EIO has marked
1836 * the buffer as !uptodate
1837 */
1838 set_buffer_uptodate(bh);
1833 mark_buffer_dirty(bh); 1839 mark_buffer_dirty(bh);
1834 sbi->s_lvid_dirty = 0; 1840 sbi->s_lvid_dirty = 0;
1835 mutex_unlock(&sbi->s_alloc_mutex); 1841 mutex_unlock(&sbi->s_alloc_mutex);