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>
(cherry picked from commit 
						
					
				
			 | 
			||
|---|---|---|
| .. | ||
| vss-win32 | ||
| Makefile.objs | ||
| channel-posix.c | ||
| channel-win32.c | ||
| channel.h | ||
| commands-posix.c | ||
| commands-win32.c | ||
| commands.c | ||
| guest-agent-command-state.c | ||
| guest-agent-core.h | ||
| main.c | ||
| qapi-schema.json | ||
| service-win32.c | ||
| service-win32.h | ||
| vss-win32.c | ||
| vss-win32.h | ||