Hello,

On 21.8.20. 20:45, Laurent Vivier wrote:
Filip,

could you have a look to see what's going wrong?

Thanks,
LAurent

Le 21/08/2020 à 18:23, Peter Maydell a écrit :
On Thu, 13 Aug 2020 at 07:51, Laurent Vivier <laur...@vivier.eu> wrote:
The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:

   Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)

are available in the Git repository at:

   git://github.com/vivier/qemu.git tags/linux-user-for-5.2-pull-request

for you to fetch changes up to 04275cad60c8f99e0dd7f56aecda68ceac926da8:

   linux-user: Fix 'utimensat()' implementation (2020-08-12 10:09:58 +0200)

----------------------------------------------------------------
Add btrfs ioctls
Add clock_getres_time64, timer_gettime64, timer_settime64,
     timerfd_gettime64, timerfd_settime64
Some fixes (page protection, print_fdset, timerspec, itimerspec)

----------------------------------------------------------------
Fails to compile:

../../linux-user/syscall_types.h:407:28: error:
‘BTRFS_INO_LOOKUP_USER_PATH_MAX’ undeclared here (not in a function);
did you mean ‘BTRFS_INO_LOOKUP_PATH_MAX’?
         MK_ARRAY(TYPE_CHAR, BTRFS_INO_LOOKUP_USER_PATH_MAX)) /* path */
                             ^

../../linux-user/syscall_types.h:451:17: error:
‘BTRFS_MAX_ROOTREF_BUFFER_NUM’ undeclared here (not in a function)
                  BTRFS_MAX_ROOTREF_BUFFER_NUM), /* rootref */
                  ^

On PPC, even more errors, relating to not having
BTRFS_PATH_NAME_MAX, PTRFS_VOL_NAME_MAX, etc.

Not sure if this was a semantic conflict with the meson
conversion, or just an assumption of a newer btrfs.h
than some systems have.

Yes, this is because of asumption that a newer btrfs.h file is present than some systems have. There have been significant changes in btrfs.h from kernel version 3.9 (since it was introduced). For example, BTRFS_INO_LOOKPU_USER_PATH_MAX is used by BTRRS_IOC_INO_LOOKUP_USER which was introduced a little later which is why this error ocurres. I am guessing that this should be fixed by putting an #ifdef around thunk structure definitions in 'syscall_types.h' to check whether the values that are used by these structures are present (or if ioctls that use this structures are defined). I am sorry that I didn't notice this at first. I will try to send a fix as soon as possible.

Best regards,

Filip


thanks
-- PMM


Reply via email to