From: Daniel Phillips <phillips@bonn-fries.net>
To: "Albert D. Cahalan" <acahalan@cs.uml.edu>
Cc: quinn@nmt.edu (Quinn Harris),
linux-kernel@vger.kernel.org (linux-kernel@vger.kernel.org)
Subject: Re: File copy system call proposal
Date: Mon, 10 Dec 2001 16:19:33 +0100 [thread overview]
Message-ID: <E16DSDU-0001EN-00@starship.berlin> (raw)
In-Reply-To: <200112100544.fBA5isV223458@saturn.cs.uml.edu>
In-Reply-To: <200112100544.fBA5isV223458@saturn.cs.uml.edu>
On December 10, 2001 06:44 am, Albert D. Cahalan wrote:
> Daniel Phillips writes:
>
> > There's some merit to this idea. As Peter pointed out,
> > an in-kernel cp isn' needed: mmap+write does the job.
> > The question is, how to avoid the copy_from_user and
> > double caching of data?
>
> No, mmap+write does not do the job. SMB file servers have
> a remote copy operation. There shouldn't be any need to
> pull data over the network only to push it back again!
Hi Albert,
I don't get it, you're saying that this zero-copy optimization, which happens
entirely within the vfs, shouldn't be done because smb can't do it over a
network?
> The user-space copy operation is also highly likely to
> lose stuff that the kernel would know about:
>
> extended attributes (IRIX, OS/2, NT)
> forks / extra streams (MacOS, NT)
> creation time stamp (Microsoft: not ctime or mtime)
> author (GNU HURD: person who created the file)
> file type (MacOS)
> creator app (MacOS)
> unique ID (Win2K)
> mandatory access control data (Trusted Foo)
> non-UNIX permission bits (every other OS)
> ACLs (NFSv4, NT, Solaris...)
> translator (HURD)
> trustees (NetWare)
I'd think the mmap-based copy would only use the technique on the data
portion of a file.
Note that I'm not seriously proposing to do this, there are about 1,000 more
important things. I'm suggesting the original poster go take a look at the
issues involved in making it happen.
--
Daniel
next prev parent reply other threads:[~2001-12-10 15:17 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1007833194.17577.0.camel@buffy>
2001-12-08 3:42 ` Quinn Harris
2001-12-08 4:00 ` H. Peter Anvin
2001-12-08 4:25 ` Christian Lavoie
2001-12-08 6:03 ` Quinn Harris
2001-12-08 13:57 ` Daniel Phillips
2001-12-09 0:19 ` H. Peter Anvin
2001-12-09 4:56 ` Quinn Harris
2001-12-10 5:44 ` Albert D. Cahalan
2001-12-09 20:25 ` Hans Reiser
2001-12-10 15:19 ` Daniel Phillips [this message]
2001-12-13 10:01 ` Andreas Dilger
2001-12-13 21:17 ` Pavel Machek
2001-12-19 20:26 ` Daniel Phillips
2001-12-20 10:09 ` Pavel Machek
2001-12-20 13:38 ` Svein Ove Aas
2001-12-20 13:53 ` Jakob Østergaard
2001-12-20 14:00 ` Jakob Østergaard
2001-12-23 1:19 ` Pavel Machek
2001-12-20 14:31 ` David Woodhouse
2001-12-20 15:06 ` George Greer
2001-12-20 15:07 ` David Woodhouse
2001-12-20 21:32 ` Jamie Lokier
2001-12-08 19:23 ` Quinn Harris
2001-12-08 23:11 ` Ton Hospel
2001-12-09 15:35 ` Pavel Machek
2001-12-10 11:50 ` Albert D. Cahalan
2001-12-10 2:49 ` Hans Reiser
2001-12-10 12:13 ` Pavel Machek
2001-12-10 15:20 ` vda
2001-12-10 18:44 Petr Vandrovec
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=E16DSDU-0001EN-00@starship.berlin \
--to=phillips@bonn-fries.net \
--cc=acahalan@cs.uml.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=quinn@nmt.edu \
/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
all inboxes | Powered by JetHome®