* Trying to use splice from a driver
@ 2008-07-08 19:52 Francis Moreau
0 siblings, 0 replies; only message in thread
From: Francis Moreau @ 2008-07-08 19:52 UTC (permalink / raw)
To: Linux Kernel Mailing List
Hello,
I'm trying to implement splice ops in a driver, specially the
splice_read method.
Basically the driver receives data and splice them to a pipe in order to
finally move the data to a file.
Before receiving the data, the driver allocates a free page by calling
alloc_page(). Then it fills it with the data received by the device and
then stores the page ref in the splice_pipe_desc structure. Once the
structure is initialised the driver calls splice_to_pipe.
Now the question is what am I supposed to use for pipe_buf_operations in
the splice_pipe_desc structure ?
I'm tempted to use 'user_page_pipe_buf_ops' but I'm not sure. Specially
for the release method, which points to page_cache_pipe_buf_release(),
since the allocated page (the os allocated by the driver) are not coming
from the page cache.
The same is actually true for vmsplice() where the pages are coming from
the user mem space (not from the page cache), so I'm probably missing
something...
Could aynbody enlight me ?
thanks,
--
Francis
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-07-08 19:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-08 19:52 Trying to use splice from a driver Francis Moreau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®