
私のLVMにはシンプロビジョニングが有効になっています。わずかに異なるext4ファイルシステムを持つほぼ同じ2つのシン論理ボリュームがあります。最初のボリュームはファイルシステムを保存するために完全に使用されます。 2番目のボリュームでは、ファイルシステムはより小さなオフセットに保存されます。オプションでインストールされます-o offset=1048576
。
最初のボリュームはこのコマンドを使用してクリーンアップできますが、fstrim
2番目のボリュームはクリーンアップできません。エラーが発生します。
fstrim: second: the discard operation is not supported
私はこれがオフセットマウントのためだと思います。オフセットオプションのマウントコマンドを受け取ると、一時ループデバイスを作成してマウントします。したがって、主な容疑者は屋根ふき装置です。
ボリュームの開始ブロックアドレスにオフセットされたファイルシステムを何とか整理できますか?
答え1
不可能に見える。理由を把握しようとしています。コメントは次のとおりです。loop.c
:
/*
* If the backing device is a block device, mirror its zeroing
* capability. Set the discard sectors to the block device's zeroing
* capabilities because loop discards result in blkdev_issue_zeroout(),
* not blkdev_issue_discard(). This maintains consistent behavior with
* file-backed loop devices: discarded regions read back as zero.
*/
LVMシンデバイスはゼロ化機能を報告しません(write_zeroes_max_bytes
yes 0
)。行って確認してdm-thin.c
確認しました。