Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port upstream QEMU patches #22

Open
wants to merge 5 commits into
base: v3.0.0-se
Choose a base branch
from
Open

Commits on Nov 16, 2022

  1. gluster: Handle changed glfs_ftruncate signature

    New versions of Glusters libgfapi.so have an updated glfs_ftruncate()
    function that returns additional 'struct stat' structures to enable
    advanced caching of attributes. This is useful for file servers, not so
    much for QEMU. Nevertheless, the API has changed and needs to be
    adopted.
    
    Signed-off-by: Prasanna Kumar Kalever <[email protected]>
    Signed-off-by: Niels de Vos <[email protected]>
    Signed-off-by: Kevin Wolf <[email protected]>
    (cherry picked from commit e014dbe74e0484188164c61ff6843f8a04a8cb9d)
    Prasanna Kumar Kalever authored and peng-hui committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    03d72bf View commit details
    Browse the repository at this point in the history
  2. gluster: the glfs_io_cbk callback function pointer adds pre/post stat…

    … args
    
    The glfs_*_async() functions do a callback once finished. This callback
    has changed its arguments, pre- and post-stat structures have been
    added. This makes it possible to improve caching, which is useful for
    Samba and NFS-Ganesha, but not so much for QEMU. Gluster 6 is the first
    release that includes these new arguments.
    
    With an additional detection in ./configure, the new arguments can
    conditionally get included in the glfs_io_cbk handler.
    
    Signed-off-by: Niels de Vos <[email protected]>
    Signed-off-by: Kevin Wolf <[email protected]>
    (cherry picked from commit 0e3b891fefacc0e49f3c8ffa3a753b69eb7214d2)
    nixpanic authored and peng-hui committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    25c5fda View commit details
    Browse the repository at this point in the history
  3. linux-user: assume __NR_gettid always exists

    The gettid syscall was introduced in Linux 2.4.11. This is old enough
    that we can assume it always exists and thus not bother with the
    conditional backcompat logic.
    
    Signed-off-by: Daniel P. Berrangé <[email protected]>
    Reviewed-by: Richard Henderson <[email protected]>
    Reviewed-by: Laurent Vivier <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Laurent Vivier <[email protected]>
    (cherry picked from commit 184943d827ce09375284e6fbb9fd5eeb9e369529)
    berrange authored and peng-hui committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    b1da8f2 View commit details
    Browse the repository at this point in the history
  4. linux-user: rename gettid() to sys_gettid() to avoid clash with glibc

    The glibc-2.29.9000-6.fc31.x86_64 package finally includes the gettid()
    function as part of unistd.h when __USE_GNU is defined. This clashes
    with linux-user code which unconditionally defines this function name
    itself.
    
    /home/berrange/src/virt/qemu/linux-user/syscall.c:253:16: error: static declaration of ‘gettid’ follows non-static declaration
      253 | _syscall0(int, gettid)
          |                ^~~~~~
    /home/berrange/src/virt/qemu/linux-user/syscall.c:184:13: note: in definition of macro ‘_syscall0’
      184 | static type name (void)   \
          |             ^~~~
    In file included from /usr/include/unistd.h:1170,
                     from /home/berrange/src/virt/qemu/include/qemu/osdep.h:107,
                     from /home/berrange/src/virt/qemu/linux-user/syscall.c:20:
    /usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here
       34 | extern __pid_t gettid (void) __THROW;
          |                ^~~~~~
      CC      aarch64-linux-user/linux-user/signal.o
    make[1]: *** [/home/berrange/src/virt/qemu/rules.mak:69: linux-user/syscall.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [Makefile:449: subdir-aarch64-linux-user] Error 2
    
    While we could make our definition conditional and rely on glibc's impl,
    this patch simply renames our definition to sys_gettid() which is a
    common pattern in this file.
    
    Signed-off-by: Daniel P. Berrangé <[email protected]>
    Reviewed-by: Richard Henderson <[email protected]>
    Reviewed-by: Laurent Vivier <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Laurent Vivier <[email protected]>
    (cherry picked from commit 71ba74f67eaca21b0cc9d96f534ad3b9a7161400)
    berrange authored and peng-hui committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    6a30ab0 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2023

  1. Configuration menu
    Copy the full SHA
    121c8e5 View commit details
    Browse the repository at this point in the history