lkml.org 
[lkml]   [2022]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V8 01/20] uapi: simplify __ARCH_FLOCK{,64}_PAD a little
    Date
    From: Christoph Hellwig <hch@lst.de>

    Don't bother to define the symbols empty, just don't use them.
    That makes the intent a little more clear.

    Remove the unused HAVE_ARCH_STRUCT_FLOCK64 define and merge the
    32-bit mips struct flock into the generic one.

    Add a new __ARCH_FLOCK_EXTRA_SYSID macro following the style of
    __ARCH_FLOCK_PAD to avoid having a separate definition just for
    one architecture.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Guo Ren <guoren@kernel.org>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Tested-by: Heiko Stuebner <heiko@sntech.de>
    ---
    arch/mips/include/uapi/asm/fcntl.h | 26 +++-----------------------
    include/uapi/asm-generic/fcntl.h | 19 +++++++------------
    tools/include/uapi/asm-generic/fcntl.h | 19 +++++++------------
    3 files changed, 17 insertions(+), 47 deletions(-)

    diff --git a/arch/mips/include/uapi/asm/fcntl.h b/arch/mips/include/uapi/asm/fcntl.h
    index 42e13dead543..9e44ac810db9 100644
    --- a/arch/mips/include/uapi/asm/fcntl.h
    +++ b/arch/mips/include/uapi/asm/fcntl.h
    @@ -50,30 +50,10 @@
    #define F_SETLKW64 35
    #endif

    -/*
    - * The flavours of struct flock. "struct flock" is the ABI compliant
    - * variant. Finally struct flock64 is the LFS variant of struct flock. As
    - * a historic accident and inconsistence with the ABI definition it doesn't
    - * contain all the same fields as struct flock.
    - */
    -
    #if _MIPS_SIM != _MIPS_SIM_ABI64
    -
    -#include <linux/types.h>
    -
    -struct flock {
    - short l_type;
    - short l_whence;
    - __kernel_off_t l_start;
    - __kernel_off_t l_len;
    - long l_sysid;
    - __kernel_pid_t l_pid;
    - long pad[4];
    -};
    -
    -#define HAVE_ARCH_STRUCT_FLOCK
    -
    -#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
    +#define __ARCH_FLOCK_EXTRA_SYSID long l_sysid;
    +#define __ARCH_FLOCK_PAD long pad[4];
    +#endif

    #include <asm-generic/fcntl.h>

    diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h
    index ecd0f5bdfc1d..77aa9f2ff98d 100644
    --- a/include/uapi/asm-generic/fcntl.h
    +++ b/include/uapi/asm-generic/fcntl.h
    @@ -192,25 +192,19 @@ struct f_owner_ex {

    #define F_LINUX_SPECIFIC_BASE 1024

    -#ifndef HAVE_ARCH_STRUCT_FLOCK
    -#ifndef __ARCH_FLOCK_PAD
    -#define __ARCH_FLOCK_PAD
    -#endif
    -
    struct flock {
    short l_type;
    short l_whence;
    __kernel_off_t l_start;
    __kernel_off_t l_len;
    __kernel_pid_t l_pid;
    - __ARCH_FLOCK_PAD
    -};
    +#ifdef __ARCH_FLOCK_EXTRA_SYSID
    + __ARCH_FLOCK_EXTRA_SYSID
    #endif
    -
    -#ifndef HAVE_ARCH_STRUCT_FLOCK64
    -#ifndef __ARCH_FLOCK64_PAD
    -#define __ARCH_FLOCK64_PAD
    +#ifdef __ARCH_FLOCK_PAD
    + __ARCH_FLOCK_PAD
    #endif
    +};

    struct flock64 {
    short l_type;
    @@ -218,8 +212,9 @@ struct flock64 {
    __kernel_loff_t l_start;
    __kernel_loff_t l_len;
    __kernel_pid_t l_pid;
    +#ifdef __ARCH_FLOCK64_PAD
    __ARCH_FLOCK64_PAD
    -};
    #endif
    +};

    #endif /* _ASM_GENERIC_FCNTL_H */
    diff --git a/tools/include/uapi/asm-generic/fcntl.h b/tools/include/uapi/asm-generic/fcntl.h
    index ac190958c981..99bc9b15ce2b 100644
    --- a/tools/include/uapi/asm-generic/fcntl.h
    +++ b/tools/include/uapi/asm-generic/fcntl.h
    @@ -187,25 +187,19 @@ struct f_owner_ex {

    #define F_LINUX_SPECIFIC_BASE 1024

    -#ifndef HAVE_ARCH_STRUCT_FLOCK
    -#ifndef __ARCH_FLOCK_PAD
    -#define __ARCH_FLOCK_PAD
    -#endif
    -
    struct flock {
    short l_type;
    short l_whence;
    __kernel_off_t l_start;
    __kernel_off_t l_len;
    __kernel_pid_t l_pid;
    - __ARCH_FLOCK_PAD
    -};
    +#ifdef __ARCH_FLOCK_EXTRA_SYSID
    + __ARCH_FLOCK_EXTRA_SYSID
    #endif
    -
    -#ifndef HAVE_ARCH_STRUCT_FLOCK64
    -#ifndef __ARCH_FLOCK64_PAD
    -#define __ARCH_FLOCK64_PAD
    +#ifdef __ARCH_FLOCK_PAD
    + __ARCH_FLOCK_PAD
    #endif
    +};

    struct flock64 {
    short l_type;
    @@ -213,8 +207,9 @@ struct flock64 {
    __kernel_loff_t l_start;
    __kernel_loff_t l_len;
    __kernel_pid_t l_pid;
    +#ifdef __ARCH_FLOCK64_PAD
    __ARCH_FLOCK64_PAD
    -};
    #endif
    +};

    #endif /* _ASM_GENERIC_FCNTL_H */
    --
    2.25.1
    \
     
     \ /
      Last update: 2022-03-16 08:05    [W:2.738 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site