You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently had a bad problem with my macOS client hanging when I tried to copy some files and directories from there to a server running Netatalk. I narrowed it down to a file, .DS_Store, which was present in some of the directories. This files each had an extended attribute ("xattr") named org.netatalk.Metadata . If I deleted that xattr, the files and their directories did not cause macOS to hang.
As far as I can tell from my investigations, Netatalk adds the org.netatalk.Metadata xattr to server-side files in order to store certain AppleDouble metadata. These xattrs are only needed on the files stored in the server file system. I suspect that Netatalk would not send them to clients. But these files are years old, they have migrated from client to one server to another server to another client. It is quite possible that at one point, they were copied directly from a file server's file system directly to a client, bypassing Netatalk.
I am tempted to prevent future problems by deleting an org.netatalk.Metadata xattr from every file on my client computer's file system. If any are visible from the client view of files on the server, I'd like to delete those xattrs also. But I'd like to be sure I won't delete any xattrs which ought to be there.
So, are org.netatalk.Metadata xattrs ever valid on client-side macOS files?
And, are they ever valid in the client-side macOS view of files delivered via AFP on a Netatalk server? If Netatalk adds such an xattr to a server-side file, for its own purposes, will it let the client see and delete that xattr? And if so, does any data loss result from the client deleting it?
For what it's worth, this is what the extended attribute in question contained:
It looks to me as if this extended attribute is 401 bytes long. And what I see in Netatalk source code, atalk/adouble.h#L129-L135, that this structure should be 402 bytes long. I did see a message in my Netatalk server's log,
Mar 04... afpd[65958] {ad_open.c:801} (error:ad): ad_header_read_ea("/server/path/etc/.DS_Store"): short metadata EA
So maybe the content of this xattr is corrupt (short by 1 byte), and maybe that caused Netatalk to react in a way which in turn caused my macOS client to hang. But diagnosing that is not terribly important to me, if I can confidently delete such xattrs from all my client files.
By the way, I have had my most important digital files on servers, delivered by Netatalk to AFP macOS clients, for decades. I use Netatalk in this way every day. My deepest thanks to everyone who has worked on this software, for all the value they have delivered to me. Thank you!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I recently had a bad problem with my macOS client hanging when I tried to copy some files and directories from there to a server running Netatalk. I narrowed it down to a file,
.DS_Store
, which was present in some of the directories. This files each had an extended attribute ("xattr") namedorg.netatalk.Metadata
. If I deleted that xattr, the files and their directories did not cause macOS to hang.As far as I can tell from my investigations, Netatalk adds the
org.netatalk.Metadata
xattr to server-side files in order to store certain AppleDouble metadata. These xattrs are only needed on the files stored in the server file system. I suspect that Netatalk would not send them to clients. But these files are years old, they have migrated from client to one server to another server to another client. It is quite possible that at one point, they were copied directly from a file server's file system directly to a client, bypassing Netatalk.I am tempted to prevent future problems by deleting an
org.netatalk.Metadata
xattr from every file on my client computer's file system. If any are visible from the client view of files on the server, I'd like to delete those xattrs also. But I'd like to be sure I won't delete any xattrs which ought to be there.So, are
org.netatalk.Metadata
xattrs ever valid on client-side macOS files?And, are they ever valid in the client-side macOS view of files delivered via AFP on a Netatalk server? If Netatalk adds such an xattr to a server-side file, for its own purposes, will it let the client see and delete that xattr? And if so, does any data loss result from the client deleting it?
For what it's worth, this is what the extended attribute in question contained:
It looks to me as if this extended attribute is 401 bytes long. And what I see in Netatalk source code,
atalk/adouble.h#L129-L135
, that this structure should be 402 bytes long. I did see a message in my Netatalk server's log,Mar 04... afpd[65958] {ad_open.c:801} (error:ad): ad_header_read_ea("/server/path/etc/.DS_Store"): short metadata EA
So maybe the content of this xattr is corrupt (short by 1 byte), and maybe that caused Netatalk to react in a way which in turn caused my macOS client to hang. But diagnosing that is not terribly important to me, if I can confidently delete such xattrs from all my client files.
By the way, I have had my most important digital files on servers, delivered by Netatalk to AFP macOS clients, for decades. I use Netatalk in this way every day. My deepest thanks to everyone who has worked on this software, for all the value they have delivered to me. Thank you!
Beta Was this translation helpful? Give feedback.
All reactions