From 33344420de4436a92259f971bc6b270e5d195dfb Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Wed, 20 Oct 2010 18:49:20 +0200 Subject: [PATCH] --- yaml --- r: 229145 b: refs/heads/master c: 949f4a7c08bc4a050eae7aeeac3e6d019d1feafb h: refs/heads/master i: 229143: 04b88d5f692b0d041029d7cb8131ff79f5160d21 v: v3 --- [refs] | 2 +- trunk/fs/udf/super.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 09378e87c9e4..7354be4ddf10 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d664b6af609ecf5e7dcedf92f0bf188e3a29b3e0 +refs/heads/master: 949f4a7c08bc4a050eae7aeeac3e6d019d1feafb diff --git a/trunk/fs/udf/super.c b/trunk/fs/udf/super.c index 948e1aca0f34..e54960c0e960 100644 --- a/trunk/fs/udf/super.c +++ b/trunk/fs/udf/super.c @@ -1773,6 +1773,8 @@ static void udf_open_lvid(struct super_block *sb) if (!bh) return; + + mutex_lock(&sbi->s_alloc_mutex); lvid = (struct logicalVolIntegrityDesc *)bh->b_data; lvidiu = udf_sb_lvidiu(sbi); @@ -1789,6 +1791,7 @@ static void udf_open_lvid(struct super_block *sb) lvid->descTag.tagChecksum = udf_tag_checksum(&lvid->descTag); mark_buffer_dirty(bh); sbi->s_lvid_dirty = 0; + mutex_unlock(&sbi->s_alloc_mutex); } static void udf_close_lvid(struct super_block *sb) @@ -1801,6 +1804,7 @@ static void udf_close_lvid(struct super_block *sb) if (!bh) return; + mutex_lock(&sbi->s_alloc_mutex); lvid = (struct logicalVolIntegrityDesc *)bh->b_data; lvidiu = udf_sb_lvidiu(sbi); lvidiu->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX; @@ -1821,6 +1825,7 @@ static void udf_close_lvid(struct super_block *sb) lvid->descTag.tagChecksum = udf_tag_checksum(&lvid->descTag); mark_buffer_dirty(bh); sbi->s_lvid_dirty = 0; + mutex_unlock(&sbi->s_alloc_mutex); } u64 lvid_get_unique_id(struct super_block *sb)