linux/fs
Linus Torvalds d5acbc60fa for-6.7-tag
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE8rQSAMVO+zA4DBdWxWXV+ddtWDsFAmU/xAEACgkQxWXV+ddt
 WDvYKg//SjTimA5Nins9mb4jdz8n+dDeZnQhKzy3FqInU41EzDRc4WwnEODmDlTa
 AyU9rGB3k0JNSUc075jZFCyLqq/ARiOqRi4x33Gk0ckIlc4X5OgBoqP2XkPh0VlP
 txskLCrmhc3pwyR4ErlFDX2jebIUXfkv39bJuE40grGvUatRe+WNq0ERIrgO8RAr
 Rc3hBotMH8AIqfD1L6j1ZiZIAyrOkT1BJMuqeoq27/gJZn/MRhM9TCrMTzfWGaoW
 SxPrQiCDEN3KECsOY/caroMn3AekDijg/ley1Nf7Z0N6oEV+n4VWWPBFE9HhRz83
 9fIdvSbGjSJF6ekzTjcVXPAbcuKZFzeqOdBRMIW3TIUo7mZQyJTVkMsc1y/NL2Z3
 9DhlRLIzvWJJjt1CEK0u18n5IU+dGngdktbhWWIuIlo8r+G/iKR/7zqU92VfWLHL
 Z7/eh6HgH5zr2bm+yKORbrUjkv4IVhGVarW8D4aM+MCG0lFN2GaPcJCCUrp4n7rZ
 PzpQbxXa38ANBk6hsp4ndS8TJSBL9moY8tumzLcKg97nzNMV6KpBdV/G6/QfRLCN
 3kM6UbwTAkMwGcQS86Mqx6s04ORLnQeD6f7N6X4Ppx0Mi/zkjI2HkRuvQGp12B0v
 iZjCCZAYY2Iu+/TU0GrCXSss/grzIAUPzM9msyV3XGO/VBpwdec=
 =9TVx
 -----END PGP SIGNATURE-----

Merge tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs updates from David Sterba:
 "New features:

   - raid-stripe-tree

     New tree for logical file extent mapping where the physical mapping
     may not match on multiple devices. This is now used in zoned mode
     to implement RAID0/RAID1* profiles, but can be used in non-zoned
     mode as well. The support for RAID56 is in development and will
     eventually fix the problems with the current implementation. This
     is a backward incompatible feature and has to be enabled at mkfs
     time.

   - simple quota accounting (squota)

     A simplified mode of qgroup that accounts all space on the initial
     extent owners (a subvolume), the snapshots are then cheap to create
     and delete. The deletion of snapshots in fully accounting qgroups
     is a known CPU/IO performance bottleneck.

     The squota is not suitable for the general use case but works well
     for containers where the original subvolume exists for the whole
     time. This is a backward incompatible feature as it needs extending
     some structures, but can be enabled on an existing filesystem.

   - temporary filesystem fsid (temp_fsid)

     The fsid identifies a filesystem and is hard coded in the
     structures, which disallows mounting the same fsid found on
     different devices.

     For a single device filesystem this is not strictly necessary, a
     new temporary fsid can be generated on mount e.g. after a device is
     cloned. This will be used by Steam Deck for root partition A/B
     testing, or can be used for VM root images.

  Other user visible changes:

   - filesystems with partially finished metadata_uuid conversion cannot
     be mounted anymore and the uuid fixup has to be done by btrfs-progs
     (btrfstune).

  Performance improvements:

   - reduce reservations for checksum deletions (with enabled free space
     tree by factor of 4), on a sample workload on file with many
     extents the deletion time decreased by 12%

   - make extent state merges more efficient during insertions, reduce
     rb-tree iterations (run time of critical functions reduced by 5%)

  Core changes:

   - the integrity check functionality has been removed, this was a
     debugging feature and removal does not affect other integrity
     checks like checksums or tree-checker

   - space reservation changes:

      - more efficient delayed ref reservations, this avoids building up
        too much work or overusing or exhausting the global block
        reserve in some situations

      - move delayed refs reservation to the transaction start time,
        this prevents some ENOSPC corner cases related to exhaustion of
        global reserve

      - improvements in reducing excessive reservations for block group
        items

      - adjust overcommit logic in near full situations, account for one
        more chunk to eventually allocate metadata chunk, this is mostly
        relevant for small filesystems (<10GiB)

   - single device filesystems are scanned but not registered (except
     seed devices), this allows temp_fsid to work

   - qgroup iterations do not need GFP_ATOMIC allocations anymore

   - cleanups, refactoring, reduced data structure size, function
     parameter simplifications, error handling fixes"

* tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (156 commits)
  btrfs: open code timespec64 in struct btrfs_inode
  btrfs: remove redundant log root tree index assignment during log sync
  btrfs: remove redundant initialization of variable dirty in btrfs_update_time()
  btrfs: sysfs: show temp_fsid feature
  btrfs: disable the device add feature for temp-fsid
  btrfs: disable the seed feature for temp-fsid
  btrfs: update comment for temp-fsid, fsid, and metadata_uuid
  btrfs: remove pointless empty log context list check when syncing log
  btrfs: update comment for struct btrfs_inode::lock
  btrfs: remove pointless barrier from btrfs_sync_file()
  btrfs: add and use helpers for reading and writing last_trans_committed
  btrfs: add and use helpers for reading and writing fs_info->generation
  btrfs: add and use helpers for reading and writing log_transid
  btrfs: add and use helpers for reading and writing last_log_commit
  btrfs: support cloned-device mount capability
  btrfs: add helper function find_fsid_by_disk
  btrfs: stop reserving excessive space for block group item insertions
  btrfs: stop reserving excessive space for block group item updates
  btrfs: reorder btrfs_inode to fill gaps
  btrfs: open code btrfs_ordered_inode_tree in btrfs_inode
  ...
2023-10-30 10:42:06 -10:00
..
9p vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
adfs adfs: convert to new timestamp accessors 2023-10-18 13:26:18 +02:00
affs affs: convert to new timestamp accessors 2023-10-18 13:26:18 +02:00
afs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
autofs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
befs befs: convert to new timestamp accessors 2023-10-18 13:26:18 +02:00
bfs bfs: convert to new timestamp accessors 2023-10-18 13:26:19 +02:00
btrfs for-6.7-tag 2023-10-30 10:42:06 -10:00
cachefiles - Some swap cleanups from Ma Wupeng ("fix WARN_ON in add_to_avail_list") 2023-08-29 14:25:26 -07:00
ceph fscrypt updates for 6.7 2023-10-30 10:23:42 -10:00
coda coda: convert to new timestamp accessors 2023-10-18 13:26:19 +02:00
configfs configfs: convert to new timestamp accessors 2023-10-18 13:26:19 +02:00
cramfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
crypto fscrypt: track master key presence separately from secret 2023-10-16 21:23:45 -07:00
debugfs debugfs: convert to new timestamp accessors 2023-10-18 13:26:20 +02:00
devpts devpts: convert to new timestamp accessors 2023-10-18 13:26:20 +02:00
dlm
ecryptfs ecryptfs: move ecryptfs_xattr_handlers to .rodata 2023-10-09 16:24:17 +02:00
efivarfs efivarfs: convert to new timestamp accessors 2023-10-18 13:26:20 +02:00
efs efs: convert to new timestamp accessors 2023-10-18 13:26:21 +02:00
erofs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
exfat exfat: convert to new timestamp accessors 2023-10-18 13:26:21 +02:00
exportfs exportfs: remove kernel-doc warnings in exportfs 2023-08-29 17:45:22 -04:00
ext2 vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
ext4 fscrypt updates for 6.7 2023-10-30 10:23:42 -10:00
f2fs fscrypt updates for 6.7 2023-10-30 10:23:42 -10:00
fat fat: convert to new timestamp accessors 2023-10-18 14:08:03 +02:00
freevxfs freevxfs: convert to new timestamp accessors 2023-10-18 14:08:21 +02:00
fscache
fuse vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
gfs2 vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
hfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
hfsplus vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
hostfs hostfs: convert to new timestamp accessors 2023-10-18 14:08:22 +02:00
hpfs hpfs: convert to new timestamp accessors 2023-10-18 14:08:22 +02:00
hugetlbfs hugetlbfs: convert to new timestamp accessors 2023-10-18 14:08:22 +02:00
iomap iomap: fix short copy in iomap_write_iter() 2023-10-19 09:41:36 -07:00
isofs isofs: convert to new timestamp accessors 2023-10-18 14:08:22 +02:00
jbd2 Regression and bug fixes for ext4. 2023-09-17 10:33:53 -07:00
jffs2 vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
jfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
kernfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
lockd SUNRPC: change how svc threads are asked to exit. 2023-10-16 12:44:04 -04:00
minix minix: convert to new timestamp accessors 2023-10-18 14:08:23 +02:00
netfs netfs: Only call folio_start_fscache() one time for each folio 2023-09-18 12:03:46 -07:00
nfs NFSD 6.7 Release Notes 2023-10-30 10:12:29 -10:00
nfs_common
nfsd NFSD 6.7 Release Notes 2023-10-30 10:12:29 -10:00
nilfs2 nilfs2: convert to new timestamp accessors 2023-10-18 14:08:24 +02:00
nls nls: Hide new NLS_UCS2_UTILS 2023-08-31 12:07:34 -05:00
notify vfs-6.7.misc 2023-10-30 09:14:19 -10:00
ntfs ntfs: convert to new timestamp accessors 2023-10-18 14:08:24 +02:00
ntfs3 vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
ocfs2 vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
omfs omfs: convert to new timestamp accessors 2023-10-18 14:08:25 +02:00
openpromfs openpromfs: convert to new timestamp accessors 2023-10-18 14:08:25 +02:00
orangefs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
overlayfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
proc vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
pstore pstore: convert to new timestamp accessors 2023-10-18 14:08:26 +02:00
qnx4 qnx4: convert to new timestamp accessors 2023-10-18 14:08:26 +02:00
qnx6 qnx6: convert to new timestamp accessors 2023-10-18 14:08:26 +02:00
quota quota: Fix slow quotaoff 2023-10-06 11:01:23 +02:00
ramfs ramfs: convert to new timestamp accessors 2023-10-18 14:08:26 +02:00
reiserfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
romfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
smb vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
squashfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
sysfs
sysv sysv: convert to new timestamp accessors 2023-10-18 14:08:28 +02:00
tracefs tracefs: convert to new timestamp accessors 2023-10-18 14:08:28 +02:00
ubifs fscrypt updates for 6.7 2023-10-30 10:23:42 -10:00
udf udf: convert to new timestamp accessors 2023-10-18 14:08:28 +02:00
ufs ufs: convert to new timestamp accessors 2023-10-18 14:08:28 +02:00
unicode
vboxsf vboxsf: convert to new timestamp accessors 2023-10-18 14:08:29 +02:00
verity
xfs vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
zonefs zonefs: convert to new timestamp accessors 2023-10-18 14:08:29 +02:00
aio.c aio: Annotate struct kioctx_table with __counted_by 2023-09-20 14:22:01 +02:00
anon_inodes.c
attr.c fs: convert core infrastructure to new timestamp accessors 2023-10-18 13:26:15 +02:00
bad_inode.c fs: convert core infrastructure to new timestamp accessors 2023-10-18 13:26:15 +02:00
binfmt_elf_fdpic.c fs: binfmt_elf_efpic: fix personality for ELF-FDPIC 2023-09-29 17:20:45 -07:00
binfmt_elf_test.c
binfmt_elf.c
binfmt_flat.c
binfmt_misc.c fs: convert core infrastructure to new timestamp accessors 2023-10-18 13:26:15 +02:00
binfmt_script.c
buffer.c iomap: add a workaround for racy i_size updates on block devices 2023-09-25 08:55:00 -07:00
char_dev.c chardev: Simplify usage of try_module_get() 2023-10-19 11:03:16 +02:00
compat_binfmt_elf.c
coredump.c
d_path.c
dax.c
dcache.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c - An extensive rework of kexec and crash Kconfig from Eric DeVolder 2023-08-29 14:53:51 -07:00
fcntl.c
fhandle.c
file_table.c fs: store real path instead of fake path in backing file f_path 2023-10-19 11:03:15 +02:00
file.c file, i915: fix file reference for mmap_singleton() 2023-10-25 22:17:04 +02:00
filesystems.c
fs_context.c fs: factor out vfs_parse_monolithic_sep() helper 2023-10-12 18:53:36 +03:00
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fs-writeback.c vfs-6.7.misc 2023-10-30 09:14:19 -10:00
fsopen.c fsconfig: ensure that dirfd is set to aux 2023-09-22 14:09:06 +02:00
init.c fs: add a new SB_I_NOUMASK flag 2023-10-19 11:02:47 +02:00
inode.c vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
internal.h fs: store real path instead of fake path in backing file f_path 2023-10-19 11:03:15 +02:00
ioctl.c
Kconfig for-6.6/block-2023-08-28 2023-08-29 20:21:42 -07:00
Kconfig.binfmt
kernel_read_file.c
libfs.c fs: new accessor methods for atime and mtime 2023-10-18 13:26:14 +02:00
locks.c lockd: add doc to enable EXPORT_OP_ASYNC_LOCK 2023-10-16 12:44:02 -04:00
Makefile
mbcache.c
mnt_idmapping.c
mount.h
mpage.c
namei.c vfs-6.7.misc 2023-10-30 09:14:19 -10:00
namespace.c vfs: stop counting on gcc not messing with mnt_expiry_mark if not asked 2023-10-19 11:02:49 +02:00
nsfs.c fs: convert core infrastructure to new timestamp accessors 2023-10-18 13:26:15 +02:00
open.c fs: store real path instead of fake path in backing file f_path 2023-10-19 11:03:15 +02:00
pipe.c vfs-6.7.ctime 2023-10-30 09:47:13 -10:00
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
readdir.c
remap_range.c
select.c
seq_file.c
signalfd.c
splice.c - Some swap cleanups from Ma Wupeng ("fix WARN_ON in add_to_avail_list") 2023-08-29 14:25:26 -07:00
stack.c fs: convert core infrastructure to new timestamp accessors 2023-10-18 13:26:15 +02:00
stat.c fs: convert core infrastructure to new timestamp accessors 2023-10-18 13:26:15 +02:00
statfs.c
super.c fs: assert that open_mutex isn't held over holder ops 2023-10-28 13:29:23 +02:00
sync.c
sysctls.c
timerfd.c
userfaultfd.c
utimes.c
xattr.c xattr: make the xattr array itself const 2023-10-09 16:24:16 +02:00