linux-uconsole/include/uapi/linux
Damien Le Moal 8dcc1a9d90 fs: New zonefs file system
zonefs is a very simple file system exposing each zone of a zoned block
device as a file. Unlike a regular file system with zoned block device
support (e.g. f2fs), zonefs does not hide the sequential write
constraint of zoned block devices to the user. Files representing
sequential write zones of the device must be written sequentially
starting from the end of the file (append only writes).

As such, zonefs is in essence closer to a raw block device access
interface than to a full featured POSIX file system. The goal of zonefs
is to simplify the implementation of zoned block device support in
applications by replacing raw block device file accesses with a richer
file API, avoiding relying on direct block device file ioctls which may
be more obscure to developers. One example of this approach is the
implementation of LSM (log-structured merge) tree structures (such as
used in RocksDB and LevelDB) on zoned block devices by allowing SSTables
to be stored in a zone file similarly to a regular file system rather
than as a range of sectors of a zoned device. The introduction of the
higher level construct "one file is one zone" can help reducing the
amount of changes needed in the application as well as introducing
support for different application programming languages.

Zonefs on-disk metadata is reduced to an immutable super block to
persistently store a magic number and optional feature flags and
values. On mount, zonefs uses blkdev_report_zones() to obtain the device
zone configuration and populates the mount point with a static file tree
solely based on this information. E.g. file sizes come from the device
zone type and write pointer offset managed by the device itself.

The zone files created on mount have the following characteristics.
1) Files representing zones of the same type are grouped together
   under a common sub-directory:
     * For conventional zones, the sub-directory "cnv" is used.
     * For sequential write zones, the sub-directory "seq" is used.
  These two directories are the only directories that exist in zonefs.
  Users cannot create other directories and cannot rename nor delete
  the "cnv" and "seq" sub-directories.
2) The name of zone files is the number of the file within the zone
   type sub-directory, in order of increasing zone start sector.
3) The size of conventional zone files is fixed to the device zone size.
   Conventional zone files cannot be truncated.
4) The size of sequential zone files represent the file's zone write
   pointer position relative to the zone start sector. Truncating these
   files is allowed only down to 0, in which case, the zone is reset to
   rewind the zone write pointer position to the start of the zone, or
   up to the zone size, in which case the file's zone is transitioned
   to the FULL state (finish zone operation).
5) All read and write operations to files are not allowed beyond the
   file zone size. Any access exceeding the zone size is failed with
   the -EFBIG error.
6) Creating, deleting, renaming or modifying any attribute of files and
   sub-directories is not allowed.
7) There are no restrictions on the type of read and write operations
   that can be issued to conventional zone files. Buffered, direct and
   mmap read & write operations are accepted. For sequential zone files,
   there are no restrictions on read operations, but all write
   operations must be direct IO append writes. mmap write of sequential
   files is not allowed.

Several optional features of zonefs can be enabled at format time.
* Conventional zone aggregation: ranges of contiguous conventional
  zones can be aggregated into a single larger file instead of the
  default one file per zone.
* File ownership: The owner UID and GID of zone files is by default 0
  (root) but can be changed to any valid UID/GID.
* File access permissions: the default 640 access permissions can be
  changed.

The mkzonefs tool is used to format zoned block devices for use with
zonefs. This tool is available on Github at:

git@github.com:damien-lemoal/zonefs-tools.git.

zonefs-tools also includes a test suite which can be run against any
zoned block device, including null_blk block device created with zoned
mode.

Example: the following formats a 15TB host-managed SMR HDD with 256 MB
zones with the conventional zones aggregation feature enabled.

$ sudo mkzonefs -o aggr_cnv /dev/sdX
$ sudo mount -t zonefs /dev/sdX /mnt
$ ls -l /mnt/
total 0
dr-xr-xr-x 2 root root     1 Nov 25 13:23 cnv
dr-xr-xr-x 2 root root 55356 Nov 25 13:23 seq

The size of the zone files sub-directories indicate the number of files
existing for each type of zones. In this example, there is only one
conventional zone file (all conventional zones are aggregated under a
single file).

$ ls -l /mnt/cnv
total 137101312
-rw-r----- 1 root root 140391743488 Nov 25 13:23 0

This aggregated conventional zone file can be used as a regular file.

$ sudo mkfs.ext4 /mnt/cnv/0
$ sudo mount -o loop /mnt/cnv/0 /data

The "seq" sub-directory grouping files for sequential write zones has
in this example 55356 zones.

$ ls -lv /mnt/seq
total 14511243264
-rw-r----- 1 root root 0 Nov 25 13:23 0
-rw-r----- 1 root root 0 Nov 25 13:23 1
-rw-r----- 1 root root 0 Nov 25 13:23 2
...
-rw-r----- 1 root root 0 Nov 25 13:23 55354
-rw-r----- 1 root root 0 Nov 25 13:23 55355

For sequential write zone files, the file size changes as data is
appended at the end of the file, similarly to any regular file system.

$ dd if=/dev/zero of=/mnt/seq/0 bs=4K count=1 conv=notrunc oflag=direct
1+0 records in
1+0 records out
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.000452219 s, 9.1 MB/s

$ ls -l /mnt/seq/0
-rw-r----- 1 root root 4096 Nov 25 13:23 /mnt/seq/0

The written file can be truncated to the zone size, preventing any
further write operation.

$ truncate -s 268435456 /mnt/seq/0
$ ls -l /mnt/seq/0
-rw-r----- 1 root root 268435456 Nov 25 13:49 /mnt/seq/0

Truncation to 0 size allows freeing the file zone storage space and
restart append-writes to the file.

$ truncate -s 0 /mnt/seq/0
$ ls -l /mnt/seq/0
-rw-r----- 1 root root 0 Nov 25 13:49 /mnt/seq/0

Since files are statically mapped to zones on the disk, the number of
blocks of a file as reported by stat() and fstat() indicates the size
of the file zone.

$ stat /mnt/seq/0
  File: /mnt/seq/0
  Size: 0       Blocks: 524288     IO Block: 4096   regular empty file
Device: 870h/2160d      Inode: 50431       Links: 1
Access: (0640/-rw-r-----)  Uid: (    0/    root)   Gid: (    0/  root)
Access: 2019-11-25 13:23:57.048971997 +0900
Modify: 2019-11-25 13:52:25.553805765 +0900
Change: 2019-11-25 13:52:25.553805765 +0900
 Birth: -

The number of blocks of the file ("Blocks") in units of 512B blocks
gives the maximum file size of 524288 * 512 B = 256 MB, corresponding
to the device zone size in this example. Of note is that the "IO block"
field always indicates the minimum IO size for writes and corresponds
to the device physical sector size.

This code contains contributions from:
* Johannes Thumshirn <jthumshirn@suse.de>,
* Darrick J. Wong <darrick.wong@oracle.com>,
* Christoph Hellwig <hch@lst.de>,
* Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> and
* Ting Yao <tingyao@hust.edu.cn>.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
2020-02-07 14:39:38 +09:00
..
android Merge 5.0-rc4 into char-misc-next 2019-01-28 08:13:52 +01:00
byteorder
caif
can can: don't use deprecated license identifiers 2019-11-05 12:44:34 +01:00
cifs
dvb media: dvb: tag deprecated DVB APIs as such 2019-06-05 10:55:30 -04:00
genwqe
hdlc
hsi
iio iio: Add modifiers for ethanol and H2 gases 2018-12-16 14:05:58 +00:00
isdn isdn/capi: check message length in capi_write() 2019-09-07 17:44:25 +02:00
mmc mmc: document 'Reliable Write' bit in uapi header 2018-12-17 08:26:24 +01:00
netfilter netfilter: uapi: Avoid undefined left-shift in xt_sctp.h 2019-12-09 13:02:07 +01:00
netfilter_arp net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
netfilter_bridge net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
netfilter_ipv4 net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
netfilter_ipv6 net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
nfsd nfsd: add support for upcall version 2 2019-09-10 09:26:33 -04:00
raid md: add feature flag MD_FEATURE_RAID0_LAYOUT 2019-09-13 13:10:06 -07:00
sched sched/uclamp: Extend sched_setattr() to support utilization clamping 2019-06-24 19:23:46 +02:00
spi spi: spidev: Enable control of inter-word delays 2019-03-18 12:18:28 +00:00
sunrpc
tc_act net: sched: add erspan option support to act_tunnel_key 2019-11-21 11:44:06 -08:00
tc_ematch
usb usb: gadget: composite: Set recommended BESL values 2019-08-28 13:04:59 +03:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h fs/adfs: correct disc record structure 2019-06-26 20:14:13 -04:00
affs_hardblocks.h
agpgart.h
aio_abi.h aio: Comment use of IOCB_FLAG_IOPRIO aio flag 2018-11-19 19:03:43 -07:00
am437x-vpfe.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h drivers/misc: Add Aspeed P2A control driver 2019-04-25 19:33:34 +02:00
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h Revert "bpf: Emit audit messages upon successful prog load and unload" 2019-11-23 09:56:02 -08:00
auto_dev-ioctl.h
auto_fs.h autofs: add ignore mount option 2019-03-07 18:32:01 -08:00
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
batadv_packet.h batman-adv: mcast: detect, distribute and maintain multicast router presence 2019-06-27 19:25:05 +02:00
batman_adv.h batman-adv: Add multicast-to-unicast support for multiple targets 2019-03-25 10:01:13 +01:00
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h bfs: extra sanity checking and static inode bitmap 2019-01-04 13:13:47 -08:00
binfmts.h exec: increase BINPRM_BUF_SIZE to 256 2019-03-07 18:32:01 -08:00
blkpg.h
blktrace_api.h
blkzoned.h block: add zone open, close and finish ioctl support 2019-11-07 06:31:50 -07:00
bpf.h bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY 2019-11-18 11:41:59 +01:00
bpf_common.h
bpf_perf_event.h
bpfilter.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
bpqether.h
bsg.h
bt-bmc.h
btf.h bpf: fix BTF limits 2019-09-19 14:22:44 +02:00
btrfs.h btrfs: add incompat for raid1 with 3, 4 copies 2019-11-18 17:51:49 +01:00
btrfs_tree.h btrfs: add support for 4-copy replication (raid1c4) 2019-11-18 17:51:49 +01:00
can.h can: don't use deprecated license identifiers 2019-11-05 12:44:34 +01:00
capability.h
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h media: cec-funcs.h: use new CEC_OP_UI_CMD defines 2019-10-07 07:55:17 -03:00
cec.h media: cec: expose the new connector info API 2019-10-01 17:19:41 -03:00
cgroupstats.h
chio.h scsi: ch: add include guard to chio.h 2019-10-09 22:31:14 -04:00
cm4000_cs.h
cn_proc.h
coda.h coda: add hinting support for partial file caching 2019-07-16 19:23:23 -07:00
coff.h linux/coff.h: add include guard 2019-09-25 17:51:39 -07:00
connector.h
const.h
coresight-stm.h
cramfs_fs.h
cryptouser.h crypto: add header include guards 2019-08-02 14:44:02 +10:00
cuda.h
cyclades.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
cycx_cfm.h
dcbnl.h net: Fix misspellings of "configure" and "configuration" 2019-10-28 13:41:01 -07:00
dccp.h
devlink.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h dm: introduce DM_GET_TARGET_VERSION 2019-09-16 10:18:01 -04:00
dm-log-userspace.h
dma-buf.h dma-buf: add DMA_BUF_SET_NAME ioctls 2019-06-14 15:00:51 +05:30
dn.h
dns_resolver.h dns: Allow the dns resolver to retrieve a server set 2018-10-04 09:40:52 -07:00
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h Move EM_UNICORE to uapi/linux/elf-em.h 2019-03-20 21:11:22 -04:00
elf-fdpic.h
elf.h arm64: add ptrace regsets for ptrauth key management 2019-02-01 13:56:58 +00:00
elfcore.h y2038: elfcore: Use __kernel_old_timeval for process times 2019-11-15 14:38:29 +01:00
errno.h
errqueue.h y2038: socket: remove timespec reference in timestamping 2019-11-15 14:38:29 +01:00
erspan.h
ethtool.h ethtool: Add support for 400Gbps (50Gbps per lane) link modes 2019-10-15 15:02:30 -07:00
eventpoll.h
fadvise.h
falloc.h
fanotify.h fanotify: add support for create/attrib/move/delete events 2019-02-07 16:43:23 +01:00
fb.h fbdev: make FB_BACKLIGHT a tristate 2018-12-20 19:13:07 +01:00
fcntl.h fcntl: fix typo in RWH_WRITE_LIFE_NOT_SET r/w hint name 2019-10-25 14:28:10 -06:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h fou: Support binding FoU socket 2019-03-27 13:30:07 -07:00
fpga-dfl.h fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support. 2019-08-05 17:56:46 +02:00
fs.h f2fs-for-5.4-rc1 2019-09-21 14:26:33 -07:00
fscrypt.h fscrypt: add support for IV_INO_LBLK_64 policies 2019-11-06 12:34:36 -08:00
fsi.h
fsl_hypervisor.h
fsmap.h
fsverity.h fs-verity: add SHA-512 support 2019-08-12 19:33:50 -07:00
fuse.h fuse: Add changelog entries for protocols 7.1 - 7.8 2019-10-23 14:26:37 +02:00
futex.h
gameport.h
gen_stats.h net_sched: add TCA_STATS_PKT64 attribute 2019-11-05 18:20:55 -08:00
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h gpio: add new SET_CONFIG ioctl() to gpio chardev 2019-11-12 16:30:31 +01:00
gsmmux.h tty: n_gsm: add ioctl to map serial device to mux'ed tty 2019-09-04 12:43:54 +02:00
gtp.h
hash_info.h crypto: streebog - register Streebog in hash info for IMA 2018-11-16 14:09:40 +08:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h ipv6: Add rate limit mask for ICMPv6 messages 2019-04-18 16:58:37 -07:00
if.h net: rtnetlink: add linkprop commands to add and delete alternative ifnames 2019-10-01 14:47:19 -07:00
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h net: if_arp: use define instead of hard-coded value 2018-09-21 19:22:32 -07:00
if_bonding.h bonding: add support for xstats and export 3ad stats 2019-01-22 12:04:14 -08:00
if_bridge.h net: bridge: mcast: add delete due to fast-leave mdb flag 2019-07-31 19:13:40 -04:00
if_cablemodem.h
if_eql.h
if_ether.h net: Add a define for LLDP ethertype 2019-06-05 13:04:29 -07:00
if_fc.h
if_fddi.h FDDI: defza: Add support for DEC FDDIcontroller 700 TURBOchannel adapter 2018-10-15 21:46:06 -07:00
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h net: rtnetlink: add linkprop commands to add and delete alternative ifnames 2019-10-01 14:47:19 -07:00
if_ltalk.h
if_macsec.h
if_packet.h packet: Fix undefined behavior in bit shift 2019-06-29 11:06:17 -07: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 tun: Add ioctl() TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device 2019-03-21 13:19:15 -07:00
if_tunnel.h iptunnel: make TUNNEL_FLAGS available in uapi 2018-12-19 15:58:01 -08:00
if_vlan.h vlan: support binding link state to vlan member bridge ports 2019-04-19 13:58:17 -07:00
if_x25.h
if_xdp.h xsk: add support to allow unaligned chunk placement 2019-08-31 01:08:26 +02:00
ife.h
igmp.h bridge: Snoop Multicast Router Advertisements 2019-01-22 17:18:09 -08:00
ila.h
in.h bridge: join all-snoopers multicast address 2019-01-22 17:18:08 -08:00
in6.h net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE 2019-03-03 21:05:10 -08:00
in_route.h
inet_diag.h net: tls: export protocol version, cipher, tx_conf/rx_conf to socket diag 2019-08-31 23:44:28 -07:00
inotify.h
input-event-codes.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2019-12-07 18:33:01 -08:00
input.h Input: input_event - fix struct padding on sparc64 2019-12-13 15:00:36 -08:00
io_uring.h io_uring: fix compat for IORING_REGISTER_FILES_UPDATE 2020-01-20 17:00:44 -07:00
ioctl.h
iommu.h iommu: Introduce guest PASID bind function 2019-10-15 13:34:43 +02:00
ip.h
ip6_tunnel.h
ip_vs.h ipvs: allow tunneling with gre encapsulation 2019-07-04 02:29:49 +02:00
ipc.h
ipmi.h
ipmi_bmc.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
ipmi_msgdefs.h
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irqnr.h
iso_fs.h
isst_if.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
ivtv.h
ivtvfb.h
jffs2.h jffs2: Remove C++ style comments from uapi header 2019-08-22 17:24:51 +02:00
joystick.h
kcm.h
kcmp.h
kcov.h kcov: fix struct layout for kcov_remote_arg 2020-01-04 13:55:09 -08:00
kd.h
kdev_t.h
kernel-page-flags.h mm: convert PG_balloon to PG_offline 2019-03-05 21:07:14 -08:00
kernel.h
kernelcapi.h
kexec.h parisc: add kexec syscall support 2019-09-08 15:37:04 +02:00
keyboard.h
keyctl.h Revert "Merge tag 'keys-acl-20190703' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs" 2019-07-10 18:43:43 -07:00
kfd_ioctl.h Revert "drm/amdkfd: New IOCTL to allocate queue GWS" 2019-08-07 10:21:38 -05:00
kvm.h KVM: PPC: Book3S HV: Support reset of secure guest 2019-11-28 17:02:31 +11:00
kvm_para.h KVM: X86: Yield to IPI target if necessary 2019-07-02 18:56:01 +02:00
l2tp.h
libc-compat.h
lightnvm.h
limits.h linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h> 2019-03-07 18:31:59 -08:00
lirc.h media: rc: xbox_remote: add protocol and set timeout 2019-04-22 13:02:53 -04:00
llc.h
loop.h
lp.h
lwtunnel.h lwtunnel: add options setting and dumping for erspan 2019-11-06 21:14:22 -08:00
magic.h fs: New zonefs file system 2020-02-07 14:39:38 +09:00
major.h
map_to_7segment.h
matroxfb.h
max2175.h
mdio.h net: phy: add EEE-related constants 2019-08-19 13:04:45 -07:00
media-bus-format.h media: uapi: Add MEDIA_BUS_FMT_RGB888_3X8 media bus format 2019-06-25 22:14:11 +02:00
media.h media: media.h: Fix shifting signed 32-bit value by 31 bits problem 2019-06-21 16:45:38 -04:00
mei.h mei: adjust the copyright notice in the files. 2019-03-28 02:07:54 +09:00
membarrier.h
memfd.h mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes 2018-10-05 16:32:04 -07:00
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h net: phy: Add detection of 1000BaseX link mode support 2019-06-06 13:48:51 -07:00
minix_fs.h
mman.h arch: move common mmap flags to linux/mman.h 2019-02-18 17:49:30 +01:00
mmtimer.h
module.h
mount.h vfs: syscall: Add fspick() to select a superblock for reconfiguration 2019-03-20 18:49:06 -04:00
mpls.h
mpls_iptunnel.h
mqueue.h
mroute.h ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs 2019-02-21 13:05:05 -08:00
mroute6.h ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs 2019-02-21 13:05:05 -08:00
msdos_fs.h fat: move MAX_FAT to fat.h and change it to inline function 2019-01-04 13:13:47 -08:00
msg.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
mtio.h
n_r3964.h
nbd-netlink.h
nbd.h
ncsi.h net/ncsi: Configure multi-package, multi-channel modes with failover 2018-11-17 21:09:49 -08:00
ndctl.h nfit: Add Hyper-V NVDIMM DSM command set to white list 2019-01-29 22:09:31 -08:00
neighbour.h neighbor: Add protocol attribute 2018-12-16 12:15:25 -08:00
net.h
net_dropmon.h drop_monitor: Make timestamps y2038 safe 2019-08-23 14:58:07 -07:00
net_namespace.h netns: enable to dump full nsid translation table 2018-11-27 16:20:20 -08:00
net_tstamp.h net: Use __kernel_clockid_t in uapi net_stamp.h 2018-12-18 15:59:29 -08:00
netconf.h
netdevice.h
netfilter.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netfilter_arp.h
netfilter_bridge.h netfilter: bridge: define INT_MIN & INT_MAX in userspace 2018-10-25 10:25:22 +02:00
netfilter_decnet.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netfilter_ipv4.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netfilter_ipv6.h netfilter: remove NFC_* cache bits 2018-12-01 12:38:32 +01:00
netlink.h net: netlink: rename NETLINK_DUMP_STRICT_CHK -> NETLINK_GET_STRICT_CHK 2018-12-14 11:44:31 -08:00
netlink_diag.h
netrom.h
nexthop.h net: nexthop uapi 2019-05-28 21:37:30 -07:00
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h NFS: Move internal constants out of uapi/linux/nfs_mount.h 2019-04-25 14:18:14 -04:00
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi header 2019-07-12 11:05:40 -07:00
nl80211.h mac80211: Turn AQL into an NL80211_EXT_FEATURE 2019-12-13 10:34:04 +01:00
nsfs.h
nubus.h
nvme_ioctl.h nvme: change nvme_passthru_cmd64 to explicitly mark rsvd 2019-11-06 06:17:38 +09:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h net: openvswitch: add hash info to upcall 2019-11-14 17:29:46 -08:00
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/resource' 2019-11-28 08:54:36 -06:00
pcitest.h
perf_event.h perf/aux: Allow using AUX data in perf samples 2019-11-13 11:06:14 +01:00
personality.h
pfkeyv2.h
pg.h block: pg: add header include guard 2019-10-02 20:32:27 -06:00
phantom.h
phonet.h
pkt_cls.h net: sched: allow flower to match erspan options 2019-11-21 11:44:06 -08:00
pkt_sched.h net: sched: pie: enable timestamp based delay calculation 2019-11-20 12:31:45 -08:00
pktcdvd.h
pmu.h m68k/mac: Fix PRAM accessors 2019-01-22 10:21:45 +01:00
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h ppdev: add header include guard 2019-07-30 20:34:34 +02:00
ppp-comp.h
ppp-ioctl.h compat_ioctl: handle PPPIOCGIDLE for 64-bit time_t 2019-10-23 17:23:47 +02:00
ppp_defs.h y2038: syscall implementation cleanups 2019-12-01 14:00:59 -08:00
pps.h
pr.h
prctl.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-09-16 18:47:53 -07:00
psample.h
psci.h firmware/psci: add support for SYSTEM_RESET2 2019-04-16 23:05:21 +02:00
psp-sev.h crypto: ccp - Retry SEV INIT command in case of integrity check failure. 2019-10-26 02:09:58 +11:00
ptp_clock.h ptp: Introduce strict checking of external time stamp options. 2019-11-15 12:48:32 -08:00
ptrace.h ptrace: add PTRACE_GET_SYSCALL_INFO request 2019-07-16 19:23:24 -07:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
raw.h
rds.h net: rds: add service level support in rds-info 2019-08-24 16:55:25 -07:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h y2038: rusage: use __kernel_old_timeval 2019-11-15 14:38:29 +01:00
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
romfs_fs.h
rose.h
route.h
rpmsg.h
rseq.h
rtc.h
rtnetlink.h net: rtnetlink: add linkprop commands to add and delete alternative ifnames 2019-10-01 14:47:19 -07:00
rxrpc.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
scc.h linux/scc.h: make uapi linux/scc.h self-contained 2019-12-04 19:44:12 -08:00
sched.h threads-v5.5 2019-11-25 18:36:49 -08:00
scif_ioctl.h
screen_info.h
sctp.h sctp: add SCTP_PEER_ADDR_THLDS_V2 sockopt 2019-11-08 14:18:32 -08:00
sdla.h
seccomp.h seccomp: rework define for SECCOMP_USER_NOTIF_FLAG_CONTINUE 2019-10-28 12:29:46 -07:00
securebits.h
sed-opal.h block: sed-opal: Add support to read/write opal tables generically 2019-11-04 07:11:31 -07:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
serial.h tty/serial_core: add ISO7816 infrastructure 2018-10-02 13:38:55 -07:00
serial_core.h serial: fsl_linflexuart: Be consistent with the name 2019-10-16 06:11:24 -07:00
serial_reg.h
serio.h Input: add support for the FlySky FS-iA6B RC receiver 2019-07-22 07:35:24 +03:00
shm.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
signal.h
signalfd.h
smc.h
smc_diag.h net/smc: retain old name for diag_mode field 2018-10-07 21:06:28 -07:00
smiapp.h
snmp.h net/tls: add TlsDeviceRxResync statistic 2019-10-05 16:29:00 -07:00
sock_diag.h
socket.h net/socket: fix GCC8+ Wpacked-not-aligned warnings 2019-08-03 11:02:46 -07:00
sockios.h net: socket: implement 64-bit timestamps 2019-04-19 14:07:40 -07:00
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h statx: define STATX_ATTR_VERITY 2019-11-13 12:15:34 -08:00
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h switchtec: Increase PFF limit from 48 to 255 2019-04-17 17:20:01 -05:00
sync_file.h
synclink.h
sysctl.h kernel/sysctl: add panic_print into sysctl 2019-01-04 13:13:47 -08:00
sysinfo.h
target_core_user.h
taskstats.h delayacct: track delays from thrashing cache pages 2018-10-26 16:26:32 -07:00
tcp.h tcp: add TCP_INFO status for failed client TFO 2019-10-25 19:25:37 -07:00
tcp_metrics.h
tee.h
termios.h
thermal.h
time.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
time_types.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
timerfd.h
times.h
timex.h y2038: remove struct definition redirects 2019-02-07 00:13:28 +01:00
tiocl.h
tipc.h tipc: add new AEAD key structure for user API 2019-11-08 14:01:59 -08:00
tipc_config.h net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
tipc_netlink.h tipc: add support for AEAD key setting via netlink 2019-11-08 14:01:59 -08:00
tipc_sockets_diag.h
tls.h net: tls: export protocol version, cipher, tx_conf/rx_conf to socket diag 2019-08-31 23:44:28 -07:00
toshiba.h
tty.h
tty_flags.h
types.h
udf_fs_i.h
udmabuf.h
udp.h udp: implement GRO for plain UDP sockets. 2018-11-07 16:23:04 -08:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
un.h
unistd.h
unix_diag.h net: Add UNIX_DIAG_UID to Netlink UNIX socket diagnostics. 2019-05-22 10:36:35 -07:00
usbdevice_fs.h USB: usbfs: Add a capability flag for runtime suspend 2019-08-14 16:52:13 +02:00
usbip.h
userfaultfd.h
userio.h
utime.h y2038: uapi: change __kernel_time_t to __kernel_old_time_t 2019-11-15 14:38:29 +01:00
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h media: v4l2-common.h: put backwards compat defines under #ifndef __KERNEL__ 2018-11-20 13:22:40 -05:00
v4l2-controls.h media: add V4L2_CID_UNIT_CELL_SIZE control 2019-10-10 11:37:26 -03:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
vboxguest.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
veth.h
vfio.h Merge branches 'v5.4/vfio/alexey-tce-memory-free-v1', 'v5.4/vfio/connie-re-arrange-v2', 'v5.4/vfio/hexin-pci-reset-v3', 'v5.4/vfio/parav-mtty-uuid-v2' and 'v5.4/vfio/shameer-iova-list-v8' into v5.4/vfio/next 2019-08-23 11:26:24 -06:00
vfio_ccw.h vfio-ccw: add handling for async channel instructions 2019-04-24 14:18:51 +02:00
vhost.h vhost: split structs into a separate header file 2018-12-19 18:23:49 -05:00
vhost_types.h vhost: split structs into a separate header file 2018-12-19 18:23:49 -05:00
videodev2.h media: v4l2_core: Add p_area to struct v4l2_ext_control 2019-11-08 07:42:25 +01:00
virtio_9p.h
virtio_balloon.h virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON 2018-10-24 20:57:55 -04:00
virtio_blk.h virtio_blk: add discard and write zeroes support 2018-12-19 18:23:49 -05:00
virtio_config.h virtio: support VIRTIO_F_ORDER_PLATFORM 2019-01-24 10:15:42 -05:00
virtio_console.h
virtio_crypto.h
virtio_fs.h virtio-fs: add virtiofs filesystem 2019-09-18 20:17:50 +02:00
virtio_gpu.h virtio-gpu api: comment feature flags 2019-04-11 17:00:10 +02:00
virtio_ids.h virtio-fs: add virtiofs filesystem 2019-09-18 20:17:50 +02:00
virtio_input.h
virtio_iommu.h iommu/virtio: Update to most recent specification 2019-07-22 11:52:27 -04:00
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_pmem.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
virtio_ring.h net, uapi: fix -Wpointer-arith warnings 2019-10-04 14:25:17 -07:00
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vm_sockets_diag.h
vmcore.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
vsockmon.h
vt.h
vtpm_proxy.h
wait.h pidfd: add P_PIDFD to waitid() 2019-08-01 21:49:46 +02:00
watchdog.h
wimax.h
wireless.h
wmi.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
x25.h
xattr.h
xdp_diag.h xsk: add sock_diag interface for AF_XDP 2019-01-25 01:50:03 +01:00
xfrm.h
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h