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
Touch seeded packages, 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
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp