twx-linux/include/uapi/linux
Eric Blake 2686eb845d uapi nbd: add cookie alias to handle
The uapi <linux/nbd.h> header declares a 'char handle[8]' per request;
which is overloaded in English (are you referring to "handle" the
verb, such as handling a signal or writing a callback handler, or
"handle" the noun, the value used in a lookup table to correlate a
response back to the request).  Many user-space NBD implementations
(both servers and clients) have instead used 'uint64_t cookie' or
similar, as it is easier to directly assign an integer than to futz
around with memcpy.  In fact, upstream documentation is now
encouraging this shift in terminology:
https://github.com/NetworkBlockDevice/nbd/commit/ca4392eb2b

Accomplish this by use of an anonymous union to provide the alias for
anyone getting the definition from the uapi; this does not break
existing clients, while exposing the nicer name for those who prefer
it.  Note that block/nbd.c still uses the term handle (in fact, it
actually combines a 32-bit cookie and a 32-bit tag into the 64-bit
handle), but that internal usage is not changed by the public uapi,
since no compliant NBD server has any reason to inspect or alter the
64 bits sent over the socket.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/r/20230410180611.1051618-3-eblake@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-04-27 19:15:11 -06:00
..
android binder: return pending info for frozen async txns 2023-01-19 17:14:18 +01:00
byteorder
caif
can can: raw: add CAN XL support 2022-09-15 09:08:09 +02:00
cifs
dvb Merge tag 'br-v6.2i' of git://linuxtv.org/hverkuil/media_tree into media_stage 2022-12-07 17:58:47 +01:00
genwqe
hdlc
hsi headers: Remove some left-over license text in include/uapi/linux/hsi/ 2022-11-17 22:49:39 +01:00
iio iio: add modifers for pitch, yaw, roll 2022-09-21 18:42:55 +01:00
isdn
misc
mmc
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6 netfilter: ip6t_LOG: Fix a typo in a comment 2022-08-09 19:51:05 +02:00
nfsd
raid
sched
spi
sunrpc
surface_aggregator
tc_act net: sched: add helper support in act_ct 2022-11-08 12:15:19 +01:00
tc_ematch
usb usb: uvc: Enumerate valid values for color matching 2023-02-06 13:46:42 +01:00
a.out.h
acct.h
acrn.h virt: acrn: Mark the uuid field as unused 2022-11-23 19:55:22 +01:00
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h media: aspeed: Support aspeed mode to reduce compressed data 2022-11-04 16:56:41 +01:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h net: atm: bring back zatm uAPI 2022-08-11 10:31:19 -07:00
atm.h
atmapi.h
atmarp.h
atmbr2684.h atm: uapi: fix spelling typos in comments 2022-12-22 18:18:37 -08:00
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: fix undefined behavior in bit shift for AUDIT_BIT 2022-10-31 07:29:47 -04:00
auto_dev-ioctl.h
auto_fs4.h
auto_fs.h
auxvec.h rseq: Introduce feature size and alignment ELF auxiliary vector entries 2022-12-27 12:52:10 +01:00
ax25.h
batadv_packet.h batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Add BPF_FIB_LOOKUP_SKIP_NEIGH for bpf_fib_lookup 2023-02-17 22:12:04 +01:00
bpfilter.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs_tree.h btrfs: add nr_global_roots to the super block definition 2022-12-05 18:00:58 +01:00
btrfs.h btrfs: ioctl: return device fsid from DEV_INFO ioctl 2023-03-06 19:28:19 +01:00
cachefiles.h
can.h can: canxl: introduce CAN XL data structure 2022-09-15 09:08:09 +02:00
capability.h capabilities: fix undefined behavior in bit shift for CAP_TO_MASK 2022-11-05 01:25:57 -04:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h media: cec: add support for Absolute Volume Control 2022-09-24 08:50:04 +02:00
cec.h media: cec: add support for Absolute Volume Control 2022-09-24 08:50:04 +02:00
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cm4000_cs.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h
coresight-stm.h
counter.h counter: Introduce the Count capture component 2022-09-30 14:32:35 +02:00
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h cxl/mem: Fix UAPI command comment 2023-02-10 17:54:45 -08:00
cyclades.h
cycx_cfm.h
dcbnl.h net: dcb: add new rewrite table 2023-01-20 09:33:22 +00:00
dccp.h
devlink.h devlink: Expose port function commands to control migratable 2022-12-07 20:09:18 -08:00
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h fs: dlm: remove DLM_LSFL_FS from uapi 2022-08-23 14:54:54 -05:00
dlmconstants.h
dm-ioctl.h flexible-array transformations in UAPI for 6.0-rc1 2022-08-02 19:50:47 -07:00
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dqblk_xfs.h
dw100.h media: uapi: Add a control for DW100 driver 2022-08-29 15:32:13 +02:00
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h LoongArch changes for v6.3 2023-03-01 09:27:00 -08:00
errno.h
errqueue.h
erspan.h
ethtool_netlink.h net: ethtool: extend ringparam set/get APIs for rx_push 2023-02-13 11:05:12 +00:00
ethtool.h net: ethtool: netlink: retrieve stats from multiple sources (eMAC, pMAC) 2023-01-23 12:44:18 +00:00
eventpoll.h eventpoll: add EPOLL_URING_WAKE poll wakeup flag 2022-11-21 07:45:29 -07:00
f2fs.h f2fs: introduce F2FS_IOC_START_ATOMIC_REPLACE 2022-11-28 12:46:23 -08:00
fadvise.h
falloc.h
fanotify.h fanotify: define struct members to hold response decision context 2023-02-07 12:53:53 +01:00
fb.h
fcntl.h mm/memfd: add F_SEAL_EXEC 2023-01-18 17:12:37 -08:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause 2023-03-07 13:44:30 -08:00
fpga-dfl.h
fs.h
fscrypt.h fscrypt: remove unused Speck definitions 2022-12-01 19:58:50 -08:00
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: optional supplementary group in create requests 2023-01-26 17:10:38 +01:00
futex.h
gameport.h
gen_stats.h
genetlink.h genetlink: correct uAPI defines 2022-08-10 13:49:50 +01:00
gfs2_ondisk.h
gpio.h
gsmmux.h tty: n_gsm: add keep alive support 2023-02-16 13:50:50 +01:00
gtp.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h HID: convert defines of HID class requests into a proper enum 2022-09-20 11:53:32 +01:00
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h dmaengine: idxd: Fix crc_val field for completion record 2022-11-14 03:56:37 +05:30
if_addr.h
if_addrlabel.h
if_alg.h crypto: af_alg - Support symmetric encryption via keyring keys 2022-10-28 12:36:34 +08:00
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h net: bridge: Add netlink knobs for number / maximum MDB entries 2023-02-06 08:48:26 +00:00
if_cablemodem.h
if_eql.h
if_ether.h can: canxl: update CAN infrastructure for CAN XL frames 2022-09-15 09:08:09 +02:00
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h net: bridge: Add netlink knobs for number / maximum MDB entries 2023-02-06 08:48:26 +00:00
if_ltalk.h
if_macsec.h net: macsec: Expose MACSEC_SALT_LEN definition to user space 2022-08-18 20:37:35 -07:00
if_packet.h packet: add TP_STATUS_GSO_TCP for tp_status 2023-02-01 20:54:27 -08:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h uapi/linux/if_tun.h: Added new offload types for USO4/6. 2022-12-12 09:29:56 +00:00
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h
if.h
ife.h
igmp.h
ila.h
in6.h
in_route.h
in.h inet: Add IP_LOCAL_PORT_RANGE socket option 2023-01-25 22:45:00 -08:00
inet_diag.h
inotify.h
input-event-codes.h HID: add mapping for camera access keys 2022-11-22 17:50:36 -08:00
input.h Input updates for v5.19-rc6 2022-07-17 07:52:46 -07:00
io_uring.h hardening updates for v6.3-rc1 2023-02-21 11:07:23 -08:00
ioam6_genl.h
ioam6_iptunnel.h
ioam6.h ipv6: ioam: Replace 0-length array with flexible array 2023-01-06 19:22:53 -08:00
ioctl.h
iommu.h
iommufd.h iommufd: vfio container FD ioctl compatibility 2022-11-30 20:16:49 -04:00
ioprio.h
ip6_tunnel.h
ip_vs.h
ip.h uapi: add missing ip/ipv6 header dependencies for linux/stddef.h 2023-02-06 09:01:00 +00:00
ipc.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h ipmi: ssif_bmc: Add SSIF BMC driver 2022-10-17 09:51:26 -05:00
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h uapi: add missing ip/ipv6 header dependencies for linux/stddef.h 2023-02-06 09:01:00 +00:00
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h VT: Add KD_FONT_OP_SET/GET_TALL operations 2023-01-19 16:28:57 +01:00
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h
kfd_sysfs.h
kvm_para.h
kvm.h * Two more V!=R patches 2023-02-15 12:35:26 -05:00
l2tp.h uapi: move IPPROTO_L2TP to in.h 2022-09-20 09:13:38 +02:00
landlock.h landlock: Support file truncation 2022-10-19 09:01:44 +02:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lwtunnel.h xfrm: lwtunnel: add lwtunnel support for xfrm interfaces in collect_md mode 2022-08-29 10:44:08 +02:00
magic.h mm: Convert all PageMovable users to movable_operations 2022-08-02 12:34:03 -04:00
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h
mdio.h net: phy: add genphy_c45_ethtool_get/set_eee() support 2023-02-13 11:12:31 +00:00
media-bus-format.h drm-misc-next for v6.3: 2023-01-04 14:59:25 +01:00
media.h
mei.h
membarrier.h sched/membarrier: Introduce MEMBARRIER_CMD_GET_REGISTRATIONS 2023-01-07 11:29:29 +01:00
memfd.h mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC 2023-01-18 17:12:37 -08:00
mempolicy.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h
mpls_iptunnel.h
mpls.h
mptcp.h mptcp: add pm listener events 2022-12-01 20:06:06 -08:00
mqueue.h
mroute6.h
mroute.h
mrp_bridge.h
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h
nbd.h uapi nbd: add cookie alias to handle 2023-04-27 19:15:11 -06:00
ncsi.h
ndctl.h
neighbour.h bridge: Add MAC Authentication Bypass (MAB) support 2022-11-03 20:46:32 -07:00
net_dropmon.h
net_namespace.h
net_tstamp.h net_tstamp: add SOF_TIMESTAMPING_OPT_ID_TCP 2022-12-08 19:49:21 -08:00
net.h
netconf.h
netdev.h ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause 2023-03-07 13:44:30 -08:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h netfilter: remove NFPROTO_DECNET 2022-09-07 16:46:03 +02:00
netlink_diag.h
netlink.h netlink: remove the flex array from struct nlmsghdr 2022-11-18 18:36:54 -08:00
netrom.h
nexthop.h
nfc.h
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: nl80211: Allow authentication frames and set keys on NAN interface 2023-02-14 12:35:02 +01:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: Add support to count upcall packets 2022-12-09 10:43:46 +00:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h cxl: add RAS status unmasking for CXL 2023-02-14 14:12:54 -08:00
pci.h
pcitest.h
perf_event.h perf: Add perf_event_attr::config3 2023-02-07 11:52:00 +00:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h
pkt_cls.h net/sched: flower: Add L2TPv3 filter 2022-09-20 09:13:38 +02:00
pkt_sched.h net/sched: taprio: allow user input of per-tc max SDU 2022-09-29 18:52:05 -07:00
pktcdvd.h Revert "pktcdvd: remove driver." 2023-01-04 14:44:13 -07:00
pmu.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
pr.h block: Add error codes for common PR failures 2022-12-01 03:22:20 +00:00
prctl.h mm: implement memory-deny-write-execute as a prctl 2023-02-02 22:33:24 -08:00
psample.h
psci.h firmware/psci: Fix MEM_PROTECT_RANGE function numbers 2023-01-06 17:12:39 +00:00
psp-sev.h
ptp_clock.h
ptrace.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
remoteproc_cdev.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rockchip: rkisp1: Define macros for DPCC configurations in UAPI 2022-09-24 08:31:54 +02:00
romfs_fs.h
rose.h
route.h
rpl_iptunnel.h
rpl.h net: ipv6: rpl_iptunnel: Replace 0-length arrays with flexible arrays 2023-01-06 19:28:01 -08:00
rpmsg_types.h
rpmsg.h
rseq.h rseq: Extend struct rseq with per-memory-map concurrency ID 2022-12-27 12:52:12 +01:00
rtc.h
rtnetlink.h sched: add new attr TCA_EXT_WARN_MSG to report tc extact message 2023-01-17 09:38:33 +01:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h
sed-opal.h sed-opal: geometry feature reporting command 2023-04-19 14:07:13 -06:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h Networking changes for 6.0. 2022-08-03 16:29:08 -07:00
seg6_local.h seg6: add NEXT-C-SID support for SRv6 End behavior 2022-09-20 12:33:22 +02:00
seg6.h
selinux_netlink.h
sem.h
serial_core.h serial: 8250_pci1xxxx: Add driver for quad-uart support 2023-02-08 13:10:15 +01:00
serial_reg.h serial: 8250: Define IIR 64 byte bit & cleanup related code 2023-01-19 15:01:20 +01:00
serial.h serial: Convert serial_rs485 to kernel doc 2022-11-03 03:43:05 +01:00
serio.h
sev-guest.h
shm.h
signal.h
signalfd.h
smc_diag.h
smc.h net/smc: Extend SMC-R link group netlink attribute 2022-07-18 11:19:17 +01:00
smiapp.h
snmp.h icmp: Add counters for rate limits 2023-01-26 10:52:18 +01:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h statx: add direct I/O alignment information 2022-09-11 19:47:04 -05:00
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h include/uapi/linux/swab: Fix potentially missing __always_inline 2022-11-09 14:06:51 +01:00
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp_metrics.h
tcp.h tcp: add rcv_wnd and plb_rehash to TCP_INFO 2022-10-28 10:47:42 +01:00
tdx-guest.h virt: Add TDX guest driver 2022-11-17 11:04:23 -08:00
tee.h
termios.h
thermal.h
time_types.h
time.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tipc.h
tls.h net: tls: Add ARIA-GCM algorithm 2022-09-27 17:29:09 -07:00
toshiba.h
tty_flags.h
tty.h
types.h
ublk_cmd.h block: ublk: switch to ioctl command encoding 2023-04-18 20:13:30 -06:00
udf_fs_i.h
udmabuf.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h usbip: add USBIP_URB_* URB transfer flags 2022-08-31 09:07:53 +02:00
userfaultfd.h userfaultfd: add /dev/userfaultfd for fine grained access control 2022-09-11 20:25:48 -07:00
userio.h
utime.h
utsname.h
uuid.h uuid: Decouple guid_t and uuid_le types and respective macros 2023-01-31 15:57:19 +01:00
uvcvideo.h media: uvcvideo: Silence memcpy() run-time false positive warnings 2023-01-15 23:45:15 +02:00
v4l2-common.h headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-controls.h media: meye: remove this deprecated driver 2023-01-22 09:54:31 +01:00
v4l2-dv-timings.h headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-mediabus.h headers: Remove some left-over license text in include/uapi/linux/v4l2-* 2022-12-07 17:58:46 +01:00
v4l2-subdev.h media: subdev: add stream based configuration 2023-01-22 09:38:20 +01:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h vdpa: merge functionally duplicated dev_features attributes 2022-12-28 05:09:46 -05:00
vduse.h vduse: Support querying information of IOVA regions 2022-08-11 04:26:08 -04:00
veth.h
vfio_ccw.h
vfio_zdev.h
vfio.h vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR 2023-02-09 11:39:14 -07:00
vhost_types.h vhost-vdpa: Introduce RESUME backend feature bit 2023-02-20 19:26:56 -05:00
vhost.h vhost-vdpa: uAPI to resume the device 2023-02-20 19:26:56 -05:00
videodev2.h media: Add Y210, Y212 and Y216 formats 2023-01-20 17:46:00 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h virtio_blk: mark all zone fields LE 2023-02-15 06:46:22 -05:00
virtio_bt.h virtio_bt: Fix alignment in configuration struct 2022-12-12 14:19:23 -08:00
virtio_config.h virtio: queue_reset: add VIRTIO_F_RING_RESET 2022-08-11 04:06:40 -04:00
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h uapi/linux/virtio_net.h: Added USO types. 2022-12-12 09:29:56 +00:00
virtio_pci.h virtio_pci: struct virtio_pci_common_cfg add queue_reset 2022-08-11 04:06:40 -04:00
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h virtio: kerneldocs fixes and enhancements 2022-08-16 01:40:24 -04:00
virtio_rng.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h
virtio_types.h
virtio_vsock.h
vm_sockets_diag.h
vm_sockets.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h xfrm: add new packet offload flag 2022-12-05 10:30:47 +01:00
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h