lkml.org 
[lkml]   [2007]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] Loop device - Tracking page writes made to a loop device through mmap
On Tue, 13 Mar 2007, Christoph Hellwig wrote:

> On Wed, Mar 14, 2007 at 07:21:41AM +1100, Kandan Venkataraman wrote:
>> All comments have been taken care of.
>>
>> Description:
>>
>> A file_operations structure variable called loop_fops is initialised with
>> the default block device file operations (def_blk_fops).
>> The mmap operation is overriden with a new function called loop_file_mmap.
>
> NACK. block device driver should never ever play around with file
> operations themselves. If you want functionality like the one you
> have please don't overload the loop driver, but start a new (character)
> driver doing specificaly what you want. And even then I'm not sure
> we'd want functionality like this in the mainline tree, but at least
> we can have an open discussion if it's done properly.
>

The reason I chose the loop device was the following:

The loop device has backing storage and makes use of the page cache. The
nopage method for all block device files and most disk files is
implemented by filemap_nopage. This function uses the page cache. Thus,
this allows me to mmap a large address space.

If I wrote a character device, I would have to store the contents in
kernel memory as the function filemap_nopage is not suitable for character
devices. This would severly restrict the size of my mmap.

I am out my depth here, any pointers on how to proceed would be very
helpful

Thanks
Kandan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-03-14 23:59    [W:0.153 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site