On my MythTV backend machine I run XFS file systems. Not too long ago I updated the system in an effort to finally start using the HDTV tuner card that I purchased a year prior. At that time the ivtv drivers for my PVR 150 tuner card required kernel 2.6.17 so I merrily built 2.6.17 and life has been good.

I’ve recently been testing a SATA controller card. The onboard SATA on my motherboard has a firmware bug that causes disk corruption when copying large data sets between drives. It’s an Abit NFS-7s that I bought used. I could upgrade the BIOS to fix this bug but I’m afraid to! My wife and I use MythTV nearly every day and we’d both be upset to go without it. I’m afraid that the BIOS upgrade process would fail and I’d be forced to buy a new motherboard when I really don’t want to. Also this machine acts as an NFS root for my desktop machine and my Myth frontend machine.

The XFS bug came to my attention while testing a SATA card to correct the firmware bug mentioned above. I have two 300G drives and I use rsnapshot to keep incremental backups. Because of the firmware bug I wasn’t able to do this and my spare 300G drive has sat idle for quite some time. My backups have been to a smaller IDE drive. To test the SATA card I’ve been using the spare 300G drive as the backup disk. With the onboard controller I found corrupted file systems very quickly. With the new controller I thought I was free from corruption until I ran xfs_check on the backup partition.

xfs_check found a handful of problems with directories. Googling I found this page from SGI that describes the bug. The bug exists in 2.6.17 and was fixed in 2.6.17.7.

I built a new 2.6.17.14 kernel to correct the XFS problem and I’ll hopefully run xfs_repair this evening on all of my file systems. Version 0.3 of the excellent System Rescue CD includes xfsprogs new enough to handle the problem. This bug bit me because I was using XFS and because 2.6.17 was required for the PVR 150 card.

Edit: I think I’ll probably use the 2.6.18 kernel from Debian. I also see that Debian has an ivtv-modules-2.6.18-4-686 package as well which should be perfect. I’d much rather use stuff from Debian than build things myself.