She ran ls -la /var/archive and held her breath. The directories were there. She checked a few random PDFs. They opened. She checked the corruption timestamp—about six hours of data was gone. The system had dropped the incomplete, corrupted transactions. Jenkins was alive, but missing memories.
The alert came in at 3:00 AM. Not the usual "disk 95% full" nag, but a scream: XFS: possible memory allocation deadlock in xfs_da_do_buf . The web server, a stubborn CentOS 7 relic affectionately named "Old Man Jenkins," had seized up. The error logs were a waterfall of corruption warnings.
xfs_repair -L /dev/sdb1 The -L flag is XFS’s last resort. It zeroes out the log, discarding all pending transactions. It’s dangerous—like performing surgery with a fire axe. You lose any operations that hadn’t been written to disk. But without it, the log was a poison pill preventing any repair.
Her hands were shaking. She mounted the filesystem. xfs-repair centos 7
Phase 4 completed. Phase 5. Finally, the line she needed:
"Alright, Jenkins," she muttered. "Let's see what you broke."
mount /dev/sdb1 /var/archive No error.
She typed the command that always made her heart rate spike:
Lena, the on-call engineer, stared at her screen, coffee cold in her hand. The server ran the company’s primary document archive. No backup had completed successfully in three weeks. No one had told her.
She took a deep breath. "Time to clean the log." She ran ls -la /var/archive and held her breath
Note - stripe unit (0) and width (0) were copied from a backup superblock.
xfs_repair: /dev/sdb1 completed successfully.