On Fri, Jul 27, 2012 at 09:01:38PM +0200, Paolo Bonzini wrote:
> Or just finish up discard support and use the existing fstrim command of
> qemu-ga.  :)

What's actually involved to do this?  I noticed that a virtio-scsi on
qcow2 v3 device exported to the guest does not appear to support TRIM
at all (see attached test script and output).

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

Attachment: test.sh
Description: Bourne shell script

Formatting 'test1.qcow2', fmt=qcow2 size=104857600 compat='1.1' encryption=off 
cluster_size=65536 
libguestfs: trace: add_drive "test1.qcow2"
libguestfs: trace: add_drive = 0
libguestfs: trace: launch
libguestfs: trace: launch = 0
libguestfs: trace: debug "sh" "uname -a"
libguestfs: trace: debug = "Linux (none) 3.5.0-1.fc18.x86_64 #1 SMP Mon Jul 23 
17:43:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux"
Linux (none) 3.5.0-1.fc18.x86_64 #1 SMP Mon Jul 23 17:43:39 UTC 2012 x86_64 
x86_64 x86_64 GNU/Linux
libguestfs: trace: debug "sh" "head -n99999999 
/sys/block/sd*/queue/discard_max_bytes"
libguestfs: trace: debug = "==> /sys/block/sda/queue/discard_max_bytes 
<==\n0\n\n==> /sys/block/sdb/queue/discard_max_bytes <==\n0"
==> /sys/block/sda/queue/discard_max_bytes <==
0

==> /sys/block/sdb/queue/discard_max_bytes <==
0
libguestfs: trace: part_disk "/dev/sda" "mbr"
libguestfs: trace: part_disk = 0
libguestfs: trace: mkfs "ext4" "/dev/sda1"
libguestfs: trace: mkfs = 0
libguestfs: trace: mount_options "discard" "/dev/sda1" "/"
libguestfs: trace: mount_options = 0
libguestfs: trace: fill 88 52428800 "/data"
libguestfs: trace: fill = 0
libguestfs: trace: sync
libguestfs: trace: sync = 0
-rw-r--r--. 1 rjones rjones 56M Jul 30 14:49 test1.qcow2
libguestfs: trace: rm "/data"
libguestfs: trace: rm = 0
libguestfs: trace: fstrim "/"
libguestfs: trace: fstrim = -1 (error)
*stdin*:23: libguestfs: error: fstrim: fstrim: /: FITRIM ioctl failed: 
Operation not supported
libguestfs: trace: close
libguestfs: trace: shutdown
libguestfs: trace: internal_autosync
libguestfs: trace: internal_autosync = 0
libguestfs: trace: shutdown = 0

Reply via email to