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 | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.