mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 13:11:14 +00:00
[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>
This commit is contained in:
parent
6f87f0deeb
commit
c039e3134a
7 changed files with 38 additions and 38 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue