Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Error Code -5014 after upgrading Linux AFP server
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Error Code -5014 after upgrading Linux AFP server


I recently upgraded my Linux RAID server, from which I export several volumes to my Mac OS X clients via AFP using netatalk. I was running SuSE Linux 9.2, and everything worked find for over a year, but immediately after upgrading to open SuSE 10.2, I could no longer mount any of the AFP volumes on my clients, all attempts to do so resulted in "Error Code -5014".

I searched the web, and found a few reports of this problem, including one on this mailing list, but no solutions. This server is home to several large files that I need to access from my Mac clients, and for a variety of reasons NFS and Samba are not good alternatives. I had no choice but to investigate myself, found the problem and am writing in hopes of saving someone else an afternoon of detective work.

The root cause of the problem is that the netatalk developers redesigned an internal database stored on the server side with netatalk version 2.X, but they did not provide any sort of automated conversion with the upgrade. One must read the netatalk 2.X installation instructions carefully to understand the problem.

The confusion is compounded by netatalk using the same error code (#define AFPERR_MISC -5014) in at least a dozen different locations in the code, indicating a variety of different error conditions ranging from malloc() failures to difficulties reading the internal AFP database. Suboptimal coding practice, at best.

OK, irrelevant whining aside, the fix for this was very simple. After being clued in to the existence of this database by looking at the netatalk code on sourceforge, I searched the netatalk installation documentation and found a section on upgrading the database. The database is a Berkeley database stored in a directory called ".AppleDB" in the top level of the volume being exported by netatalk. The documentation discusses ways to convert the database to the new format, but also mentions that it can simply be removed (with some caveats that they allude to but don't really explain) and it will be rebuilt. I chose to try this approach, and stopped the netatalk daemons, (/etc/init.d/atalk stop) renamed the .AppleDB directory to AppleDB.orig, and restarted the daemons.

I can now mount the Linux volumes via AFP on my Mac clients!

Do not post admin requests to the list. They will be ignored.
Macosx-interop mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

Visit the Apple Store online or at retail locations.

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.