XFS SoftAssert when doing hard links in AFS?
Christopher Allen Wing
wingc at engin.umich.edu
Fri Mar 10 10:01:08 CET 2000
When running the pine mail program out of an AFS home directory, I
sometimes get kernel messages similar to the following:
XFS SoftAssert: existing inode (ce00db58, fid 1.537142509.6550.66885) !=
installing sent-mail.lock(c89aeaf0, fid 1.537142509.6550.66888)
(Linux 2.2, Arla 0.31)
This happens when updating mailboxes in AFS. Pine uses a lockfile scheme
with hard links to do atomic operations. This is the sequence of system
calls that causes the error: (observed with strace)
lstat("mailbox-name.lock")
(check to see if the lock is there; it's not)
open("mailbox-name.lock.UNIQUENAME", O_WRONLY|O_CREAT|O_EXCL, 0666)
close(fd)
(pine creates a temporary file)
link("mailbox-name.lock.UNIQUENAME", "mailbox-name.lock");
(the lock attempt, pine tries to hardlink the temporary file to
the lockfile)
stat("mailbox-name.lock.UNIQUENAME")
(pine checks to see if the link count of the temporary file is 2,
if so it assumes it got the lock)
unlink("mailbox-name.lock.UNIQUENAME")
(remove the temp file)
chmod("mailbox-name.lock", 0666)
(make the lock file linkable for others)
I've seen this in 0.30, 0.31, and the snapshots around both.
Earlier versions were fine. 0.27 definitely does not produce this error.
I can do more research into this problem if anyone is interested and can
help guide me.
Thanks,
Chris Wing
wingc at engin.umich.edu
More information about the Arla-drinkers
mailing list