From: torvalds@transmeta.com (Linus Torvalds)
To: linux-kernel@vger.kernel.org
Subject: Re: NFS mountned directory and apache2 (2.5.47)
Date: Fri, 15 Nov 2002 21:10:19 +0000 (UTC) [thread overview]
Message-ID: <ar3nrr$f1a$1@penguin.transmeta.com> (raw)
In-Reply-To: 20021115202649.A18706@infradead.org
In article <20021115202649.A18706@infradead.org>,
Christoph Hellwig <hch@infradead.org> wrote:
>On Fri, Nov 15, 2002 at 09:16:16PM +0100, Trond Myklebust wrote:
>> >>>>> " " == Petr Vandrovec <VANDROVE@vc.cvut.cz> writes:
>>
>> > It does not change anything on the brokeness of apache2 (or
>> > maybe glibc). It must be able to revert to read/write loop if
>> > sendfile fails with EINVAL. There is no guarantee that existing
>> > sendfile() API means that you can use it with all filesystems.
>>
>> I disagree. Sendfile can *always* be emulated using the standard file
>> 'read' method.
>
>Linus removed that in early 2.5 because it led to kmap() deadlocks.
>sendfile can fail with EINVAL and userspace must not rely on it
>working on any object.
Now that I think we've fixed the deadlocks a different way, we _might_
be able to re-introduce a more generic sendfile().
We should also change the name of the dang thing at least internally,
since it has very little to do with sending a file any more. And
furthermore we should probably introduce an internal file operation that
is the reverse of our misnamed "sendfile", ie a "receive actor" (we
already have the notion of actors, but we don't use them for receiving
directly into a "struct file *").
Then we could actually do a real "copyfile()", by just matching up the
source file "sendfile()" function with the destination file "receive
actor" function and letting it rip. That should allow true "move the
page cache page from one file to another" copies of files, for example.
Linus
next prev parent reply other threads:[~2002-11-15 21:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-15 18:19 NFS mountned directory and apache2 (2.5.47) Petr Vandrovec
2002-11-15 20:16 ` Trond Myklebust
2002-11-15 20:26 ` Christoph Hellwig
2002-11-15 20:53 ` Trond Myklebust
2002-11-16 4:44 ` Christoph Hellwig
2002-11-17 20:18 ` Trond Myklebust
2002-11-15 21:10 ` Linus Torvalds [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-11-15 10:25 Richard Bouska
2002-11-15 18:10 ` Trond Myklebust
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='ar3nrr$f1a$1@penguin.transmeta.com' \
--to=torvalds@transmeta.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox