Re: [patch 2/3] splice: implement default splice_read method

From: Miklos Szeredi
Date: Thu May 14 2009 - 13:55:05 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/