Re: Finder copy chunk size
Re: Finder copy chunk size
- Subject: Re: Finder copy chunk size
- From: Quinn <email@hidden>
- Date: Wed, 3 Dec 2003 09:43:15 +0000
At 15:02 +1100 3/12/03, Sam Vaughan wrote:
Does the Finder have any logic to decide what size transfers to
issue? Does it call any VFS layer hooks that we could implement?
I look at the Mac OS X 10.3 implementation. The Finder uses a 2 MB
buffer unless you're copying between different physical devices or
the source is a network volume. If either apply, the copy size in
the minimum of the source transfer size and the destination transfer
size. If this number is smaller than 4 KB, 4 KB is used instead.
If the volume is a floppy, Finder uses 16 KB for the optimal transfer
size. Otherwise it tests whether the volume is local. For a remote
volume, it uses f_iosize. For a local volume, it uses either the
greater of f_iosize or 512 KB.
[There's also a bunch of logic that comes into play if statfs returns
an error, but that shouldn't ever happen, right?]
The Finder determines whether a volume is local via the standard Mac
OS practice, which is to call PBHGetVolParms (a Carbon File Manager
routine) and then test the vMServerAdr field of the resulting
GetVolParmsInfoBuffer. Local volumes have a value of 0; non-local
volumes have a non-zero value.
The Carbon File Manager sets vMServerAdr based on the MNT_LOCAL flag
in the f_flags field returned by statfs.
S+E
--
Quinn "The Eskimo!" <
http://www.apple.com/developer/>
Apple Developer Technical Support * Networking, Communications, Hardware
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.