Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23063
b: refs/heads/master
c: 1e7933d
h: refs/heads/master
i:
  23061: 64757ed
  23059: 0ae5cc7
  23055: bbe8387
v: v3
  • Loading branch information
Ingo Molnar authored and Linus Torvalds committed Mar 23, 2006
1 parent 5675e9c commit 8127d4f
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 26 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8e3f90459b7052c31a9669417b837fb14aa6d313
refs/heads/master: 1e7933defd0fce79b2d8ecdbc7ca37fed0c188ed
36 changes: 18 additions & 18 deletions trunk/fs/udf/balloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ static void udf_bitmap_free_blocks(struct super_block * sb,
int bitmap_nr;
unsigned long overflow;

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
if (bloc.logicalBlockNum < 0 ||
(bloc.logicalBlockNum + count) > UDF_SB_PARTLEN(sb, bloc.partitionReferenceNum))
{
Expand Down Expand Up @@ -211,7 +211,7 @@ static void udf_bitmap_free_blocks(struct super_block * sb,
sb->s_dirt = 1;
if (UDF_SB_LVIDBH(sb))
mark_buffer_dirty(UDF_SB_LVIDBH(sb));
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return;
}

Expand All @@ -226,7 +226,7 @@ static int udf_bitmap_prealloc_blocks(struct super_block * sb,
int nr_groups, bitmap_nr;
struct buffer_head *bh;

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
if (first_block < 0 || first_block >= UDF_SB_PARTLEN(sb, partition))
goto out;

Expand Down Expand Up @@ -275,7 +275,7 @@ static int udf_bitmap_prealloc_blocks(struct super_block * sb,
mark_buffer_dirty(UDF_SB_LVIDBH(sb));
}
sb->s_dirt = 1;
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return alloc_count;
}

Expand All @@ -291,7 +291,7 @@ static int udf_bitmap_new_block(struct super_block * sb,
int newblock = 0;

*err = -ENOSPC;
down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);

repeat:
if (goal < 0 || goal >= UDF_SB_PARTLEN(sb, partition))
Expand Down Expand Up @@ -364,7 +364,7 @@ static int udf_bitmap_new_block(struct super_block * sb,
}
if (i >= (nr_groups*2))
{
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return newblock;
}
if (bit < sb->s_blocksize << 3)
Expand All @@ -373,7 +373,7 @@ static int udf_bitmap_new_block(struct super_block * sb,
bit = udf_find_next_one_bit(bh->b_data, sb->s_blocksize << 3, group_start << 3);
if (bit >= sb->s_blocksize << 3)
{
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return 0;
}

Expand All @@ -387,7 +387,7 @@ static int udf_bitmap_new_block(struct super_block * sb,
*/
if (inode && DQUOT_ALLOC_BLOCK(inode, 1))
{
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
*err = -EDQUOT;
return 0;
}
Expand All @@ -410,13 +410,13 @@ static int udf_bitmap_new_block(struct super_block * sb,
mark_buffer_dirty(UDF_SB_LVIDBH(sb));
}
sb->s_dirt = 1;
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
*err = 0;
return newblock;

error_return:
*err = -EIO;
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return 0;
}

Expand All @@ -433,7 +433,7 @@ static void udf_table_free_blocks(struct super_block * sb,
int8_t etype;
int i;

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
if (bloc.logicalBlockNum < 0 ||
(bloc.logicalBlockNum + count) > UDF_SB_PARTLEN(sb, bloc.partitionReferenceNum))
{
Expand Down Expand Up @@ -666,7 +666,7 @@ static void udf_table_free_blocks(struct super_block * sb,

error_return:
sb->s_dirt = 1;
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return;
}

Expand All @@ -692,7 +692,7 @@ static int udf_table_prealloc_blocks(struct super_block * sb,
else
return 0;

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
extoffset = sizeof(struct unallocSpaceEntry);
bloc = UDF_I_LOCATION(table);

Expand Down Expand Up @@ -736,7 +736,7 @@ static int udf_table_prealloc_blocks(struct super_block * sb,
mark_buffer_dirty(UDF_SB_LVIDBH(sb));
sb->s_dirt = 1;
}
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return alloc_count;
}

Expand All @@ -761,7 +761,7 @@ static int udf_table_new_block(struct super_block * sb,
else
return newblock;

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
if (goal < 0 || goal >= UDF_SB_PARTLEN(sb, partition))
goal = 0;

Expand Down Expand Up @@ -811,7 +811,7 @@ static int udf_table_new_block(struct super_block * sb,
if (spread == 0xFFFFFFFF)
{
udf_release_data(goal_bh);
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
return 0;
}

Expand All @@ -827,7 +827,7 @@ static int udf_table_new_block(struct super_block * sb,
if (inode && DQUOT_ALLOC_BLOCK(inode, 1))
{
udf_release_data(goal_bh);
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
*err = -EDQUOT;
return 0;
}
Expand All @@ -846,7 +846,7 @@ static int udf_table_new_block(struct super_block * sb,
}

sb->s_dirt = 1;
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);
*err = 0;
return newblock;
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/fs/udf/ialloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ void udf_free_inode(struct inode * inode)

clear_inode(inode);

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
if (sbi->s_lvidbh) {
if (S_ISDIR(inode->i_mode))
UDF_SB_LVIDIU(sb)->numDirs =
Expand All @@ -53,7 +53,7 @@ void udf_free_inode(struct inode * inode)

mark_buffer_dirty(sbi->s_lvidbh);
}
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);

udf_free_blocks(sb, NULL, UDF_I_LOCATION(inode), 0, 1);
}
Expand Down Expand Up @@ -83,7 +83,7 @@ struct inode * udf_new_inode (struct inode *dir, int mode, int * err)
return NULL;
}

down(&sbi->s_alloc_sem);
mutex_lock(&sbi->s_alloc_mutex);
UDF_I_UNIQUE(inode) = 0;
UDF_I_LENEXTENTS(inode) = 0;
UDF_I_NEXT_ALLOC_BLOCK(inode) = 0;
Expand Down Expand Up @@ -148,7 +148,7 @@ struct inode * udf_new_inode (struct inode *dir, int mode, int * err)
UDF_I_CRTIME(inode) = current_fs_time(inode->i_sb);
insert_inode_hash(inode);
mark_inode_dirty(inode);
up(&sbi->s_alloc_sem);
mutex_unlock(&sbi->s_alloc_mutex);

if (DQUOT_ALLOC_INODE(inode))
{
Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/udf/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -1515,7 +1515,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
sb->s_fs_info = sbi;
memset(UDF_SB(sb), 0x00, sizeof(struct udf_sb_info));

init_MUTEX(&sbi->s_alloc_sem);
mutex_init(&sbi->s_alloc_mutex);

if (!udf_parse_options((char *)options, &uopt))
goto error_out;
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/linux/udf_fs_sb.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#ifndef _UDF_FS_SB_H
#define _UDF_FS_SB_H 1

#include <asm/semaphore.h>
#include <linux/mutex.h>

#pragma pack(1)

Expand Down Expand Up @@ -111,7 +111,7 @@ struct udf_sb_info
/* VAT inode */
struct inode *s_vat;

struct semaphore s_alloc_sem;
struct mutex s_alloc_mutex;
};

#endif /* _UDF_FS_SB_H */

0 comments on commit 8127d4f

Please sign in to comment.