Le 08/06/2020 à 18:43, Filip Bozuta a écrit : > From: Filip Bozuta <filip.boz...@syrmia.com> > > 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.boz...@syrmia.com> > --- > linux-user/qemu.h | 16 ++++++++++++++++ > linux-user/strace.c | 40 ++++++++++++++++++++++++++++++++++++++++ > linux-user/strace.list | 2 +- > linux-user/syscall.c | 16 ---------------- > 4 files changed, 57 insertions(+), 17 deletions(-) >
Reviewed-by: Laurent Vivier <laur...@vivier.eu>