xattr on SMB and NTFS
xattr on SMB and NTFS
- Subject: xattr on SMB and NTFS
- From: "Philip D. Wasson" <email@hidden>
- Date: Wed, 25 May 2005 19:27:11 -0400
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.
----------------------------------------------------------------------
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 (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden