[GIT PULL] ext4 updates for 6.5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit f451fd97dd2b78f286379203a47d9d295c467255:

  ext4: drop the call to ext4_error() from ext4_get_group_info() (2023-06-14 22:24:05 -0400)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus

for you to fetch changes up to 2ef6c32a914b85217b44a0a2418e830e520b085e:

  ext4: avoid updating the superblock on a r/o mount if not needed (2023-06-26 19:36:45 -0400)


Note: there are some minor merge conflicts; see below for the merge
fixup I used before doing my final regression tests.


----------------------------------------------------------------
Various cleanups and bug fixes in ext4's extent status tree,
journalling, and block allocator subsystems.  Also improve performance
for parallel DIO overwrites.

----------------------------------------------------------------
Baokun Li (14):
      ext4: only update i_reserved_data_blocks on successful block allocation
      ext4: add a new helper to check if es must be kept
      ext4: factor out __es_alloc_extent() and __es_free_extent()
      ext4: use pre-allocated es in __es_insert_extent()
      ext4: use pre-allocated es in __es_remove_extent()
      ext4: using nofail preallocation in ext4_es_remove_extent()
      ext4: using nofail preallocation in ext4_es_insert_delayed_block()
      ext4: using nofail preallocation in ext4_es_insert_extent()
      ext4: make ext4_es_remove_extent() return void
      ext4: make ext4_es_insert_delayed_block() return void
      ext4: make ext4_es_insert_extent() return void
      ext4: make ext4_zeroout_es() return void
      ext4: turn quotas off if mount failed after enabling quotas
      ext4: refactoring to use the unified helper ext4_quotas_off()

Brian Foster (1):
      ext4: allow concurrent unaligned dio overwrites

Chao Yu (1):
      ext4: fix to check return value of freeze_bdev() in ext4_shutdown()

Kemeng Shi (11):
      ext4: fix wrong unit use in ext4_mb_normalize_request
      ext4: fix unit mismatch in ext4_mb_new_blocks_simple
      ext4: fix wrong unit use in ext4_mb_find_by_goal
      ext4: treat stripe in block unit
      ext4: add EXT4_MB_HINT_GOAL_ONLY test in ext4_mb_use_preallocated
      ext4: remove ext4_block_group and ext4_block_group_offset declaration
      ext4: try all groups in ext4_mb_new_blocks_simple
      ext4: get block from bh in ext4_free_blocks for fast commit replay
      ext4: remove unused parameter from ext4_mb_new_blocks_simple()
      ext4: fix wrong unit use in ext4_mb_clear_bb
      ext4: fix wrong unit use in ext4_mb_new_blocks

Matthew Wilcox (1):
      ext4: Call fsverity_verify_folio()

Ojaswin Mujoo (9):
      ext4: Convert mballoc cr (criteria) to enum
      ext4: Add per CR extent scanned counter
      ext4: Add counter to track successful allocation of goal length
      ext4: Avoid scanning smaller extents in BG during CR1
      ext4: Don't skip prefetching BLOCK_UNINIT groups
      ext4: Ensure ext4_mb_prefetch_fini() is called for all prefetched BGs
      ext4: Abstract out logic to search average fragment list
      ext4: Add allocation criteria 1.5 (CR1_5)
      ext4: Give symbolic names to mballoc criterias

Ritesh Harjani (6):
      ext4: kill unused function ext4_journalled_write_inline_data
      ext4: Change remaining tracepoints to use folio
      ext4: Make mpage_journal_page_buffers use folio
      ext4: Make ext4_write_inline_data_end() use folio
      ext4: mballoc: Remove useless setting of ac_criteria
      ext4: Remove unused extern variables declaration

Theodore Ts'o (2):
      ext4: clean up mballoc criteria comments
      ext4: avoid updating the superblock on a r/o mount if not needed

Zhang Yi (8):
      jbd2: remove unused feature macros
      jbd2: switch to check format version in superblock directly
      jbd2: factor out journal initialization from journal_get_superblock()
      jbd2: remove j_format_version
      jbd2: continue to record log between each mount
      ext4: add journal cycled recording support
      ext4: update doc about journal superblock description
      jbd2: skip reading super block if it has been verified

Zhihao Cheng (2):
      ext4: Fix reusing stale buffer heads from last failed mounting
      ext4: ext4_put_super: Remove redundant checking for 'sbi->s_journal_bdev'

 Documentation/filesystems/ext4/journal.rst |   7 +-
 fs/ext4/ext4.h                             |  89 +++--
 fs/ext4/extents.c                          |  49 +--
 fs/ext4/extents_status.c                   | 207 +++++++-----
 fs/ext4/extents_status.h                   |  14 +-
 fs/ext4/file.c                             |  86 ++---
 fs/ext4/indirect.c                         |   8 +
 fs/ext4/inline.c                           |  39 +--
 fs/ext4/inode.c                            | 114 +++----
 fs/ext4/ioctl.c                            |   5 +-
 fs/ext4/mballoc.c                          | 644 ++++++++++++++++++++++++------------
 fs/ext4/mballoc.h                          |  16 +-
 fs/ext4/readpage.c                         |   2 +-
 fs/ext4/super.c                            |  86 +++--
 fs/ext4/sysfs.c                            |   2 +
 fs/jbd2/journal.c                          |  78 ++---
 fs/jbd2/recovery.c                         |  22 +-
 include/linux/jbd2.h                       |  42 +--
 include/trace/events/ext4.h                |  44 ++-
 19 files changed, 939 insertions(+), 615 deletions(-)


commit 4b50c2604f922d0cdd4940d338506ecf817cba14
Merge: 1ef6663a587b 2ef6c32a914b
Author: Theodore Ts'o <tytso@xxxxxxx>
Date:   Tue Jun 27 00:23:58 2023 -0400

    Merge branch 'dev' into test

diff --cc fs/ext4/ioctl.c
index 961284cc9b65,55be1b8a6360..331859511f80
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@@ -793,10 -793,18 +793,11 @@@ static int ext4_ioctl_setproject(struc
  }
  #endif
  
 -static int ext4_shutdown(struct super_block *sb, unsigned long arg)
 +int ext4_force_shutdown(struct super_block *sb, u32 flags)
  {
  	struct ext4_sb_info *sbi = EXT4_SB(sb);
 -	__u32 flags;
+ 	int ret;
  
 -	if (!capable(CAP_SYS_ADMIN))
 -		return -EPERM;
 -
 -	if (get_user(flags, (__u32 __user *)arg))
 -		return -EFAULT;
 -
  	if (flags > EXT4_GOING_FLAGS_NOLOGFLUSH)
  		return -EINVAL;
  
diff --cc fs/ext4/super.c
index eaa5858d5285,c638b0db3b2b..c94ebf704616
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@@ -1133,7 -1128,13 +1133,13 @@@ static void ext4_blkdev_remove(struct e
  	struct block_device *bdev;
  	bdev = sbi->s_journal_bdev;
  	if (bdev) {
+ 		/*
+ 		 * Invalidate the journal device's buffers.  We don't want them
+ 		 * floating about in memory - the physical journal device may
+ 		 * hotswapped, and it breaks the `ro-after' testing code.
+ 		 */
+ 		invalidate_bdev(bdev);
 -		ext4_blkdev_put(bdev);
 +		blkdev_put(bdev, sbi->s_sb);
  		sbi->s_journal_bdev = NULL;
  	}
  }



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux