linux/arch/arm
Linus Torvalds 16df6e07d6 vfs-6.8.netfs
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCZabMrQAKCRCRxhvAZXjc
 ovnUAQDgCOonb1tjtTvC8s8IMDUEoaVYZI91KVfsZQSJYN1sdQD+KfJmX1BhJnWG
 l0cEffGfnWGXMZkZqDgLPHUIPzFrmws=
 =1b3j
 -----END PGP SIGNATURE-----

Merge tag 'vfs-6.8.netfs' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs

Pull netfs updates from Christian Brauner:
 "This extends the netfs helper library that network filesystems can use
  to replace their own implementations. Both afs and 9p are ported. cifs
  is ready as well but the patches are way bigger and will be routed
  separately once this is merged. That will remove lots of code as well.

  The overal goal is to get high-level I/O and knowledge of the page
  cache and ouf of the filesystem drivers. This includes knowledge about
  the existence of pages and folios

  The pull request converts afs and 9p. This removes about 800 lines of
  code from afs and 300 from 9p. For 9p it is now possible to do writes
  in larger than a page chunks. Additionally, multipage folio support
  can be turned on for 9p. Separate patches exist for cifs removing
  another 2000+ lines. I've included detailed information in the
  individual pulls I took.

  Summary:

   - Add NFS-style (and Ceph-style) locking around DIO vs buffered I/O
     calls to prevent these from happening at the same time.

   - Support for direct and unbuffered I/O.

   - Support for write-through caching in the page cache.

   - O_*SYNC and RWF_*SYNC writes use write-through rather than writing
     to the page cache and then flushing afterwards.

   - Support for write-streaming.

   - Support for write grouping.

   - Skip reads for which the server could only return zeros or EOF.

   - The fscache module is now part of the netfs library and the
     corresponding maintainer entry is updated.

   - Some helpers from the fscache subsystem are renamed to mark them as
     belonging to the netfs library.

   - Follow-up fixes for the netfs library.

   - Follow-up fixes for the 9p conversion"

* tag 'vfs-6.8.netfs' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs: (50 commits)
  netfs: Fix wrong #ifdef hiding wait
  cachefiles: Fix signed/unsigned mixup
  netfs: Fix the loop that unmarks folios after writing to the cache
  netfs: Fix interaction between write-streaming and cachefiles culling
  netfs: Count DIO writes
  netfs: Mark netfs_unbuffered_write_iter_locked() static
  netfs: Fix proc/fs/fscache symlink to point to "netfs" not "../netfs"
  netfs: Rearrange netfs_io_subrequest to put request pointer first
  9p: Use length of data written to the server in preference to error
  9p: Do a couple of cleanups
  9p: Fix initialisation of netfs_inode for 9p
  cachefiles: Fix __cachefiles_prepare_write()
  9p: Use netfslib read/write_iter
  afs: Use the netfs write helpers
  netfs: Export the netfs_sreq tracepoint
  netfs: Optimise away reads above the point at which there can be no data
  netfs: Implement a write-through caching option
  netfs: Provide a launder_folio implementation
  netfs: Provide a writepages implementation
  netfs, cachefiles: Pass upper bound length to allow expansion
  ...
2024-01-19 09:10:23 -08:00
..
boot USB / Thunderbolt changes for 6.8-rc1 2024-01-18 11:43:55 -08:00
common locomo: make locomo_bus_type constant and static 2024-01-04 14:38:57 +01:00
configs vfs-6.8.netfs 2024-01-19 09:10:23 -08:00
crypto crypto: arm/nhpoly1305 - implement ->digest 2023-10-20 13:39:25 +08:00
include percpu: 2024-01-18 15:01:28 -08:00
kernel ARM: SoC code changes for 6.8 2024-01-11 11:42:53 -08:00
lib ARM: 9321/1: memset: cast the constant byte to unsigned char 2023-10-05 16:15:41 +01:00
mach-actions
mach-alpine ARM: alpine: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-artpec
mach-aspeed
mach-at91 ARM: at91: pm: set soc_pm.data.mode in at91_pm_secure_init() 2023-11-19 11:32:44 +02:00
mach-axxia
mach-bcm ARM: bcm: Drop unused includes 2023-07-21 10:01:47 -07:00
mach-berlin ARM: berlin: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-clps711x
mach-davinci ARM updates for v6.8-rc1 2024-01-17 11:34:45 -08:00
mach-digicolor
mach-dove ARM: dove: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-ep93xx ASoC: cs4271: Convert to GPIO descriptors 2023-12-01 16:59:21 +00:00
mach-exynos ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
mach-footbridge
mach-gemini
mach-highbank ARM: highbank: add missing include 2023-05-26 13:31:37 +02:00
mach-hisi ARM: hisi: Drop unused includes 2023-07-19 06:29:04 +00:00
mach-hpe ARM: hpe: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-imx ARM: SoC code changes for 6.8 2024-01-11 11:42:53 -08:00
mach-ixp4xx
mach-keystone ARM: keystone: Merge PM function into main support file 2023-08-01 23:57:28 -05:00
mach-lpc18xx
mach-lpc32xx ARM: lpc32xx: add missing include 2023-05-26 13:33:05 +02:00
mach-mediatek
mach-meson ARM: meson: Drop unused includes 2023-07-31 11:58:18 +02:00
mach-milbeaut
mach-mmp ARM: mmp: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-mstar
mach-mv78xx0
mach-mvebu ARM: mvebu: Explicitly include correct DT includes 2023-08-12 10:31:00 +02:00
mach-mxs ARM: mxs: Do not search for "fsl,clkctrl" 2023-12-06 11:21:43 +08:00
mach-nomadik ARM: nomadik: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-npcm ARM: npcm: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-omap1 gpio updates for v6.7-rc1 2023-10-31 17:21:54 -10:00
mach-omap2 ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init 2023-11-30 13:57:00 +02:00
mach-orion5x ARM: orion5x: fix d2net gpio initialization 2023-05-26 13:33:05 +02:00
mach-pxa ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
mach-qcom
mach-realtek
mach-rockchip ARM: rockchip: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-rpc
mach-s3c ASoC: wm8996: Convert to GPIO descriptors 2023-12-08 14:32:00 +00:00
mach-s5pv210 ARM: s5pv210: Explicitly include correct DT includes 2023-08-14 18:15:48 +02:00
mach-sa1100 ARM: locomo: fix locomolcd_power declaration 2023-09-28 09:15:51 +02:00
mach-shmobile ARM: shmobile: sh73a0: Reserve boot area when SMP is enabled 2023-09-27 11:00:27 +02:00
mach-socfpga ARM: socfpga: Explicitly include correct DT includes 2023-07-20 14:38:38 -05:00
mach-spear ARM: spear: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
mach-sti ARM: sti: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-stm32
mach-sunxi ARM: sun9i: smp: fix return code check of of_property_match_string 2024-01-02 16:45:16 +01:00
mach-tegra
mach-ux500 ARM: ux500: Move power-domain driver to the genpd dir 2023-07-14 10:41:59 +02:00
mach-versatile ARM: Delete ARM11MPCore (ARM11 ARMv6K SMP) support 2023-12-22 11:43:16 +00:00
mach-vt8500
mach-zynq ARM: zynq: Explicitly include correct DT includes 2023-07-20 17:06:50 +02:00
mm IOMMU Updates for Linux v6.8 2024-01-18 15:16:57 -08:00
net arm32, bpf: add support for 64 bit division instruction 2023-09-15 17:16:56 -07:00
nwfpe ARM: entry: Make asm coproc dispatch code NWFPE only 2023-05-17 15:08:22 +02:00
plat-orion
probes ARM: 9303/1: kprobes: avoid missing-declaration warnings 2023-06-19 09:35:51 +01:00
tools lsm/stable-6.8 PR 20240105 2024-01-09 12:57:46 -08:00
vdso arch: vdso: consolidate gettime prototypes 2023-11-23 11:32:32 +01:00
vfp ARM: 9327/1: vfp: Add missing VFP instructions to neon_support_hook 2023-12-05 11:40:27 +00:00
xen arm/xen: fix xen_vcpu_info allocation alignment 2023-11-23 09:32:41 +01:00
Kbuild
Kconfig ARM updates for v6.8-rc1 2024-01-17 11:34:45 -08:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM: debug: fix DEBUG_UNCOMPRESS help for !MULTIPLATFORM 2024-01-05 23:26:07 +01:00
Kconfig.platforms ARM: mach-nspire: Rework support and directory structure 2023-12-22 14:23:30 +00:00
Makefile ARM: mach-nspire: Rework support and directory structure 2023-12-22 14:23:30 +00:00