* [BUG] xfs_corruption_error after creating a swap file
@ 2021-01-12 21:06 Bastien Traverse
2021-01-12 22:25 ` Dave Chinner
0 siblings, 1 reply; 4+ messages in thread
From: Bastien Traverse @ 2021-01-12 21:06 UTC (permalink / raw)
To: linux-xfs
Hello everyone,
A couple of weeks back I got an xfs_corruption_error stack trace on my
rootfs on Arch Linux, a few minutes after creating a swap file an
enabling it. Here is the process I followed to do so:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap defaults 0 0" >> /etc/fstab
And the trace appeared a few minutes later, without me doing much at
that moment:
```
déc. 27 21:51:01 kernel: XFS (dm-0): Internal error !link at line 491
of file fs/xfs/xfs_iops.c. Caller xfs_vn_get_link_inline+0x12/0x50 [xfs]
déc. 27 21:51:01 kernel: CPU: 4 PID: 1923 Comm: gmain Not tainted
5.9.14-arch1-1 #1
déc. 27 21:51:01 kernel: Hardware name: ASUSTeK COMPUTER INC. ZenBook
UX534FAC_UX534FA/UX534FAC, BIOS UX534FAC.307 04/20/2020
déc. 27 21:51:01 kernel: Call Trace:
déc. 27 21:51:01 kernel: dump_stack+0x6b/0x83
déc. 27 21:51:01 kernel: xfs_corruption_error+0x85/0x90 [xfs]
déc. 27 21:51:01 kernel: ? xfs_vn_get_link_inline+0x12/0x50 [xfs]
déc. 27 21:51:01 kernel: xfs_vn_get_link_inline+0x44/0x50 [xfs]
déc. 27 21:51:01 kernel: ? xfs_vn_get_link_inline+0x12/0x50 [xfs]
déc. 27 21:51:01 kernel: step_into+0x579/0x720
déc. 27 21:51:01 kernel: ? xfs_vn_get_link+0x90/0x90 [xfs]
déc. 27 21:51:01 kernel: walk_component+0x83/0x1b0
déc. 27 21:51:01 kernel: path_lookupat+0x5b/0x190
déc. 27 21:51:01 kernel: filename_lookup+0xbe/0x1d0
déc. 27 21:51:01 kernel: vfs_statx+0x8f/0x140
déc. 27 21:51:01 kernel: __do_sys_newstat+0x47/0x80
déc. 27 21:51:01 kernel: do_syscall_64+0x33/0x40
déc. 27 21:51:01 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
déc. 27 21:51:01 kernel: RIP: 0033:0x7f5192dcc25a
déc. 27 21:51:01 kernel: Code: 00 00 75 05 48 83 c4 18 c3 e8 b2 f7 01
00 66 90 f3 0f 1e fa 41 89 f8 48 89 f7 48 89 d6 41 83 f8 01 77 2d b8 04
00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 06 c3 0f 1f 44 00 00 48 8b 15 e1
1b 0d 00 f7
déc. 27 21:51:01 kernel: RSP: 002b:00007f518f82fa68 EFLAGS: 00000246
ORIG_RAX: 0000000000000004
déc. 27 21:51:01 kernel: RAX: ffffffffffffffda RBX: 00007f5188001650
RCX: 00007f5192dcc25a
déc. 27 21:51:01 kernel: RDX: 00007f518f82fa70 RSI: 00007f518f82fa70
RDI: 000055909d4528a0
déc. 27 21:51:01 kernel: RBP: 000055909d4528a0 R08: 0000000000000001
R09: 00007f5192e630c0
déc. 27 21:51:01 kernel: R10: 00007f5192e62fc0 R11: 0000000000000246
R12: 0000000000000001
déc. 27 21:51:01 kernel: R13: 000055909d4229b0 R14: 000055909d4229b0
R15: 000055909d457070
déc. 27 21:51:01 kernel: XFS (dm-0): Corruption detected. Unmount and
run xfs_repair
```
Stack is a late-2019 laptop (Asus ZenBook UX534FA) with an Intel 660p
512GB NVMe drive, running Arch Linux with one big LUKS2-encrypted
partition (besides the ESP) directly formatted with XFS; kernel version
at the time of the bug was :
5.9.14-arch1-1 (linux@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU
Binutils) 2.35.1) #1 SMP PREEMPT Sat, 12 Dec 2020 14:37:12 +0000
The filesystem was created with the November 2020 Arch Linux ISO
(kernel 5.9.2) and command `mkfs.xfs -m rmapbt=1 -L system
/dev/mapper/root`. Here is the xfs_info output for said rootfs:
```
meta-data=/dev/mapper/root isize=512 agcount=4, agsize=31224405 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=1
= reflink=1
data = bsize=4096 blocks=124897617, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=60985, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
dm-crypt is configured with `allow_discards` and periodic fstrim method
is used; the fs is mounted only with `noatime` option besides the
defaults:
% findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/mapper/root xfs
rw,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota
And that's all I can think of to provide for context.
I rebooted on a Grml live ISO and ran xfs_repair, which found a few
thing that I unfortunately didn't/couldn't copy (virtual console
scrolling and the output disappeared...).
I haven't had any issues since, or none that I realized at least.
That's all for this report, if you have any hints please say so!
Thanks for reading,
PS: please Cc me when replying as I am not subscribed to the list!
Cheers,
Bastien
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] xfs_corruption_error after creating a swap file
2021-01-12 21:06 [BUG] xfs_corruption_error after creating a swap file Bastien Traverse
@ 2021-01-12 22:25 ` Dave Chinner
2021-01-12 22:50 ` Bastien Traverse
0 siblings, 1 reply; 4+ messages in thread
From: Dave Chinner @ 2021-01-12 22:25 UTC (permalink / raw)
To: Bastien Traverse; +Cc: linux-xfs
On Tue, Jan 12, 2021 at 10:06:29PM +0100, Bastien Traverse wrote:
> Hello everyone,
>
> A couple of weeks back I got an xfs_corruption_error stack trace on my
> rootfs on Arch Linux, a few minutes after creating a swap file an enabling
> it. Here is the process I followed to do so:
>
> fallocate -l 4G /swapfile
> chmod 600 /swapfile
> mkswap /swapfile
> swapon /swapfile
> echo "/swapfile none swap defaults 0 0" >> /etc/fstab
>
> And the trace appeared a few minutes later, without me doing much at that
> moment:
Sounds like:
commit 41663430588c737dd735bad5a0d1ba325dcabd59
Author: Gao Xiang <hsiangkao@redhat.com>
Date: Fri Sep 25 21:19:01 2020 -0700
mm, THP, swap: fix allocating cluster for swapfile by mistake
SWP_FS is used to make swap_{read,write}page() go through the
filesystem, and it's only used for swap files over NFS. So, !SWP_FS
means non NFS for now, it could be either file backed or device backed.
Something similar goes with legacy SWP_FILE.
So in order to achieve the goal of the original patch, SWP_BLKDEV should
be used instead.
FS corruption can be observed with SSD device + XFS + fragmented
swapfile due to CONFIG_THP_SWAP=y.
.....
But I thought that was fixed in 5.9-rc7 so should be in your kernel.
Can you confirm that your kernel has this fix?
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] xfs_corruption_error after creating a swap file
2021-01-12 22:25 ` Dave Chinner
@ 2021-01-12 22:50 ` Bastien Traverse
2021-01-12 23:43 ` Dave Chinner
0 siblings, 1 reply; 4+ messages in thread
From: Bastien Traverse @ 2021-01-12 22:50 UTC (permalink / raw)
To: Dave Chinner; +Cc: linux-xfs
Le mer. 13 janv. 2021 à 9:25, Dave Chinner <david@fromorbit.com> a
écrit :
> But I thought that was fixed in 5.9-rc7 so should be in your kernel.
> Can you confirm that your kernel has this fix?
This commit does appear in Arch kernel repo, so I can only suppose it's
in:
https://git.archlinux.org/linux.git/commit/?id=41663430588c737dd735bad5a0d1ba325dcabd59
Arch tends to stay close to upstream and I am using the standard kernel.
Thanks,
Bastien
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] xfs_corruption_error after creating a swap file
2021-01-12 22:50 ` Bastien Traverse
@ 2021-01-12 23:43 ` Dave Chinner
0 siblings, 0 replies; 4+ messages in thread
From: Dave Chinner @ 2021-01-12 23:43 UTC (permalink / raw)
To: Bastien Traverse; +Cc: linux-xfs
On Tue, Jan 12, 2021 at 11:50:19PM +0100, Bastien Traverse wrote:
> Le mer. 13 janv. 2021 à 9:25, Dave Chinner <david@fromorbit.com> a
> écrit :
>
> > But I thought that was fixed in 5.9-rc7 so should be in your
> > kernel. Can you confirm that your kernel has this fix?
>
> This commit does appear in Arch kernel repo, so I can only suppose
> it's in:
> https://git.archlinux.org/linux.git/commit/?id=41663430588c737dd735bad5a0d1ba325dcabd59
>
> Arch tends to stay close to upstream and I am using the standard
> kernel.
Ok. Given that xfs_repair apparently found and corrected some
corruption and it hasn't happened since, I'm not sure that there is
much we can go on here. It may have been a pre-existing corruption,
and the swapfile thing is a red herring. If it happens again, let us
know and we can see if we can get more information out of your
system about it.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-01-13 0:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-12 21:06 [BUG] xfs_corruption_error after creating a swap file Bastien Traverse
2021-01-12 22:25 ` Dave Chinner
2021-01-12 22:50 ` Bastien Traverse
2021-01-12 23:43 ` Dave Chinner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).