site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com ---------------------------------------------------------------------- Philip D. Wasson pwasson at maned dot com Software Engineer Managing Editor Inc. _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... I'm not sure if this is the correct list for this question, but it seems like it. I'm responsible for code that might have to manipulate Mac-created files, stored on Windows fileservers, from Windows, so I'm looking into how Mac OS X stores extra information in AppleDouble files. Now that Tiger has extended attribute support, I thought I should look into how that stuff is stored too. So I wrote a little program that can list, get, or set xattrs on a specified file (if there's already a program that does this, I don't know what it's called, but no big deal). I created an empty file, stored two different attributes, copied it using Finder to a fileserver mounted via SMB (stored on an NTFS volume), and then looked at its xattrs. To my surprise, the attributes I had set were missing, but I didn't get the error I expected. And I was able to set new attributes. When I listed them, I was again surprised to find an AFP_AfpInfo attribute, which is the name of the NTFS stream in which various servers store Mac file metadata. Presumably that attribute was created by a Services for Macintosh server running on that server machine. Plus there was no extra AppleDouble file. I used the SetFile utility to set the filetype of the file, and an AppleDouble file appeared; the AFP_AfpInfo xattr still had a default filetype in it, not the one I'd just set. Oh, and the attribute I set on the file after copying, when it resided on the server, showed up in a Windows program that lists additional data streams. This all seems rather inconsistent. xattrs don't get copied by the Finder when copying over SMB to NTFS even though it's supposed to be using the vaunted new system-supplied file-copying engine library. Setting xattrs on SMB-mounted files stores them in NTFS streams, but Mac metadata ,and presumably resource forks, set on Mac go into AppleDouble files even though they could store it in a stream the way that MS' Services for Macintosh, ExtremeZ-IP, and DAVE do. Is there some order to this that I'm missing? Are there docs that say what's stored where and when? It looks like if I want to copy a Mac file from Windows, I have to copy both the streams and the AppleDouble file; I figured it would be one or the other. This email sent to site_archiver@lists.apple.com
participants (1)
-
Philip D. Wasson