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     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to