[dm-devel] [PATCH 2.6.19 5/5] fs: freeze_bdev with semaphore not mutex

Mike Snitzer snitzer at gmail.com
Tue Nov 7 20:18:08 UTC 2006


On 11/7/06, Alasdair G Kergon <agk at redhat.com> wrote:
> From: Srinivasa Ds <srinivasa at in.ibm.com>
>
> On debugging I found out that,"dmsetup suspend <device name>" calls
> "freeze_bdev()",which locks "bd_mount_mutex" to make sure that no new mounts
> happen on bdev until thaw_bdev() is called.  This "thaw_bdev()" is getting
> called when we resume the device through "dmsetup resume <device-name>".
> Hence we have 2 processes,one of which locks "bd_mount_mutex"(dmsetup
> suspend) and another(dmsetup resume) unlocks it.

Srinivasa's description of the patch just speaks to how freeze_bdev
and thaw_bdev are used by DM but completely skips justification for
switching from mutex to semaphore.  Why is it beneficial and/or
necessary to use a semaphore instead of a mutex here?

Mike




More information about the dm-devel mailing list