linux/include/uapi/linux
Boris Burkov bd7c1ea3a3 btrfs: qgroup: check generation when recording simple quota delta
Simple quotas count extents only from the moment the feature is enabled.
Therefore, if we do something like:

1. create subvol S
2. write F in S
3. enable quotas
4. remove F
5. write G in S

then after 3. and 4. we would expect the simple quota usage of S to be 0
(putting aside some metadata extents that might be written) and after
5., it should be the size of G plus metadata. Therefore, we need to be
able to determine whether a particular quota delta we are processing
predates simple quota enablement.

To do this, store the transaction id when quotas were enabled. In
fs_info for immediate use and in the quota status item to make it
recoverable on mount. When we see a delta, check if the generation of
the extent item is less than that of quota enablement. If so, we should
ignore the delta from this extent.

Signed-off-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-10-12 16:44:11 +02:00
..
android
byteorder
caif
can can: uapi: move CAN_RAW_FILTER_MAX definition to raw.h 2023-06-22 09:44:28 +02:00
cifs
dvb media: dvb: bump DVB API version 2023-05-14 16:05:28 +01:00
genwqe
hdlc
hsi
iio
isdn
misc
mmc
netfilter netfilter: nf_tables: uapi: Describe NFTA_RULE_CHAIN_ID 2023-09-06 18:09:12 +02:00
netfilter_arp
netfilter_bridge netfilter: ebtables: replace zero-length array members 2023-08-22 15:13:20 +02:00
netfilter_ipv4
netfilter_ipv6
nfsd NFSD: Handle new xprtsec= export option 2023-04-27 18:49:24 -04:00
raid
sched
spi spi: add SPI_MOSI_IDLE_LOW mode bit 2023-05-30 15:20:08 +01:00
sunrpc
surface_aggregator
tc_act net/sched: act_tunnel_key: add support for "don't fragment" 2023-03-30 23:24:24 -07:00
tc_ematch
usb USB: Remove remnants of Wireless USB and UWB 2023-08-09 14:17:06 +02:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h block: change all __u32 annotations to __be32 in affs_hardblocks.h 2023-06-20 14:28:17 -06:00
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
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h Move COMPAT_ATM_ADDPARTY to net/atm/svc.c 2023-03-10 21:05:16 +01:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
auto_dev-ioctl.h autofs: use flexible array in ioctl structure 2023-05-30 16:42:00 -07:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
batadv_packet.h
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h block: Fix a source code comment in include/uapi/linux/blkzoned.h 2023-07-24 20:11:54 -06:00
bpf_common.h
bpf_perf_event.h
bpf.h bpf: Clarify error expectations from bpf_clone_redirect 2023-09-11 22:29:19 +02:00
bpfilter.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs_tree.h btrfs: qgroup: check generation when recording simple quota delta 2023-10-12 16:44:11 +02:00
btrfs.h btrfs: qgroup: add new quota mode for simple quotas 2023-10-12 16:44:10 +02:00
cachefiles.h
can.h can: uapi: move CAN_RAW_FILTER_MAX definition to raw.h 2023-06-22 09:44:28 +02:00
capability.h capability: erase checker warnings about struct __user_cap_data_struct 2023-06-06 17:05:54 -04:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h
cec.h
cfm_bridge.h
cgroupstats.h cgroup: remove obsolete comment above struct cgroupstats 2023-07-14 08:43:49 -10:00
chio.h
close_range.h
cn_proc.h connector/cn_proc: Performance improvements 2023-07-23 11:34:22 +01:00
coda.h
coff.h
comedi.h
connector.h
const.h uapi/linux/const.h: prefer ISO-friendly __typeof__ 2023-04-18 16:39:34 -07:00
coresight-stm.h
counter.h counter: i8254: Introduce the Intel 8254 interface library module 2023-06-08 10:11:17 -04:00
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h cxl/mbox: Deprecate poison commands 2023-04-22 14:41:30 -07:00
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Expose port function commands to control IPsec packet offloads 2023-08-27 17:08:45 -07:00
dlm_device.h
dlm_plock.h fs: dlm: allow to F_SETLKW getting interrupted 2023-07-20 17:24:57 -05:00
dlm.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dlmconstants.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dm-ioctl.h dm: split discards further if target sets max_discard_granularity 2023-03-30 15:57:50 -04:00
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h binfmt_elf_fdpic: support 64-bit systems 2023-08-23 14:17:42 -07:00
elf.h Merge patch "RISC-V: Add ptrace support for vectors" 2023-09-08 11:24:38 -07:00
errno.h
errqueue.h
erspan.h
ethtool_netlink.h net: ethtool: correct MAX attribute value for stats 2023-06-12 08:50:48 +01:00
ethtool.h
eventfd.h eventfd: add a uapi header for eventfd userspace APIs 2023-06-15 14:55:15 +02:00
eventpoll.h Move ep_take_care_of_epollwakeup() to fs/eventpoll.c 2023-03-10 21:05:16 +01:00
ext4.h ext4: Add a uapi header for ext4 userspace APIs 2023-04-19 23:39:42 -04:00
f2fs.h
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 exportfs: allow exporting non-decodeable file handles to userspace 2023-05-25 13:16:57 +02:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h firewire: fix warnings to generate UAPI documentation 2023-06-06 07:54:00 +09:00
firewire-constants.h
fou.h ynl: broaden the license even more 2023-03-16 21:20:32 -07:00
fpga-dfl.h
fs.h
fscrypt.h
fsi.h fsi: sbefifo: Add configurable in-command timeout 2023-08-09 15:43:27 +09:30
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: add STATX request 2023-08-16 12:39:38 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h
gsmmux.h tty: n_gsm: add restart flag to extended ioctl config 2023-08-22 15:21:34 +02:00
gtp.h
handshake.h net/handshake: Enable the SNI extension to work properly 2023-05-24 22:05:24 -07:00
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h Move bp_type_idx to include/linux/hw_breakpoint.h 2023-03-10 21:05:16 +01:00
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h dmaengine: idxd: process batch descriptor completion record faults 2023-04-12 23:18:45 +05:30
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: vlan: Allow setting VLAN neighbor suppression state 2023-04-21 08:25:50 +01:00
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h bridge: Add backup nexthop ID support 2023-07-19 10:53:49 +01:00
if_ltalk.h
if_macsec.h
if_packet.h af_packet: Fix warning of fortified memcpy() in packet_getname(). 2023-07-25 20:10:05 -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
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h xsk: introduce XSK_USE_SG bind flag for xsk socket 2023-07-19 09:56:48 -07:00
if.h
ife.h
igmp.h
ila.h
in6.h
in_route.h
in.h ipv{4,6}/raw: fix output xfrm lookup wrt protocol 2023-05-23 15:38:59 +02:00
inet_diag.h
inotify.h
input-event-codes.h
input.h
io_uring.h io_uring: add option to remove SQ indirection 2023-08-24 17:16:19 -06:00
ioam6_genl.h
ioam6_iptunnel.h
ioam6.h
ioctl.h
iommu.h
iommufd.h iommu/vt-d: Implement hw_info for iommu capability query 2023-08-18 12:52:15 -03:00
ioprio.h block: uapi: Fix compilation errors using ioprio.h with C++ 2023-08-15 10:06:49 -06:00
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.h
ipsec.h
ipv6_route.h
ipv6.h net: change accept_ra_min_rtr_lft to affect all RA lifetimes 2023-07-28 13:30:51 -07:00
irqnr.h
iso_fs.h
isst_if.h platform/x86: ISST: Add SST-TF support via TPMI 2023-03-16 15:18:02 +01:00
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h crash: hotplug support for kexec_load() 2023-08-24 16:25:14 -07:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: bump kfd ioctl minor version for event age availability 2023-06-15 11:37:55 -04:00
kfd_sysfs.h drm/amdkfd: display debug capabilities 2023-06-09 12:34:45 -04:00
kvm_para.h
kvm.h kvm/vfio: Accept vfio device file from userspace 2023-07-25 10:18:42 -06:00
l2tp.h
landlock.h landlock: Clarify documentation for the LANDLOCK_ACCESS_FS_REFER right 2023-02-21 18:15:59 +01:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h
mdio.h net: phy: add registers to support 1000BASE-T1 2023-07-20 12:24:06 +02:00
media-bus-format.h
media.h media: uapi: Use unsigned int values for assigning bits in u32 fields 2023-05-25 16:21:22 +02:00
mei_uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
mei.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
membarrier.h
memfd.h
mempolicy.h
mii.h
minix_fs.h
mman.h cachestat: implement cachestat syscall 2023-06-09 16:25:16 -07:00
mmtimer.h
module.h
mount.h fs: add FSCONFIG_CMD_CREATE_EXCL 2023-08-14 18:48:02 +02:00
mpls_iptunnel.h
mpls.h
mptcp.h mptcp: introduce MPTCP_FULL_INFO getsockopt 2023-06-21 22:45:57 -07: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
net_dropmon.h
net_namespace.h
net_tstamp.h
net.h
netconf.h
netdev.h ynl: regenerate all headers 2023-07-28 09:33:12 -07:00
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h
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/reg: add no-EHT regulatory flag 2023-06-21 14:01:29 +02:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: add explicit drop action 2023-08-14 08:01:06 +01:00
packet_diag.h
param.h
parport.h ata: parport_pc: add 16-bit and 8-bit fast EPP transfer flags 2023-03-23 12:22:19 +09:00
patchkey.h
pci_regs.h PCI: Add PCI_EXT_CAP_ID_PL_32GT define 2023-05-31 16:34:38 -05:00
pci.h
pcitest.h
perf_event.h perf/mem: Introduce PERF_MEM_LVLNUM_UNC 2023-07-26 12:28:44 +02:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h
pkt_cls.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-03 14:34:37 -07:00
pkt_sched.h netem: add prng attribute to netem_sched_data 2023-08-17 19:15:05 -07:00
pktcdvd.h pktcdvd: Get rid of custom printing macros 2023-06-07 14:26:09 -06: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
prctl.h riscv: Add prctl controls for userspace vector management 2023-06-08 07:16:53 -07:00
psample.h
psci.h
psp-dbc.h crypto: ccp - Add support for getting and setting DBC parameters 2023-07-20 22:14:21 +12:00
psp-sev.h crypto: ccp - Name -1 return value as SEV_RET_NO_FW_CALL 2023-03-21 11:37:32 +01:00
ptp_clock.h ptp: Add .getmaxphase callback to ptp_clock_info 2023-06-20 09:02:33 +01:00
ptrace.h ptrace: Provide set/get interface for syscall user dispatch 2023-04-16 14:23:07 +02:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h shmem: prepare shmem quota infrastructure 2023-08-09 09:15:39 +02:00
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
romfs_fs.h
rose.h
route.h
rpl_iptunnel.h
rpl.h
rpmsg_types.h
rpmsg.h rpmsg: char: Add RPMSG GET/SET FLOWCONTROL IOCTL support 2023-07-15 11:35:02 -07:00
rseq.h
rtc.h
rtnetlink.h net/sched: act_api: add specific EXT_WARN_MSG for tc action 2023-03-16 21:25:45 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: add weighted fair queueing stream scheduler 2023-03-09 11:31:44 +01:00
seccomp.h seccomp: add the synchronous mode for seccomp_unotify 2023-07-17 16:08:08 -07:00
securebits.h
sed-opal.h block: sed-opal: keyring support for SED keys 2023-08-22 11:10:26 -06:00
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selinux_netlink.h
sem.h
serial_core.h serial: 8250_bcm7271: improve bcm7271 8250 port 2023-08-22 15:30:59 +02:00
serial_reg.h
serial.h
serio.h
sev-guest.h x86/sev: Change snp_guest_issue_request()'s fw_err argument 2023-03-21 15:43:19 +01:00
shm.h
signal.h
signalfd.h
smc_diag.h
smc.h net/smc: Extend SMCR v2 linkgroup netlink attribute 2023-08-19 12:46:53 +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
stddef.h uapi: stddef.h: Fix __DECLARE_FLEX_ARRAY for C++ 2023-09-13 20:09:49 -07:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h dma-buf/sync_file: Fix docs syntax 2023-08-04 16:20:39 +02:00
synclink.h
sysctl.h
sysinfo.h
target_core_user.h scsi: target: uapi: Replace fake flex-array with flexible-array member 2023-03-24 16:59:09 -04:00
taskstats.h delayacct: track delays from IRQ/SOFTIRQ 2023-04-18 16:39:34 -07:00
tcp_metrics.h
tcp.h
tdx-guest.h
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
toshiba.h
tps6594_pfsm.h misc: tps6594-pfsm: Add driver for TI TPS6594 PFSM 2023-06-15 13:41:53 +02:00
tty_flags.h
tty.h
types.h types: Introduce [us]128 2023-06-05 09:36:35 +02:00
ublk_cmd.h ublk: zoned: support REQ_OP_ZONE_RESET_ALL 2023-08-20 20:24:34 -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
user_events.h tracing/user_events: Align structs with tabs for readability 2023-03-29 06:52:09 -04:00
userfaultfd.h mm: userfaultfd: document and enable new UFFDIO_POISON feature 2023-08-18 10:12:17 -07:00
userio.h
utime.h
utsname.h
uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
uvcvideo.h
v4l2-common.h
v4l2-controls.h media: Add AV1 uAPI 2023-06-09 16:13:01 +01:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h media: v4l2-subdev: Add new ioctl for client capabilities 2023-04-15 08:58:41 +01:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h
vduse.h
veth.h
vfio_ccw.h
vfio_zdev.h
vfio.h iommufd for 6.6 2023-08-30 20:41:37 -07:00
vhost_types.h vdpa: add VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK flag 2023-09-03 18:10:22 -04:00
vhost.h vhost: Allow worker switching while work is queueing 2023-07-03 12:15:14 -04:00
videodev2.h media: mediatek: vcodec: Add capture format to support 10bit raster mode 2023-08-10 07:58:34 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h virtio-blk: fix to match virtio spec 2023-04-04 11:01:57 -04:00
virtio_bt.h
virtio_config.h virtio: add VIRTIO_F_NOTIFICATION_DATA feature support 2023-04-21 03:02:35 -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 virtio_net: support per queue interrupt coalesce command 2023-08-01 21:02:00 -07:00
virtio_pci.h
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h
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 uapi: wireless: Replace zero-length array with flexible-array member 2023-05-28 19:07:48 -06:00
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h
xilinx-v4l2-controls.h
zorro_ids.h
zorro.h