op_name
#define __ATOMIC_CONST_OPS(op_name, op_type, op_string) \
__ATOMIC_CONST_OP(op_name, op_type, op_string, "") \
__ATOMIC_CONST_OP(op_name##_barrier, op_type, op_string, "\nbcr 14,0")
#define __ATOMIC_OP(op_name, op_string) \
static __always_inline int op_name(int val, int *ptr) \
#define __ATOMIC_OPS(op_name, op_string) \
__ATOMIC_OP(op_name, op_string) \
__ATOMIC_OP(op_name##_barrier, op_string)
#define __ATOMIC64_OP(op_name, op_string) \
static __always_inline long op_name(long val, long *ptr) \
#define __ATOMIC64_OPS(op_name, op_string) \
__ATOMIC64_OP(op_name, op_string) \
__ATOMIC64_OP(op_name##_barrier, op_string)
#define __ATOMIC_TEST_OP(op_name, op_type, op_string, op_barrier) \
static __always_inline bool op_name(op_type val, op_type *ptr) \
#define __ATOMIC_TEST_OPS(op_name, op_type, op_string) \
__ATOMIC_TEST_OP(op_name, op_type, op_string, "") \
__ATOMIC_TEST_OP(op_name##_barrier, op_type, op_string, "\nbcr 14,0")
#define __ATOMIC_CONST_TEST_OP(op_name, op_type, op_string, op_barrier) \
static __always_inline bool op_name(op_type val, op_type *ptr) \
#define __ATOMIC_CONST_TEST_OPS(op_name, op_type, op_string) \
__ATOMIC_CONST_TEST_OP(op_name, op_type, op_string, "") \
__ATOMIC_CONST_TEST_OP(op_name##_barrier, op_type, op_string, "\nbcr 14,0")
#define __ATOMIC_TEST_OP(op_name, op_func, op_type) \
static __always_inline bool op_name(op_type val, op_type *ptr) \
#define __ATOMIC_OP(op_name, op_type, op_string, op_barrier) \
static __always_inline op_type op_name(op_type val, op_type *ptr) \
#define __ATOMIC_OPS(op_name, op_type, op_string) \
__ATOMIC_OP(op_name, op_type, op_string, "") \
__ATOMIC_OP(op_name##_barrier, op_type, op_string, "\nbcr 14,0")
#define __ATOMIC_CONST_OP(op_name, op_type, op_string, op_barrier) \
static __always_inline void op_name(op_type val, op_type *ptr) \
char __user *op_name; /* Pointer to the property name. */
info->gd->disk_name, op_name(bret.operation), id);
info->gd->disk_name, op_name(bret.operation));
info->gd->disk_name, op_name(bret.operation));
info->gd->disk_name, op_name(bret.operation));
str = copyin_string(op.op_name, op.op_namelen);
str = copyin_string(op.op_name, op.op_namelen);
str = copyin_string(op.op_name, op.op_namelen);
.op_name = "OP_ACCESS",
.op_name = "OP_CLOSE",
.op_name = "OP_COMMIT",
.op_name = "OP_CREATE",
.op_name = "OP_DELEGRETURN",
.op_name = "OP_GETATTR",
.op_name = "OP_GETFH",
.op_name = "OP_LINK",
.op_name = "OP_LOCK",
.op_name = "OP_LOCKT",
.op_name = "OP_LOCKU",
.op_name = "OP_LOOKUP",
.op_name = "OP_LOOKUPP",
.op_name = "OP_NVERIFY",
.op_name = "OP_OPEN",
.op_name = "OP_OPEN_CONFIRM",
.op_name = "OP_OPEN_DOWNGRADE",
.op_name = "OP_PUTFH",
.op_name = "OP_PUTPUBFH",
.op_name = "OP_PUTROOTFH",
.op_name = "OP_READ",
.op_name = "OP_READDIR",
.op_name = "OP_READLINK",
.op_name = "OP_REMOVE",
.op_name = "OP_RENAME",
.op_name = "OP_RENEW",
.op_name = "OP_RESTOREFH",
.op_name = "OP_SAVEFH",
.op_name = "OP_SECINFO",
.op_name = "OP_SETATTR",
.op_name = "OP_SETCLIENTID",
.op_name = "OP_SETCLIENTID_CONFIRM",
.op_name = "OP_VERIFY",
.op_name = "OP_WRITE",
.op_name = "OP_RELEASE_LOCKOWNER",
.op_name = "OP_EXCHANGE_ID",
.op_name = "OP_BACKCHANNEL_CTL",
.op_name = "OP_BIND_CONN_TO_SESSION",
.op_name = "OP_CREATE_SESSION",
.op_name = "OP_DESTROY_SESSION",
.op_name = "OP_SEQUENCE",
.op_name = "OP_DESTROY_CLIENTID",
.op_name = "OP_RECLAIM_COMPLETE",
.op_name = "OP_SECINFO_NO_NAME",
.op_name = "OP_TEST_STATEID",
.op_name = "OP_FREE_STATEID",
.op_name = "OP_GET_DIR_DELEGATION",
.op_name = "OP_GETDEVICEINFO",
.op_name = "OP_LAYOUTGET",
.op_name = "OP_LAYOUTCOMMIT",
.op_name = "OP_LAYOUTRETURN",
.op_name = "OP_ALLOCATE",
.op_name = "OP_DEALLOCATE",
.op_name = "OP_CLONE",
.op_name = "OP_COPY",
.op_name = "OP_READ_PLUS",
.op_name = "OP_SEEK",
.op_name = "OP_OFFLOAD_STATUS",
.op_name = "OP_OFFLOAD_CANCEL",
.op_name = "OP_COPY_NOTIFY",
.op_name = "OP_GETXATTR",
.op_name = "OP_SETXATTR",
.op_name = "OP_LISTXATTRS",
.op_name = "OP_REMOVEXATTR",
return nfsd4_ops[opnum].op_name;
char *op_name;
const char *op_name,
op_name);
op_name,
op_name,
const char *op_name,
op_name,
#define GENL_notification(op_name, op_num, mcast_group, tla_list)
#define GENL_op(op_name, op_num, handler, tla_list)
#define GENL_op(op_name, op_num, handler, tla_list) \
case op_num: return #op_name;
#define GENL_op(op_name, op_num, handler, tla_list) \
.cmd = op_name, \
#define GENL_op(op_name, op_num, handler, tla_list)
#define GENL_op(op_name, op_num, handler, tla_list)
#define GENL_notification(op_name, op_num, mcast_group, tla_list) \
op_name = op_num,
#define GENL_op(op_name, op_num, handler, tla_list) \
op_name = op_num,
#define GENL_notification(op_name, op_num, mcast_group, tla_list)
#define GENL_op(op_name, op_num, handler, attr_list)
#define GENL_op(op_name, op_num, handler, attr_list) \
case op_name:
#define GENL_notification(op_name, op_num, mcast_group, tla_list) \
case op_name:
#define GENL_op(op_name, op_num, handler, attr_list)
#define GENL_notification(op_name, op_num, mcast_group, tla_list)
#define SPINAND_OP(spinand, op_name, ...) \
spinand_fill_ ## op_name ## _op(spinand, ##__VA_ARGS__)
snprintf(op_name, sizeof(op_name),
if (!ASSERT_EQ(prog_fd, -ENOSPC, op_name)) {
snprintf(op_name, sizeof(op_name),
ASSERT_EQ(strlen(logs.buf), i - 1, op_name);
snprintf(op_name, sizeof(op_name),
if (!ASSERT_STRNEQ(logs.buf, exp_log, i - 1, op_name)) {
snprintf(op_name, sizeof(op_name),
if (!ASSERT_STREQ(logs.buf + i, logs.filler + i, op_name)) {
char *exp_log, op_name[32];
ASSERT_STRNEQ(logs.buf, logs.reference, 24, op_name);
snprintf(op_name, sizeof(op_name), "log_roll_btf_load_%d", i);
if (!ASSERT_EQ(res, -ENOSPC, op_name))
snprintf(op_name, sizeof(op_name), "log_roll_contents_%d", i);
if (!ASSERT_STREQ(logs.buf, exp_log, op_name)) {
snprintf(op_name, sizeof(op_name), "log_roll_unused_tail_%d", i);
if (!ASSERT_STREQ(logs.buf + i, logs.filler + i, op_name)) {
char *exp_log, prog_name[24], op_name[32];
static inline void skip_test_dodgy_fs(const char *op_name)
ksft_test_result_skip("%s failed with ENOENT. Filesystem might be buggy (9pfs?)\n", op_name);
const char *op_name)
VFIO_ASSERT_NOT_NULL(op, "Driver has no %s()\n", op_name);