[Bug 1681410] Re: fstrim corrupts ocfs2 filesystems when clustered
Phillip Susi
psusi at ubuntu.com
Mon Apr 10 13:51:29 UTC 2017
I'm thinking that the bug is in the OCFS2 filesystem driver. Since it
can span multiple disks, both local and remote, it can not give a
sensible answer to the FIBMAP ioctl when fstrim asks what blocks a file
is located in. Please test this by creating a file and checking where
FIBMAP says it is located and see if the data is really there:
echo hello > foo
hdparm --fibmap foo
dd count=1 bs=size if=/dev/dm-2 skip=offset | hd
Where size is whatever the block size of the filesystem is ( 4k? ), and
offset is the block number given by the hdparm call.
Am I correct in assuming this filesystem spans at least two devices?
dm-2 and dm-3?
** Changed in: util-linux (Ubuntu)
Status: Confirmed => Incomplete
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to util-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1681410
Title:
fstrim corrupts ocfs2 filesystems when clustered
Status in util-linux package in Ubuntu:
Incomplete
Bug description:
Recently upgraded from trusty to xenial and found that our ocfs2
filesystems, which are mounted across a number of nodes
simultaneously, would become corrupt on the weekend:
[Sun Apr 9 06:46:35 2017] OCFS2: ERROR (device dm-2): ocfs2_validate_gd_self: Group descriptor #516096 has bad signature
[Sun Apr 9 06:46:35 2017] On-disk corruption discovered. Please run fsck.ocfs2 once the filesystem is unmounted.
[Sun Apr 9 06:46:35 2017] OCFS2: File system is now read-only.
[Sun Apr 9 06:46:35 2017] (fstrim,1080,8):ocfs2_trim_fs:7399 ERROR: status = -30
[Sun Apr 9 06:46:35 2017] OCFS2: ERROR (device dm-3): ocfs2_validate_gd_self: Group descriptor #516096 has bad signature
[Sun Apr 9 06:46:36 2017] On-disk corruption discovered. Please run fsck.ocfs2 once the filesystem is unmounted.
[Sun Apr 9 06:46:36 2017] OCFS2: File system is now read-only.
[Sun Apr 9 06:46:36 2017] (fstrim,1080,10):ocfs2_trim_fs:7399 ERROR: status = -30
We found the cron.weekly job which is pretty close to the timing:
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
# cat /etc/cron.weekly/fstrim
#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true
We have disabled this job across our servers running clustered ocfs2 filesystems. I think either the utility or the cronjob should ignore ocfs2 (gfs too?) filesystems.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1681410/+subscriptions
More information about the foundations-bugs
mailing list