Re: Remote copy on AFP volume
Re: Remote copy on AFP volume
- Subject: Re: Remote copy on AFP volume
- From: James Bucanek <email@hidden>
- Date: Mon, 21 Apr 2008 12:34:00 -0700
Jim Luther <mailto:email@hidden> wrote (Monday, April 21,
2008 11:36 AM -0700):
The File Manager copy functions (and BSD level copy functions) on Mac
OS X do not take advantage of the AFP protocol's ability to tell a
server to copy between two different volumes as long as they're on the
same server. So the AFP protocol allows it, but it's not used. Pre-Mac
OS X system software took advantage of this protocol feature, but in
practice the UI around it didn't work very well with large files
because there's no feedback from the server during an AFP copy
operation.
OK, now I'm confused. Quinn wrote
FSCopyObject does not go through <x-man-page://3/copyfile> but it will
use the copyfile system call under some circumstances. Specifically, it
requires that the source and destination volumes are the same and the
volume supports copyfile per the VOL_CAP_INT_COPYFILE flag returned by
<x-man-page://2/getattrlist>. Notably, AFP actually allows you to copy
between two different volumes as long as they're on the same server, but
FSCopyObject does not take advantage of that.
... which implies that the copyfile system call will
automatically instruct the file server to perform the copy
locally. So FSCopyObjectSync should work on both Tiger and
Leopard. Or is the copyfile system call Leopard only too?
Assuming it is, it looks like I should be doing this
if (PBFSCopyFileSync!=NULL) // Leopard?
use PBFSCopyFileSync
else
if (source on AFP volume)
use FPCopyFile
else
use FSCopyObjectSync
--
James Bucanek
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden