Bug 980790

Summary: fstrim returns error "FITRIM ioctl failed: Inappropriate ioctl for device"
Product: Red Hat Enterprise Linux 7 Reporter: bfan
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: leiwang, wshi, yuliu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libguestfs-1.28.1-1.1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 980788 Environment:
Last Closed: 2015-03-05 13:42:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 980788    
Bug Blocks:    

Description bfan 2013-07-03 08:54:04 UTC
+++ This bug was initially created as a clone of Bug #980788 +++

Description of problem:
fstrim returns error "FITRIM ioctl failed: Inappropriate ioctl for device" in rhel6, through its help output,

"If this support isn't
    present it may give an error or even appear to run but do nothing"

we are not sure, whether it's not support or it's a bug


Version-Release number of selected component (if applicable):
libguestfs-1.20.9-6.el6.x86_64
kernel: 2.6.32-358.el6.x86_64
qemu-kvm-0.12.1.2-2.375.el6.x86_64


How reproducible:
100%


Steps to Reproduce:
[root]# qemu-img create -f qcow2 test.qcow2 100M
[root]# guestfish -a test.qcow2

><fs> run
><fs> mkfs ext2 /dev/sda
><fs> mount /dev/sda /
><fs> df
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                    98036         0     98036   0% /run
/dev                    241996       128    241868   1% /dev
/dev/sda                 99150      1550     92480   2% /sysroot

><fs> fstrim /
libguestfs: error: fstrim: fstrim: /: FITRIM ioctl failed: Inappropriate ioctl for device


Actual results:
fstrim give an error


Expected results:
fstrim works well


Additional info:
in rhel7, fstrim does not give error but do nothing,

><fs> df
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs              97952    76     97876   1% /run
/dev              243196     0    243196   0% /dev
/dev/sda           99150  1550     90432   2% /sysroot

><fs> fstrim /
><fs> df
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs              97952    76     97876   1% /run
/dev              243196     0    243196   0% /dev
/dev/sda           99150  1550     90432   2% /sysroot

Comment 1 Richard W.M. Jones 2014-03-12 14:28:54 UTC
fstrim was in fact broken:

https://github.com/libguestfs/libguestfs/commit/5e105e06be4cc6c88b5d3fc5cf79acb48947e197

Comment 3 RHEL Program Management 2014-03-22 06:44:56 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 6 yuliu 2014-11-10 08:14:24 UTC
Version: libguestfs-1.28.1-1.9.el7.x86_64

Steps:
1. guestfish -a $Guest run : mount /dev/sda1 / : uplaod /raw.img /raw.img
2. check the disk size
guestfish <<EOF
add-drive $Guest format:$Guest_format discard:enable
run
mount-options noatime $mount_device /
rm /raw.img
fstrim /
EOF

3. check the disk size again, and the size is smaller than before.

Verified as above.

Comment 8 errata-xmlrpc 2015-03-05 13:42:48 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0303.html