[dm-devel] Synchronizing writes between kernel space and user space.

Abhishek Gupta agupta at cs.ubc.ca
Thu Apr 13 01:07:03 UTC 2006


First of all apologies but since this was an I/O problem, I thought that 
some of you might have come across it before.

I am writing an extension of the device mapper which supports recursive 
snapshots. The idea is to use a radix tree for logical to physical address 
translations and make a read-only copy of the root while taking snapshots. 
Now a crazy thing I have been trying is allocating blocks on 
demand and for that my module consults a bitmap kept aside for the entire 
disk. I was thinking of pushing volume deletion and creation to user 
space which will result in bitmap updates from the user space. So, the 
problem now is that what functions would allow my module to safely lock 
up 
the buffers holding the bitmap during block allocation.

I tried lock_page()/unlock_page() and that worked but I felt that it is 
too coarse grained for smaller sized buffers.

I am sorry if some of you find it irrelevant to the dm-devel community. 
All I am seeking is expert advice.

Thanks

Abhishek

On Wed, 12 Apr 2006, Kevin Corry wrote:

> Date: Wed, 12 Apr 2006 19:50:15 -0500
> From: Kevin Corry <kevcorry at us.ibm.com>
> To: dm-devel at redhat.com
> Cc: Abhishek Gupta <agupta at cs.ubc.ca>
> Subject: Re: [dm-devel] Synchronizing writes between kernel space and user
>     space.
> 
> On Wed April 12 2006 7:16 pm, Abhishek Gupta wrote:
>> Can anyone tell me the synchronization calls to be used if writes
>> to a device are being done from both user space and kernel space. I
>> noticed that lock_page()/unlock_page() is one set of functions that
>> can be used. Obviously, this is too coarse grained, if buffers are smaller
>> than the page size. The functions lock_buffer()/unlock_buffer() do not
>> seem to do the trick.
>
> What do you mean by doing writes from both user space and kernel space? Is
> there something in particular you're trying to synchronize?
>
> This question doesn't seem specific to device-mapper. I'd suggest posting this
> on lkml to get a wider range of responses.
>
> --
> Kevin Corry
> kevcorry at us.ibm.com
> http://www.ibm.com/linux/
> http://evms.sourceforge.net/
>




More information about the dm-devel mailing list