qga/commands-posix: Fix bug in guest-fstrim
authorJustin Ossevoort <justin@quarantainenet.nl>
Mon, 11 May 2015 06:58:44 +0000 (08:58 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Wed, 8 Jul 2015 01:13:13 +0000 (20:13 -0500)
commit73a652a1b08445e8d91e50cdbb2da50e571c61b3
tree654f6b121551e1c93ea21cb024a346f88e5cb223
parent7ce0f7dc87e50ebf58ac756ff6be17ec97d3ba4e
qga/commands-posix: Fix bug in guest-fstrim

The FITRIM ioctl updates the fstrim_range structure it receives. This
way the caller can determine how many bytes were trimmed. The
guest-fstrim logic reuses the same fstrim_range for each filesystem,
effectively limiting each filesystem to trim at most as much as the
previous was able to trim.

If a previous filesystem would have trimmed 0 bytes, than the next
filesystem would report an error 'Invalid argument' because a FITRIM
request with length 0 is not valid.

This change resets the fstrim_range structure for each filesystem.

Signed-off-by: Justin Ossevoort <justin@quarantainenet.nl>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qga/commands-posix.c