aboutsummaryrefslogtreecommitdiff
path: root/thunk.c
diff options
context:
space:
mode:
authorFilip Bozuta <Filip.Bozuta@syrmia.com>2020-06-19 14:33:31 +0200
committerLaurent Vivier <laurent@vivier.eu>2020-06-29 13:08:48 +0200
commitf4d92c5e9f24efdc83f24a2fd99c37a8609787ee (patch)
treedf57d25088fc8a0146646161a1a1b0d656058d97 /thunk.c
parent5844f4bc4111248b9de0c2efa422cafcdaa69cf1 (diff)
downloadqemu-f4d92c5e9f24efdc83f24a2fd99c37a8609787ee.zip
qemu-f4d92c5e9f24efdc83f24a2fd99c37a8609787ee.tar.gz
qemu-f4d92c5e9f24efdc83f24a2fd99c37a8609787ee.tar.bz2
linux-user: Add strace support for printing arguments of fallocate()
This patch implements strace argument printing functionality for following syscall: *fallocate - manipulate file space int fallocate(int fd, int mode, off_t offset, off_t len) man page: https://www.man7.org/linux/man-pages/man2/fallocate.2.html Implementation notes: This syscall's second argument "mode" is composed of predefined values which represent flags that determine the type of operation that is to be performed on the file space. For that reason, a printing function "print_fallocate" was stated in file "strace.list". This printing function uses an already existing function "print_flags()" to print flags of the "mode" argument. These flags are stated inside an array "falloc_flags" that contains values of type "struct flags". These values are instantiated using an existing macro "FLAG_GENERIC()". Most of these flags are defined after kernel version 3.0 which is why they are enwrapped in an #ifdef directive. The syscall's third ant fourth argument are of type "off_t" which can cause variations between 32/64-bit architectures. To handle this variation, function "target_offset64()" was copied from file "strace.c" and used in "print_fallocate" to print "off_t" arguments for 32-bit architectures. Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20200619123331.17387-7-filip.bozuta@syrmia.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'thunk.c')
0 files changed, 0 insertions, 0 deletions