From owner-freebsd-arch Sun Feb 11 19:35:15 2001 Delivered-To: freebsd-arch@freebsd.org Received: from smtp01.primenet.com (smtp01.primenet.com [206.165.6.131]) by hub.freebsd.org (Postfix) with ESMTP id 8177437B401; Sun, 11 Feb 2001 19:35:12 -0800 (PST) Received: (from daemon@localhost) by smtp01.primenet.com (8.9.3/8.9.3) id UAA09517; Sun, 11 Feb 2001 20:33:46 -0700 (MST) Received: from usr08.primenet.com(206.165.6.208) via SMTP by smtp01.primenet.com, id smtpdAAAcAayFs; Sun Feb 11 20:33:34 2001 Received: (from tlambert@localhost) by usr08.primenet.com (8.8.5/8.8.5) id UAA18209; Sun, 11 Feb 2001 20:34:57 -0700 (MST) From: Terry Lambert Message-Id: <200102120334.UAA18209@usr08.primenet.com> Subject: Re: Darwin VFSisms - VOP_COPYFILE() To: bp@butya.kz (Boris Popov) Date: Mon, 12 Feb 2001 03:34:57 +0000 (GMT) Cc: rwatson@FreeBSD.ORG (Robert Watson), freebsd-arch@FreeBSD.ORG In-Reply-To: from "Boris Popov" at Feb 12, 2001 08:53:43 AM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Well, I think behavior of VOP_COPYFILE should very well > documented, because any misbehavior may lead to significant data loss. > > The major problem is that copyfile-like RPCs are very OS/protocol > specific. For example, NCP allows user to copy any number of bytes from > specified offset in the source file to specified offset in the destination > file. SMB protocol doesn't support any of these parameters. But SMB > protocol offers ability to copy multiple files (using wildcards) and even > a MOVE RPC which deletes file(s) after copy. > > I'm unsure, but some sort of 'capabilities' bits would be useful. Better to just fail the call, if it used against an FS where it's not implemented. This is the way the other VOP's operate. If you introduce capability bit, then you have to define them and maintain them between operating systems. One of the original goals of the Heidemann stacking framework, and the reason that it uses descriptors, it that they can be transparently passed through layers or even proxied across a network, without intermediate layers (or hosts) needing to be able to understand their contents. Anything that creates a need to rendesvous between a producer and consumer unnecessarily is a bad thing. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message