On Dec 06, 2006 17:23 +0100, Roland Fehrenbacher wrote:
> on one of our OSTs, I get the message
>
> [15065.001307] LustreError: 12549:0:(filter.c:2546:filter_precreate())
> ost4-2: Serious error: objid 9413629 already exists; is this filesystem
> corrupt?
> [15065.016643] LustreError: 12549:0:(filter.c:2547:filter_precreate()) LBUG
>
> which brings Lustre client access and the OST to a halt. Any idea what
> can be done to remove the troubling objid? An e2fsck on both MDS and
> OST didn't show any corruption.
You need to mount the OST directly (with Lustre stopped) to fix this problem.
The problem is that there is an inconsistency between the file that tracks
the last created object and the objects themselves. This shouldn't be
possible with ext3, unless you are using write cache and the system crashes
in the middle of committing a transaction that is later rolled back.
mount -t ldiskfs /dev/{ostdev} /mnt/ost
od -td8 /mnt/ost/O/0/LAST_ID # should be highest object ID
ls /mnt/ost/O/0/d* # find highest object ID
xxd /mnt/ost/O/0/LAST_ID /tmp/li.asc
{edit /tmp/li.asc to record highest-found object ID}
xxd -r /tmp/li.asc /tmp/li
od -td8 /tmp/li # verify this is correct
cp /tmp/li /mnt/ost/O/0/LAST_ID
umount /mnt/ost
Then restart the OST and it should recover correctly.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.
_______________________________________________
Lustre-discuss mailing list
[email protected]
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss