Use fallthrough macro
As of the Linux 5.9 kernel a fallthrough macro has been added which should be used to anotate all intentional fallthrough paths. Once all of the kernel code paths have been updated to use fallthrough the -Wimplicit-fallthrough option will because the default. To avoid warnings in the OpenZFS code base when this happens apply the fallthrough macro. Additional reading: https://lwn.net/Articles/794944/ Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #12441
This commit is contained in:
parent
7443299fe0
commit
6954c22f35
|
@ -369,7 +369,7 @@ main(int argc, char **argv)
|
||||||
return (MOUNT_SYSERR);
|
return (MOUNT_SYSERR);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
(void) fprintf(stderr, gettext("filesystem "
|
(void) fprintf(stderr, gettext("filesystem "
|
||||||
"'%s' can not be mounted: %s\n"), dataset,
|
"'%s' can not be mounted: %s\n"), dataset,
|
||||||
|
|
|
@ -4625,7 +4625,7 @@ dump_path_impl(objset_t *os, uint64_t obj, char *name, uint64_t *retobj)
|
||||||
case DMU_OT_DIRECTORY_CONTENTS:
|
case DMU_OT_DIRECTORY_CONTENTS:
|
||||||
if (s != NULL && *(s + 1) != '\0')
|
if (s != NULL && *(s + 1) != '\0')
|
||||||
return (dump_path_impl(os, child_obj, s + 1, retobj));
|
return (dump_path_impl(os, child_obj, s + 1, retobj));
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case DMU_OT_PLAIN_FILE_CONTENTS:
|
case DMU_OT_PLAIN_FILE_CONTENTS:
|
||||||
if (retobj != NULL) {
|
if (retobj != NULL) {
|
||||||
*retobj = child_obj;
|
*retobj = child_obj;
|
||||||
|
|
|
@ -7466,6 +7466,7 @@ unshare_unmount(int op, int argc, char **argv)
|
||||||
if (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) ==
|
if (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) ==
|
||||||
ZFS_CANMOUNT_NOAUTO)
|
ZFS_CANMOUNT_NOAUTO)
|
||||||
continue;
|
continue;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ escape_string(const char *s)
|
||||||
case '=':
|
case '=':
|
||||||
case '\\':
|
case '\\':
|
||||||
*d++ = '\\';
|
*d++ = '\\';
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
*d = *c;
|
*d = *c;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ AM_LIBTOOLFLAGS = --silent
|
||||||
AM_CFLAGS = -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes
|
AM_CFLAGS = -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes
|
||||||
AM_CFLAGS += -fno-strict-aliasing
|
AM_CFLAGS += -fno-strict-aliasing
|
||||||
AM_CFLAGS += $(NO_OMIT_FRAME_POINTER)
|
AM_CFLAGS += $(NO_OMIT_FRAME_POINTER)
|
||||||
|
AM_CFLAGS += $(IMPLICIT_FALLTHROUGH)
|
||||||
AM_CFLAGS += $(DEBUG_CFLAGS)
|
AM_CFLAGS += $(DEBUG_CFLAGS)
|
||||||
AM_CFLAGS += $(ASAN_CFLAGS)
|
AM_CFLAGS += $(ASAN_CFLAGS)
|
||||||
AM_CFLAGS += $(CODE_COVERAGE_CFLAGS) $(NO_FORMAT_ZERO_LENGTH)
|
AM_CFLAGS += $(CODE_COVERAGE_CFLAGS) $(NO_FORMAT_ZERO_LENGTH)
|
||||||
|
|
|
@ -161,6 +161,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE], [
|
||||||
AC_SUBST([NO_UNUSED_BUT_SET_VARIABLE])
|
AC_SUBST([NO_UNUSED_BUT_SET_VARIABLE])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
dnl #
|
||||||
|
dnl # Check if gcc supports -Wimplicit-fallthrough option.
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH], [
|
||||||
|
AC_MSG_CHECKING([whether $CC supports -Wimplicit-fallthrough])
|
||||||
|
|
||||||
|
saved_flags="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Werror -Wimplicit-fallthrough"
|
||||||
|
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
|
||||||
|
IMPLICIT_FALLTHROUGH=-Wimplicit-fallthrough
|
||||||
|
AC_DEFINE([HAVE_IMPLICIT_FALLTHROUGH], 1,
|
||||||
|
[Define if compiler supports -Wimplicit-fallthrough])
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
], [
|
||||||
|
IMPLICIT_FALLTHROUGH=
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
])
|
||||||
|
|
||||||
|
CFLAGS="$saved_flags"
|
||||||
|
AC_SUBST([IMPLICIT_FALLTHROUGH])
|
||||||
|
])
|
||||||
|
|
||||||
dnl #
|
dnl #
|
||||||
dnl # Check if gcc supports -fno-omit-frame-pointer option.
|
dnl # Check if gcc supports -fno-omit-frame-pointer option.
|
||||||
dnl #
|
dnl #
|
||||||
|
|
|
@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
|
||||||
|
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE
|
||||||
|
ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
|
ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_ZERO_LENGTH
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_ZERO_LENGTH
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
#define __always_inline inline
|
#define __always_inline inline
|
||||||
#define noinline __noinline
|
#define noinline __noinline
|
||||||
#define ____cacheline_aligned __aligned(CACHE_LINE_SIZE)
|
#define ____cacheline_aligned __aligned(CACHE_LINE_SIZE)
|
||||||
|
#define fallthrough __attribute__((__fallthrough__))
|
||||||
|
|
||||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||||
#define likely(x) __builtin_expect(!!(x), 1)
|
#define likely(x) __builtin_expect(!!(x), 1)
|
||||||
|
|
|
@ -28,6 +28,14 @@
|
||||||
|
|
||||||
#include <linux/compiler.h>
|
#include <linux/compiler.h>
|
||||||
|
|
||||||
|
#if !defined(fallthrough)
|
||||||
|
#if defined(HAVE_IMPLICIT_FALLTHROUGH)
|
||||||
|
#define fallthrough __attribute__((__fallthrough__))
|
||||||
|
#else
|
||||||
|
#define fallthrough ((void)0)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(READ_ONCE)
|
#if !defined(READ_ONCE)
|
||||||
#define READ_ONCE(x) ACCESS_ONCE(x)
|
#define READ_ONCE(x) ACCESS_ONCE(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include <linux/dcache_compat.h>
|
#include <linux/dcache_compat.h>
|
||||||
#include <linux/utsname_compat.h>
|
#include <linux/utsname_compat.h>
|
||||||
|
#include <linux/compiler_compat.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|
||||||
#if THREAD_SIZE >= 16384
|
#if THREAD_SIZE >= 16384
|
||||||
|
|
|
@ -766,7 +766,6 @@ extern void spl_fstrans_unmark(fstrans_cookie_t);
|
||||||
extern int __spl_pf_fstrans_check(void);
|
extern int __spl_pf_fstrans_check(void);
|
||||||
extern int kmem_cache_reap_active(void);
|
extern int kmem_cache_reap_active(void);
|
||||||
|
|
||||||
#define ____cacheline_aligned
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Kernel modules
|
* Kernel modules
|
||||||
|
|
|
@ -27,6 +27,15 @@
|
||||||
#ifndef _SYS_FEATURE_TESTS_H
|
#ifndef _SYS_FEATURE_TESTS_H
|
||||||
#define _SYS_FEATURE_TESTS_H
|
#define _SYS_FEATURE_TESTS_H
|
||||||
|
|
||||||
#define __NORETURN __attribute__((__noreturn__))
|
#define ____cacheline_aligned
|
||||||
|
#define __NORETURN __attribute__((__noreturn__))
|
||||||
|
|
||||||
|
#if !defined(fallthrough)
|
||||||
|
#if defined(HAVE_IMPLICIT_FALLTHROUGH)
|
||||||
|
#define fallthrough __attribute__((__fallthrough__))
|
||||||
|
#else
|
||||||
|
#define fallthrough ((void)0)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1363,9 +1363,8 @@ badlabel:
|
||||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
fallthrough;
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
|
||||||
|
|
||||||
|
|
||||||
case ZFS_PROP_SHARESMB:
|
case ZFS_PROP_SHARESMB:
|
||||||
case ZFS_PROP_SHARENFS:
|
case ZFS_PROP_SHARENFS:
|
||||||
|
@ -3775,8 +3774,8 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs_type_t type,
|
||||||
if (type == ZFS_TYPE_VOLUME)
|
if (type == ZFS_TYPE_VOLUME)
|
||||||
return (zfs_error(hdl, EZFS_VOLTOOBIG,
|
return (zfs_error(hdl, EZFS_VOLTOOBIG,
|
||||||
errbuf));
|
errbuf));
|
||||||
|
fallthrough;
|
||||||
#endif
|
#endif
|
||||||
/* FALLTHROUGH */
|
|
||||||
default:
|
default:
|
||||||
return (zfs_standard_error(hdl, errno, errbuf));
|
return (zfs_standard_error(hdl, errno, errbuf));
|
||||||
}
|
}
|
||||||
|
|
|
@ -314,7 +314,7 @@ zpool_get_prop(zpool_handle_t *zhp, zpool_prop_t prop, char *buf,
|
||||||
len);
|
len);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
(void) strlcpy(buf, "-", len);
|
(void) strlcpy(buf, "-", len);
|
||||||
break;
|
break;
|
||||||
|
@ -405,7 +405,7 @@ zpool_get_prop(zpool_handle_t *zhp, zpool_prop_t prop, char *buf,
|
||||||
(void) snprintf(buf, len, "-");
|
(void) snprintf(buf, len, "-");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
(void) snprintf(buf, len, "%llu", (u_longlong_t)intval);
|
(void) snprintf(buf, len, "%llu", (u_longlong_t)intval);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4866,7 +4866,7 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const char *tosnap,
|
||||||
(void) zfs_error(hdl, EZFS_BUSY, errbuf);
|
(void) zfs_error(hdl, EZFS_BUSY, errbuf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* fallthru */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
(void) zfs_standard_error(hdl, ioctl_errno, errbuf);
|
(void) zfs_standard_error(hdl, ioctl_errno, errbuf);
|
||||||
}
|
}
|
||||||
|
|
|
@ -598,7 +598,7 @@ zfs_setprop_error(libzfs_handle_t *hdl, zfs_prop_t prop, int err,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
(void) zfs_standard_error(hdl, err, errbuf);
|
(void) zfs_standard_error(hdl, err, errbuf);
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ lzbe_set_boot_device(const char *pool, lzbe_flags_t flag, const char *device)
|
||||||
/* Drop this nvlist */
|
/* Drop this nvlist */
|
||||||
fnvlist_free(nv);
|
fnvlist_free(nv);
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case lzbe_replace:
|
case lzbe_replace:
|
||||||
nv = fnvlist_alloc();
|
nv = fnvlist_alloc();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1032,10 +1032,11 @@ zpool_read_label(int fd, nvlist_t **config, int *num_labels)
|
||||||
// This shouldn't be possible to
|
// This shouldn't be possible to
|
||||||
// encounter, die if we do.
|
// encounter, die if we do.
|
||||||
ASSERT(B_FALSE);
|
ASSERT(B_FALSE);
|
||||||
|
fallthrough;
|
||||||
case EOPNOTSUPP:
|
case EOPNOTSUPP:
|
||||||
case ENOSYS:
|
case ENOSYS:
|
||||||
do_slow = B_TRUE;
|
do_slow = B_TRUE;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case 0:
|
case 0:
|
||||||
default:
|
default:
|
||||||
(void) aio_return(&aiocbs[l]);
|
(void) aio_return(&aiocbs[l]);
|
||||||
|
|
|
@ -377,7 +377,7 @@ kcf_provider_zero_refcnt(kcf_provider_desc_t *desc)
|
||||||
mutex_exit(&desc->pd_lock);
|
mutex_exit(&desc->pd_lock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
|
|
||||||
case CRYPTO_HW_PROVIDER:
|
case CRYPTO_HW_PROVIDER:
|
||||||
case CRYPTO_LOGICAL_PROVIDER:
|
case CRYPTO_LOGICAL_PROVIDER:
|
||||||
|
|
|
@ -976,7 +976,7 @@ aes_encrypt_atomic(crypto_provider_handle_t provider,
|
||||||
case AES_GMAC_MECH_INFO_TYPE:
|
case AES_GMAC_MECH_INFO_TYPE:
|
||||||
if (plaintext->cd_length != 0)
|
if (plaintext->cd_length != 0)
|
||||||
return (CRYPTO_ARGUMENTS_BAD);
|
return (CRYPTO_ARGUMENTS_BAD);
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case AES_GCM_MECH_INFO_TYPE:
|
case AES_GCM_MECH_INFO_TYPE:
|
||||||
length_needed = plaintext->cd_length + aes_ctx.ac_tag_len;
|
length_needed = plaintext->cd_length + aes_ctx.ac_tag_len;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
#define lcode_c
|
#define lcode_c
|
||||||
#define LUA_CORE
|
#define LUA_CORE
|
||||||
|
|
||||||
|
#if defined(HAVE_IMPLICIT_FALLTHROUGH)
|
||||||
|
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <sys/lua/lua.h>
|
#include <sys/lua/lua.h>
|
||||||
|
|
||||||
#include "lcode.h"
|
#include "lcode.h"
|
||||||
|
|
|
@ -676,7 +676,7 @@ static void freeobj (lua_State *L, GCObject *o) {
|
||||||
case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break;
|
case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break;
|
||||||
case LUA_TSHRSTR:
|
case LUA_TSHRSTR:
|
||||||
G(L)->strt.nuse--;
|
G(L)->strt.nuse--;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case LUA_TLNGSTR: {
|
case LUA_TLNGSTR: {
|
||||||
luaM_freemem(L, o, sizestring(gco2ts(o)));
|
luaM_freemem(L, o, sizestring(gco2ts(o)));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -477,7 +477,7 @@ static int llex (LexState *ls, SemInfo *seminfo) {
|
||||||
else if (!lisdigit(ls->current)) return '.';
|
else if (!lisdigit(ls->current)) return '.';
|
||||||
/* else go through */
|
/* else go through */
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case '0': case '1': case '2': case '3': case '4':
|
case '0': case '1': case '2': case '3': case '4':
|
||||||
case '5': case '6': case '7': case '8': case '9': {
|
case '5': case '6': case '7': case '8': case '9': {
|
||||||
read_numeral(ls, seminfo);
|
read_numeral(ls, seminfo);
|
||||||
|
|
|
@ -501,7 +501,7 @@ static const char *match (MatchState *ms, const char *s, const char *p) {
|
||||||
}
|
}
|
||||||
case '+': /* 1 or more repetitions */
|
case '+': /* 1 or more repetitions */
|
||||||
s++; /* 1 match already done */
|
s++; /* 1 match already done */
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case '*': /* 0 or more repetitions */
|
case '*': /* 0 or more repetitions */
|
||||||
s = max_expand(ms, s, p, ep);
|
s = max_expand(ms, s, p, ep);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -492,7 +492,7 @@ const TValue *luaH_get (Table *t, const TValue *key) {
|
||||||
return luaH_getint(t, k); /* use specialized version */
|
return luaH_getint(t, k); /* use specialized version */
|
||||||
/* else go through */
|
/* else go through */
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default: {
|
default: {
|
||||||
Node *n = mainposition(t, key);
|
Node *n = mainposition(t, key);
|
||||||
do { /* check whether `key' is somewhere in the chain */
|
do { /* check whether `key' is somewhere in the chain */
|
||||||
|
|
|
@ -269,7 +269,7 @@ zfs_ace_fuid_size(void *acep)
|
||||||
entry_type == OWNING_GROUP ||
|
entry_type == OWNING_GROUP ||
|
||||||
entry_type == ACE_EVERYONE)
|
entry_type == ACE_EVERYONE)
|
||||||
return (sizeof (zfs_ace_hdr_t));
|
return (sizeof (zfs_ace_hdr_t));
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
return (sizeof (zfs_ace_t));
|
return (sizeof (zfs_ace_t));
|
||||||
}
|
}
|
||||||
|
@ -2153,7 +2153,7 @@ zfs_zaccess_aces_check(znode_t *zp, uint32_t *working_mode,
|
||||||
break;
|
break;
|
||||||
case OWNING_GROUP:
|
case OWNING_GROUP:
|
||||||
who = gowner;
|
who = gowner;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case ACE_IDENTIFIER_GROUP:
|
case ACE_IDENTIFIER_GROUP:
|
||||||
checkit = zfs_groupmember(zfsvfs, who, cr);
|
checkit = zfs_groupmember(zfsvfs, who, cr);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -960,7 +960,7 @@ zfs_lookup(vnode_t *dvp, const char *nm, vnode_t **vpp,
|
||||||
cnp->cn_flags |= SAVENAME;
|
cnp->cn_flags |= SAVENAME;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case DELETE:
|
case DELETE:
|
||||||
if (error == 0)
|
if (error == 0)
|
||||||
cnp->cn_flags |= SAVENAME;
|
cnp->cn_flags |= SAVENAME;
|
||||||
|
|
|
@ -269,7 +269,7 @@ zfs_ace_fuid_size(void *acep)
|
||||||
entry_type == OWNING_GROUP ||
|
entry_type == OWNING_GROUP ||
|
||||||
entry_type == ACE_EVERYONE)
|
entry_type == ACE_EVERYONE)
|
||||||
return (sizeof (zfs_ace_hdr_t));
|
return (sizeof (zfs_ace_hdr_t));
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
return (sizeof (zfs_ace_t));
|
return (sizeof (zfs_ace_t));
|
||||||
}
|
}
|
||||||
|
@ -2317,7 +2317,7 @@ zfs_zaccess_aces_check(znode_t *zp, uint32_t *working_mode,
|
||||||
break;
|
break;
|
||||||
case OWNING_GROUP:
|
case OWNING_GROUP:
|
||||||
who = gowner;
|
who = gowner;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case ACE_IDENTIFIER_GROUP:
|
case ACE_IDENTIFIER_GROUP:
|
||||||
checkit = zfs_groupmember(zfsvfs, who, cr);
|
checkit = zfs_groupmember(zfsvfs, who, cr);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -430,7 +430,7 @@ zfs_inode_set_ops(zfsvfs_t *zfsvfs, struct inode *ip)
|
||||||
case S_IFBLK:
|
case S_IFBLK:
|
||||||
(void) sa_lookup(ITOZ(ip)->z_sa_hdl, SA_ZPL_RDEV(zfsvfs), &rdev,
|
(void) sa_lookup(ITOZ(ip)->z_sa_hdl, SA_ZPL_RDEV(zfsvfs), &rdev,
|
||||||
sizeof (rdev));
|
sizeof (rdev));
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case S_IFIFO:
|
case S_IFIFO:
|
||||||
case S_IFSOCK:
|
case S_IFSOCK:
|
||||||
init_special_inode(ip, ip->i_mode, rdev);
|
init_special_inode(ip, ip->i_mode, rdev);
|
||||||
|
|
|
@ -1066,10 +1066,10 @@ abd_raidz_gen_iterate(abd_t **cabds, abd_t *dabd,
|
||||||
switch (parity) {
|
switch (parity) {
|
||||||
case 3:
|
case 3:
|
||||||
len = MIN(caiters[2].iter_mapsize, len);
|
len = MIN(caiters[2].iter_mapsize, len);
|
||||||
/* falls through */
|
fallthrough;
|
||||||
case 2:
|
case 2:
|
||||||
len = MIN(caiters[1].iter_mapsize, len);
|
len = MIN(caiters[1].iter_mapsize, len);
|
||||||
/* falls through */
|
fallthrough;
|
||||||
case 1:
|
case 1:
|
||||||
len = MIN(caiters[0].iter_mapsize, len);
|
len = MIN(caiters[0].iter_mapsize, len);
|
||||||
}
|
}
|
||||||
|
@ -1179,11 +1179,11 @@ abd_raidz_rec_iterate(abd_t **cabds, abd_t **tabds,
|
||||||
case 3:
|
case 3:
|
||||||
len = MIN(xiters[2].iter_mapsize, len);
|
len = MIN(xiters[2].iter_mapsize, len);
|
||||||
len = MIN(citers[2].iter_mapsize, len);
|
len = MIN(citers[2].iter_mapsize, len);
|
||||||
/* falls through */
|
fallthrough;
|
||||||
case 2:
|
case 2:
|
||||||
len = MIN(xiters[1].iter_mapsize, len);
|
len = MIN(xiters[1].iter_mapsize, len);
|
||||||
len = MIN(citers[1].iter_mapsize, len);
|
len = MIN(citers[1].iter_mapsize, len);
|
||||||
/* falls through */
|
fallthrough;
|
||||||
case 1:
|
case 1:
|
||||||
len = MIN(xiters[0].iter_mapsize, len);
|
len = MIN(xiters[0].iter_mapsize, len);
|
||||||
len = MIN(citers[0].iter_mapsize, len);
|
len = MIN(citers[0].iter_mapsize, len);
|
||||||
|
|
|
@ -749,7 +749,7 @@ dsl_prop_set_sync_impl(dsl_dataset_t *ds, const char *propname,
|
||||||
ASSERT(err == 0 || err == ENOENT);
|
ASSERT(err == 0 || err == ENOENT);
|
||||||
err = zap_remove(mos, zapobj, inheritstr, tx);
|
err = zap_remove(mos, zapobj, inheritstr, tx);
|
||||||
ASSERT(err == 0 || err == ENOENT);
|
ASSERT(err == 0 || err == ENOENT);
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case (ZPROP_SRC_NONE | ZPROP_SRC_RECEIVED):
|
case (ZPROP_SRC_NONE | ZPROP_SRC_RECEIVED):
|
||||||
/*
|
/*
|
||||||
* remove propname$recvd
|
* remove propname$recvd
|
||||||
|
|
|
@ -9710,7 +9710,7 @@ spa_activity_in_progress(spa_t *spa, zpool_wait_activity_t activity,
|
||||||
case ZPOOL_WAIT_RESILVER:
|
case ZPOOL_WAIT_RESILVER:
|
||||||
if ((*in_progress = vdev_rebuild_active(spa->spa_root_vdev)))
|
if ((*in_progress = vdev_rebuild_active(spa->spa_root_vdev)))
|
||||||
break;
|
break;
|
||||||
/* fall through */
|
fallthrough;
|
||||||
case ZPOOL_WAIT_SCRUB:
|
case ZPOOL_WAIT_SCRUB:
|
||||||
{
|
{
|
||||||
boolean_t scanning, paused, is_scrub;
|
boolean_t scanning, paused, is_scrub;
|
||||||
|
|
|
@ -1305,7 +1305,7 @@ vdev_label_read_bootenv(vdev_t *rvd, nvlist_t *bootenv)
|
||||||
nvlist_free(config);
|
nvlist_free(config);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
default:
|
default:
|
||||||
/* Check for FreeBSD zfs bootonce command string */
|
/* Check for FreeBSD zfs bootonce command string */
|
||||||
buf = abd_to_buf(abd);
|
buf = abd_to_buf(abd);
|
||||||
|
|
|
@ -142,7 +142,7 @@ static const struct {
|
||||||
a.b[6] = mul_lt[a.b[6]]; \
|
a.b[6] = mul_lt[a.b[6]]; \
|
||||||
a.b[5] = mul_lt[a.b[5]]; \
|
a.b[5] = mul_lt[a.b[5]]; \
|
||||||
a.b[4] = mul_lt[a.b[4]]; \
|
a.b[4] = mul_lt[a.b[4]]; \
|
||||||
/* falls through */ \
|
fallthrough; \
|
||||||
case 4: \
|
case 4: \
|
||||||
a.b[3] = mul_lt[a.b[3]]; \
|
a.b[3] = mul_lt[a.b[3]]; \
|
||||||
a.b[2] = mul_lt[a.b[2]]; \
|
a.b[2] = mul_lt[a.b[2]]; \
|
||||||
|
|
|
@ -362,7 +362,7 @@ zfs_replay_create_acl(void *arg1, void *arg2, boolean_t byteswap)
|
||||||
zfsvfs->z_fuid_replay = zfs_replay_fuids(fuidstart,
|
zfsvfs->z_fuid_replay = zfs_replay_fuids(fuidstart,
|
||||||
(void *)&name, lracl->lr_fuidcnt, lracl->lr_domcnt,
|
(void *)&name, lracl->lr_fuidcnt, lracl->lr_domcnt,
|
||||||
lr->lr_uid, lr->lr_gid);
|
lr->lr_uid, lr->lr_gid);
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case TX_CREATE_ACL_ATTR:
|
case TX_CREATE_ACL_ATTR:
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
lrattr = (lr_attr_t *)(caddr_t)(lracl + 1);
|
lrattr = (lr_attr_t *)(caddr_t)(lracl + 1);
|
||||||
|
@ -394,7 +394,7 @@ zfs_replay_create_acl(void *arg1, void *arg2, boolean_t byteswap)
|
||||||
zfsvfs->z_fuid_replay = zfs_replay_fuids(fuidstart,
|
zfsvfs->z_fuid_replay = zfs_replay_fuids(fuidstart,
|
||||||
(void *)&name, lracl->lr_fuidcnt, lracl->lr_domcnt,
|
(void *)&name, lracl->lr_fuidcnt, lracl->lr_domcnt,
|
||||||
lr->lr_uid, lr->lr_gid);
|
lr->lr_uid, lr->lr_gid);
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case TX_MKDIR_ACL_ATTR:
|
case TX_MKDIR_ACL_ATTR:
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
lrattr = (lr_attr_t *)(caddr_t)(lracl + 1);
|
lrattr = (lr_attr_t *)(caddr_t)(lracl + 1);
|
||||||
|
@ -519,7 +519,7 @@ zfs_replay_create(void *arg1, void *arg2, boolean_t byteswap)
|
||||||
zfs_replay_fuid_domain(start, &start,
|
zfs_replay_fuid_domain(start, &start,
|
||||||
lr->lr_uid, lr->lr_gid);
|
lr->lr_uid, lr->lr_gid);
|
||||||
name = (char *)start;
|
name = (char *)start;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
|
|
||||||
case TX_CREATE:
|
case TX_CREATE:
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
|
@ -537,7 +537,7 @@ zfs_replay_create(void *arg1, void *arg2, boolean_t byteswap)
|
||||||
zfs_replay_fuid_domain(start, &start,
|
zfs_replay_fuid_domain(start, &start,
|
||||||
lr->lr_uid, lr->lr_gid);
|
lr->lr_uid, lr->lr_gid);
|
||||||
name = (char *)start;
|
name = (char *)start;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
|
|
||||||
case TX_MKDIR:
|
case TX_MKDIR:
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
|
|
|
@ -214,7 +214,7 @@ zio_compress_to_feature(enum zio_compress comp)
|
||||||
case ZIO_COMPRESS_ZSTD:
|
case ZIO_COMPRESS_ZSTD:
|
||||||
return (SPA_FEATURE_ZSTD_COMPRESS);
|
return (SPA_FEATURE_ZSTD_COMPRESS);
|
||||||
default:
|
default:
|
||||||
/* fallthru */;
|
break;
|
||||||
}
|
}
|
||||||
return (SPA_FEATURE_NONE);
|
return (SPA_FEATURE_NONE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ main(int argc, char *argv[])
|
||||||
switch (sbuf.st_mode & S_IFMT) {
|
switch (sbuf.st_mode & S_IFMT) {
|
||||||
case S_IFDIR:
|
case S_IFDIR:
|
||||||
isdir = B_TRUE;
|
isdir = B_TRUE;
|
||||||
/* FALLTHROUGH */
|
fallthrough;
|
||||||
case S_IFLNK:
|
case S_IFLNK:
|
||||||
case S_IFCHR:
|
case S_IFCHR:
|
||||||
case S_IFBLK:
|
case S_IFBLK:
|
||||||
|
|
Loading…
Reference in New Issue