Problems with XFS in a power failure

Uwe Kleine-König
2007-05-08T10:00:09Z

Hello,

my machine suffered a power failure while doing a apt-get upgrade.

This damaged several files. E.g.

root@cepheus:~# xxd /var/lib/dpkg/info/myspell-en-us.postrm
0000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000040: 0000 0000 0000 0000 0000 0000 0000 ..............

while the repaired file has a size of 78 (= 0x4e) bytes. Some other files got
broken with random data. I checked with debsums -c and it reported:

root@cepheus:~# debsums -c
>=������2[j�b��nw�������� in md5sums for irssi-scripts: ����gV{ڛ�
�N���L���Mg{����.�����`����ӈL���j$�kC1'� ��S� ���ݏ��
debsums: invalid line (2) in md5sums for irssi-scripts: ����g�DPH�� 숐���}�]g�����N�ci�5�h
�w�W{SZ��q��F_�sR�[���ie�A|��Sv��@�@��;�5�'#c��$��l%���� ��T���$�!d�B�y
debsums: invalid line (3) in md5sums for irssi-scripts: �����-ċE��yq�/7đ>�������Ў������Vu����V
�+ɋA�f��:%O��_l���}������}� ��1���ȴϘ��=?��&��������F���mT�trZ�
���1���enO%.�YN��=�k��@����\{8ɔw�x����z��-P!g�j����QV9u������)�m���5�l�8l �Rk5�;M���R���
�fx��O
gѝ��;����٠�HYfrc��9�����u�q���Ox߀`����~_�ƃ2"J;�Q$vl?�{�=V������ �[��\�d��n�!�UH��Y�D��j2I���*�
[�c��G�������[��h*���������2A��m&����������ޥGЉ�;R�0��̦���
...

I don't know exactly, but I think the damaged file here was
/var/lib/dpkg/info/irssi.md5sums and debsums repaired it!?

In theory this should not happen with a journaled fs, does it?

This is a 2.6.19.3 kernel, unfortunately tainted by madwifi.
There was nothing logged in dmesg and/or syslog.

root@cepheus:~# xfs_info /var
meta-data=/dev/hda9 isize=256 agcount=8, agsize=91619 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=732952, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=1
naming =version 2 bsize=4096
log =internal bsize=4096 blocks=2560, version=1
= sectsz=512 sunit=0 blks
realtime =none extsz=65536 blocks=0, rtextents=0

I have to shutdown that machine because of a power cut by my supplier, but
probably I will use a boot cd to bring it up again ...

Best regards
Uwe

--
Uwe Kleine-König