Commit c039e3134ae62863bbc8e8429b29e3c43cf21b2a

Authored by Arjan van de Ven
Committed by Linus Torvalds
1 parent 6f87f0deeb

[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>

Showing 7 changed files with 38 additions and 38 deletions Side-by-side Diff

... ... @@ -42,9 +42,9 @@
42 42 return -EINVAL;
43 43 }
44 44 /* partition number in use? */
45   - down(&bdev->bd_sem);
  45 + mutex_lock(&bdev->bd_mutex);
46 46 if (disk->part[part - 1]) {
47   - up(&bdev->bd_sem);
  47 + mutex_unlock(&bdev->bd_mutex);
48 48 return -EBUSY;
49 49 }
50 50 /* overlap? */
51 51  
... ... @@ -55,13 +55,13 @@
55 55 continue;
56 56 if (!(start+length <= s->start_sect ||
57 57 start >= s->start_sect + s->nr_sects)) {
58   - up(&bdev->bd_sem);
  58 + mutex_unlock(&bdev->bd_mutex);
59 59 return -EBUSY;
60 60 }
61 61 }
62 62 /* all seems OK */
63 63 add_partition(disk, part, start, length);
64   - up(&bdev->bd_sem);
  64 + mutex_unlock(&bdev->bd_mutex);
65 65 return 0;
66 66 case BLKPG_DEL_PARTITION:
67 67 if (!disk->part[part-1])
68 68  
... ... @@ -71,9 +71,9 @@
71 71 bdevp = bdget_disk(disk, part);
72 72 if (!bdevp)
73 73 return -ENOMEM;
74   - down(&bdevp->bd_sem);
  74 + mutex_lock(&bdevp->bd_mutex);
75 75 if (bdevp->bd_openers) {
76   - up(&bdevp->bd_sem);
  76 + mutex_unlock(&bdevp->bd_mutex);
77 77 bdput(bdevp);
78 78 return -EBUSY;
79 79 }
80 80  
... ... @@ -81,10 +81,10 @@
81 81 fsync_bdev(bdevp);
82 82 invalidate_bdev(bdevp, 0);
83 83  
84   - down(&bdev->bd_sem);
  84 + mutex_lock(&bdev->bd_mutex);
85 85 delete_partition(disk, part);
86   - up(&bdev->bd_sem);
87   - up(&bdevp->bd_sem);
  86 + mutex_unlock(&bdev->bd_mutex);
  87 + mutex_unlock(&bdevp->bd_mutex);
88 88 bdput(bdevp);
89 89  
90 90 return 0;
91 91  
... ... @@ -102,10 +102,10 @@
102 102 return -EINVAL;
103 103 if (!capable(CAP_SYS_ADMIN))
104 104 return -EACCES;
105   - if (down_trylock(&bdev->bd_sem))
  105 + if (!mutex_trylock(&bdev->bd_mutex))
106 106 return -EBUSY;
107 107 res = rescan_partitions(disk, bdev);
108   - up(&bdev->bd_sem);
  108 + mutex_unlock(&bdev->bd_mutex);
109 109 return res;
110 110 }
111 111  
... ... @@ -310,12 +310,12 @@
310 310 * cache
311 311 */
312 312 error = -EBUSY;
313   - down(&bdev->bd_sem);
  313 + mutex_lock(&bdev->bd_mutex);
314 314 if (bdev->bd_openers <= 2) {
315 315 truncate_inode_pages(bdev->bd_inode->i_mapping, 0);
316 316 error = 0;
317 317 }
318   - up(&bdev->bd_sem);
  318 + mutex_unlock(&bdev->bd_mutex);
319 319 return error;
320 320 }
321 321  
drivers/s390/block/dasd_ioctl.c
... ... @@ -151,9 +151,9 @@
151 151 return -ENODEV;
152 152 dasd_enable_device(device);
153 153 /* Formatting the dasd device can change the capacity. */
154   - down(&bdev->bd_sem);
  154 + mutex_lock(&bdev->bd_mutex);
155 155 i_size_write(bdev->bd_inode, (loff_t)get_capacity(device->gdp) << 9);
156   - up(&bdev->bd_sem);
  156 + mutex_unlock(&bdev->bd_mutex);
157 157 return 0;
158 158 }
159 159  
160 160  
... ... @@ -184,9 +184,9 @@
184 184 * Set i_size to zero, since read, write, etc. check against this
185 185 * value.
186 186 */
187   - down(&bdev->bd_sem);
  187 + mutex_lock(&bdev->bd_mutex);
188 188 i_size_write(bdev->bd_inode, 0);
189   - up(&bdev->bd_sem);
  189 + mutex_unlock(&bdev->bd_mutex);
190 190 return 0;
191 191 }
192 192  
... ... @@ -265,8 +265,8 @@
265 265 SLAB_CTOR_CONSTRUCTOR)
266 266 {
267 267 memset(bdev, 0, sizeof(*bdev));
268   - sema_init(&bdev->bd_sem, 1);
269   - sema_init(&bdev->bd_mount_sem, 1);
  268 + mutex_init(&bdev->bd_mutex);
  269 + mutex_init(&bdev->bd_mount_mutex);
270 270 INIT_LIST_HEAD(&bdev->bd_inodes);
271 271 INIT_LIST_HEAD(&bdev->bd_list);
272 272 inode_init_once(&ei->vfs_inode);
... ... @@ -574,7 +574,7 @@
574 574 }
575 575 owner = disk->fops->owner;
576 576  
577   - down(&bdev->bd_sem);
  577 + mutex_lock(&bdev->bd_mutex);
578 578 if (!bdev->bd_openers) {
579 579 bdev->bd_disk = disk;
580 580 bdev->bd_contains = bdev;
581 581  
582 582  
... ... @@ -605,21 +605,21 @@
605 605 if (ret)
606 606 goto out_first;
607 607 bdev->bd_contains = whole;
608   - down(&whole->bd_sem);
  608 + mutex_lock(&whole->bd_mutex);
609 609 whole->bd_part_count++;
610 610 p = disk->part[part - 1];
611 611 bdev->bd_inode->i_data.backing_dev_info =
612 612 whole->bd_inode->i_data.backing_dev_info;
613 613 if (!(disk->flags & GENHD_FL_UP) || !p || !p->nr_sects) {
614 614 whole->bd_part_count--;
615   - up(&whole->bd_sem);
  615 + mutex_unlock(&whole->bd_mutex);
616 616 ret = -ENXIO;
617 617 goto out_first;
618 618 }
619 619 kobject_get(&p->kobj);
620 620 bdev->bd_part = p;
621 621 bd_set_size(bdev, (loff_t) p->nr_sects << 9);
622   - up(&whole->bd_sem);
  622 + mutex_unlock(&whole->bd_mutex);
623 623 }
624 624 } else {
625 625 put_disk(disk);
626 626  
627 627  
... ... @@ -633,13 +633,13 @@
633 633 if (bdev->bd_invalidated)
634 634 rescan_partitions(bdev->bd_disk, bdev);
635 635 } else {
636   - down(&bdev->bd_contains->bd_sem);
  636 + mutex_lock(&bdev->bd_contains->bd_mutex);
637 637 bdev->bd_contains->bd_part_count++;
638   - up(&bdev->bd_contains->bd_sem);
  638 + mutex_unlock(&bdev->bd_contains->bd_mutex);
639 639 }
640 640 }
641 641 bdev->bd_openers++;
642   - up(&bdev->bd_sem);
  642 + mutex_unlock(&bdev->bd_mutex);
643 643 unlock_kernel();
644 644 return 0;
645 645  
... ... @@ -652,7 +652,7 @@
652 652 put_disk(disk);
653 653 module_put(owner);
654 654 out:
655   - up(&bdev->bd_sem);
  655 + mutex_unlock(&bdev->bd_mutex);
656 656 unlock_kernel();
657 657 if (ret)
658 658 bdput(bdev);
... ... @@ -714,7 +714,7 @@
714 714 struct inode *bd_inode = bdev->bd_inode;
715 715 struct gendisk *disk = bdev->bd_disk;
716 716  
717   - down(&bdev->bd_sem);
  717 + mutex_lock(&bdev->bd_mutex);
718 718 lock_kernel();
719 719 if (!--bdev->bd_openers) {
720 720 sync_blockdev(bdev);
721 721  
... ... @@ -724,9 +724,9 @@
724 724 if (disk->fops->release)
725 725 ret = disk->fops->release(bd_inode, NULL);
726 726 } else {
727   - down(&bdev->bd_contains->bd_sem);
  727 + mutex_lock(&bdev->bd_contains->bd_mutex);
728 728 bdev->bd_contains->bd_part_count--;
729   - up(&bdev->bd_contains->bd_sem);
  729 + mutex_unlock(&bdev->bd_contains->bd_mutex);
730 730 }
731 731 if (!bdev->bd_openers) {
732 732 struct module *owner = disk->fops->owner;
... ... @@ -746,7 +746,7 @@
746 746 bdev->bd_contains = NULL;
747 747 }
748 748 unlock_kernel();
749   - up(&bdev->bd_sem);
  749 + mutex_unlock(&bdev->bd_mutex);
750 750 bdput(bdev);
751 751 return ret;
752 752 }
... ... @@ -201,7 +201,7 @@
201 201 * freeze_bdev -- lock a filesystem and force it into a consistent state
202 202 * @bdev: blockdevice to lock
203 203 *
204   - * This takes the block device bd_mount_sem to make sure no new mounts
  204 + * This takes the block device bd_mount_mutex to make sure no new mounts
205 205 * happen on bdev until thaw_bdev() is called.
206 206 * If a superblock is found on this device, we take the s_umount semaphore
207 207 * on it to make sure nobody unmounts until the snapshot creation is done.
... ... @@ -210,7 +210,7 @@
210 210 {
211 211 struct super_block *sb;
212 212  
213   - down(&bdev->bd_mount_sem);
  213 + mutex_lock(&bdev->bd_mount_mutex);
214 214 sb = get_super(bdev);
215 215 if (sb && !(sb->s_flags & MS_RDONLY)) {
216 216 sb->s_frozen = SB_FREEZE_WRITE;
... ... @@ -264,7 +264,7 @@
264 264 drop_super(sb);
265 265 }
266 266  
267   - up(&bdev->bd_mount_sem);
  267 + mutex_unlock(&bdev->bd_mount_mutex);
268 268 }
269 269 EXPORT_SYMBOL(thaw_bdev);
270 270  
... ... @@ -693,9 +693,9 @@
693 693 * will protect the lockfs code from trying to start a snapshot
694 694 * while we are mounting
695 695 */
696   - down(&bdev->bd_mount_sem);
  696 + mutex_lock(&bdev->bd_mount_mutex);
697 697 s = sget(fs_type, test_bdev_super, set_bdev_super, bdev);
698   - up(&bdev->bd_mount_sem);
  698 + mutex_unlock(&bdev->bd_mount_mutex);
699 699 if (IS_ERR(s))
700 700 goto out;
701 701  
... ... @@ -397,8 +397,8 @@
397 397 dev_t bd_dev; /* not a kdev_t - it's a search key */
398 398 struct inode * bd_inode; /* will die */
399 399 int bd_openers;
400   - struct semaphore bd_sem; /* open/close mutex */
401   - struct semaphore bd_mount_sem; /* mount mutex */
  400 + struct mutex bd_mutex; /* open/close mutex */
  401 + struct mutex bd_mount_mutex; /* mount mutex */
402 402 struct list_head bd_inodes;
403 403 void * bd_holder;
404 404 int bd_holders;