This *may* be required by some filesystems in order for fstrim to work. I'm not actually sure if this is true, but it's what virt-sparsify --in-place does, and that utility has been tested a lot more in regards to trimming. --- v2v/v2v.ml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v2v/v2v.ml b/v2v/v2v.ml index 8365aae..8ae3dec 100644 --- a/v2v/v2v.ml +++ b/v2v/v2v.ml @@ -393,7 +393,10 @@ and do_fstrim g inspect = List.iter ( fun dev -> g#umount_all (); - let mounted = try g#mount dev "/"; true with G.Error _ -> false in + let mounted = + try g#mount_options "discard" dev "/"; true + with G.Error _ -> false in + if mounted then ( try g#fstrim "/" with G.Error msg -> -- 2.7.4