Messages in this thread | | | Subject | Re: [patch 2/3] splice: implement default splice_read method | From | Miklos Szeredi <> | Date | Thu, 14 May 2009 19:54:33 +0200 |
| |
On Thu, 14 May 2009, Jens Axboe wrote:
> > The bigger problem is that the default_file_splice_write() > > implementation in the other patch does the same (it calls > > buf->ops->map() on all buffers). > > Yep that's even worse, as that should go BUG() pretty much immediately > when the KM_USER0 slot is reused!
No, ->map() calls plain kmap() if "atomic" argument is zero. Nevertheless the deadlock due to multiple kmaps is still possible.
> > Hmm. Simple solution would be to do a write() for each buffer. But > > this only affects HIGHMEM kernels, so it's a bit pointless to do that > > on all archs. Sigh... > > It is unfortunate, we are going to be stuck with that for some time > still...
I'm going to be offline till next monday, I'll post a fix after that.
Thanks, Miklos
| |