diff options
| author | Arjan van de Ven <arjan@infradead.org> | 2006-03-23 03:00:28 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-23 07:38:11 -0800 | 
| commit | c039e3134ae62863bbc8e8429b29e3c43cf21b2a (patch) | |
| tree | b9bbf4fda0844e3173bf10a5bffbaaec94fb4246 /fs | |
| parent | 6f87f0deebaff2716a3ce9232f948d702690562a (diff) | |
| download | linux-c039e3134ae62863bbc8e8429b29e3c43cf21b2a.tar.bz2 | |
[PATCH] sem2mutex: blockdev #2
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/block_dev.c | 28 | ||||
| -rw-r--r-- | fs/buffer.c | 6 | ||||
| -rw-r--r-- | fs/super.c | 4 | 
3 files changed, 19 insertions, 19 deletions
| diff --git a/fs/block_dev.c b/fs/block_dev.c index 6e50346fb1ee..44d05e6e34db 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -265,8 +265,8 @@ static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)  	    SLAB_CTOR_CONSTRUCTOR)  	{  		memset(bdev, 0, sizeof(*bdev)); -		sema_init(&bdev->bd_sem, 1); -		sema_init(&bdev->bd_mount_sem, 1); +		mutex_init(&bdev->bd_mutex); +		mutex_init(&bdev->bd_mount_mutex);  		INIT_LIST_HEAD(&bdev->bd_inodes);  		INIT_LIST_HEAD(&bdev->bd_list);  		inode_init_once(&ei->vfs_inode); @@ -574,7 +574,7 @@ static int do_open(struct block_device *bdev, struct file *file)  	}  	owner = disk->fops->owner; -	down(&bdev->bd_sem); +	mutex_lock(&bdev->bd_mutex);  	if (!bdev->bd_openers) {  		bdev->bd_disk = disk;  		bdev->bd_contains = bdev; @@ -605,21 +605,21 @@ static int do_open(struct block_device *bdev, struct file *file)  			if (ret)  				goto out_first;  			bdev->bd_contains = whole; -			down(&whole->bd_sem); +			mutex_lock(&whole->bd_mutex);  			whole->bd_part_count++;  			p = disk->part[part - 1];  			bdev->bd_inode->i_data.backing_dev_info =  			   whole->bd_inode->i_data.backing_dev_info;  			if (!(disk->flags & GENHD_FL_UP) || !p || !p->nr_sects) {  				whole->bd_part_count--; -				up(&whole->bd_sem); +				mutex_unlock(&whole->bd_mutex);  				ret = -ENXIO;  				goto out_first;  			}  			kobject_get(&p->kobj);  			bdev->bd_part = p;  			bd_set_size(bdev, (loff_t) p->nr_sects << 9); -			up(&whole->bd_sem); +			mutex_unlock(&whole->bd_mutex);  		}  	} else {  		put_disk(disk); @@ -633,13 +633,13 @@ static int do_open(struct block_device *bdev, struct file *file)  			if (bdev->bd_invalidated)  				rescan_partitions(bdev->bd_disk, bdev);  		} else { -			down(&bdev->bd_contains->bd_sem); +			mutex_lock(&bdev->bd_contains->bd_mutex);  			bdev->bd_contains->bd_part_count++; -			up(&bdev->bd_contains->bd_sem); +			mutex_unlock(&bdev->bd_contains->bd_mutex);  		}  	}  	bdev->bd_openers++; -	up(&bdev->bd_sem); +	mutex_unlock(&bdev->bd_mutex);  	unlock_kernel();  	return 0; @@ -652,7 +652,7 @@ out_first:  	put_disk(disk);  	module_put(owner);  out: -	up(&bdev->bd_sem); +	mutex_unlock(&bdev->bd_mutex);  	unlock_kernel();  	if (ret)  		bdput(bdev); @@ -714,7 +714,7 @@ int blkdev_put(struct block_device *bdev)  	struct inode *bd_inode = bdev->bd_inode;  	struct gendisk *disk = bdev->bd_disk; -	down(&bdev->bd_sem); +	mutex_lock(&bdev->bd_mutex);  	lock_kernel();  	if (!--bdev->bd_openers) {  		sync_blockdev(bdev); @@ -724,9 +724,9 @@ int blkdev_put(struct block_device *bdev)  		if (disk->fops->release)  			ret = disk->fops->release(bd_inode, NULL);  	} else { -		down(&bdev->bd_contains->bd_sem); +		mutex_lock(&bdev->bd_contains->bd_mutex);  		bdev->bd_contains->bd_part_count--; -		up(&bdev->bd_contains->bd_sem); +		mutex_unlock(&bdev->bd_contains->bd_mutex);  	}  	if (!bdev->bd_openers) {  		struct module *owner = disk->fops->owner; @@ -746,7 +746,7 @@ int blkdev_put(struct block_device *bdev)  		bdev->bd_contains = NULL;  	}  	unlock_kernel(); -	up(&bdev->bd_sem); +	mutex_unlock(&bdev->bd_mutex);  	bdput(bdev);  	return ret;  } diff --git a/fs/buffer.c b/fs/buffer.c index 1d3683d496f8..0d6ca7bac6c8 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -201,7 +201,7 @@ int fsync_bdev(struct block_device *bdev)   * freeze_bdev  --  lock a filesystem and force it into a consistent state   * @bdev:	blockdevice to lock   * - * This takes the block device bd_mount_sem to make sure no new mounts + * This takes the block device bd_mount_mutex to make sure no new mounts   * happen on bdev until thaw_bdev() is called.   * If a superblock is found on this device, we take the s_umount semaphore   * on it to make sure nobody unmounts until the snapshot creation is done. @@ -210,7 +210,7 @@ struct super_block *freeze_bdev(struct block_device *bdev)  {  	struct super_block *sb; -	down(&bdev->bd_mount_sem); +	mutex_lock(&bdev->bd_mount_mutex);  	sb = get_super(bdev);  	if (sb && !(sb->s_flags & MS_RDONLY)) {  		sb->s_frozen = SB_FREEZE_WRITE; @@ -264,7 +264,7 @@ void thaw_bdev(struct block_device *bdev, struct super_block *sb)  		drop_super(sb);  	} -	up(&bdev->bd_mount_sem); +	mutex_unlock(&bdev->bd_mount_mutex);  }  EXPORT_SYMBOL(thaw_bdev); diff --git a/fs/super.c b/fs/super.c index e20b5580afd5..8f9c9b3af70c 100644 --- a/fs/super.c +++ b/fs/super.c @@ -693,9 +693,9 @@ struct super_block *get_sb_bdev(struct file_system_type *fs_type,  	 * will protect the lockfs code from trying to start a snapshot  	 * while we are mounting  	 */ -	down(&bdev->bd_mount_sem); +	mutex_lock(&bdev->bd_mount_mutex);  	s = sget(fs_type, test_bdev_super, set_bdev_super, bdev); -	up(&bdev->bd_mount_sem); +	mutex_unlock(&bdev->bd_mount_mutex);  	if (IS_ERR(s))  		goto out; |