Commit e5e038b7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ext2, isofs, udf, and quota updates from Jan Kara:
 "A lot of material this time:

   - removal of a lot of GFP_NOFS usage from ext2, udf, quota (either it
     was legacy or replaced with scoped memalloc_nofs_*() API)

   - removal of BUG_ONs in quota code

   - conversion of UDF to the new mount API

   - tightening quota on disk format verification

   - fix some potentially unsafe use of RCU pointers in quota code and
     annotate everything properly to make sparse happy

   - a few other small quota, ext2, udf, and isofs fixes"

* tag 'fs_for_v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (26 commits)
  udf: remove SLAB_MEM_SPREAD flag usage
  quota: remove SLAB_MEM_SPREAD flag usage
  isofs: remove SLAB_MEM_SPREAD flag usage
  ext2: remove SLAB_MEM_SPREAD flag usage
  ext2: mark as deprecated
  udf: convert to new mount API
  udf: convert novrs to an option flag
  MAINTAINERS: add missing git address for ext2 entry
  quota: Detect loops in quota tree
  quota: Properly annotate i_dquot arrays with __rcu
  quota: Fix rcu annotations of inode dquot pointers
  isofs: handle CDs with bad root inode but good Joliet root directory
  udf: Avoid invalid LVID used on mount
  quota: Fix potential NULL pointer dereference
  quota: Drop GFP_NOFS instances under dquot->dq_lock and dqio_sem
  quota: Set nofs allocation context when acquiring dqio_sem
  ext2: Remove GFP_NOFS use in ext2_xattr_cache_insert()
  ext2: Drop GFP_NOFS use in ext2_get_blocks()
  ext2: Drop GFP_NOFS allocation from ext2_init_block_alloc_info()
  udf: Remove GFP_NOFS allocation in udf_expand_file_adinicb()
  ...
parents 1715f710 a78e41a6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8021,6 +8021,7 @@ M: Jan Kara <jack@suse.com>
L:	linux-ext4@vger.kernel.org
S:	Maintained
F:	Documentation/filesystems/ext2.rst
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git
F:	fs/ext2/
F:	include/linux/ext2*
+11 −4
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
config EXT2_FS
	tristate "Second extended fs support"
	tristate "Second extended fs support (DEPRECATED)"
	select BUFFER_HEAD
	select FS_IOMAP
	select LEGACY_DIRECT_IO
	help
	  Ext2 is a standard Linux file system for hard disks.

	  To compile this file system support as a module, choose M here: the
	  module will be called ext2.
	  This filesystem driver is deprecated because it does not properly
	  support inode time stamps beyond 03:14:07 UTC on 19 January 2038.

	  If unsure, say Y.
	  Ext2 users are advised to use ext4 driver to access their filesystem.
	  The driver is fully compatible, supports filesystems without journal
          or extents, and also supports larger time stamps if the filesystem
          is created with at least 256 byte inodes.

	  This code is kept as a simple reference for filesystem developers.

	  If unsure, say N.

config EXT2_FS_XATTR
	bool "Ext2 extended attributes"
+1 −1
Original line number Diff line number Diff line
@@ -412,7 +412,7 @@ void ext2_init_block_alloc_info(struct inode *inode)
	struct ext2_block_alloc_info *block_i;
	struct super_block *sb = inode->i_sb;

	block_i = kmalloc(sizeof(*block_i), GFP_NOFS);
	block_i = kmalloc(sizeof(*block_i), GFP_KERNEL);
	if (block_i) {
		struct ext2_reserve_window_node *rsv = &block_i->rsv_window_node;

+1 −1
Original line number Diff line number Diff line
@@ -674,7 +674,7 @@ struct ext2_inode_info {
	struct inode	vfs_inode;
	struct list_head i_orphan;	/* unlinked but open inodes */
#ifdef CONFIG_QUOTA
	struct dquot *i_dquot[MAXQUOTAS];
	struct dquot __rcu *i_dquot[MAXQUOTAS];
#endif
};

+1 −1
Original line number Diff line number Diff line
@@ -754,7 +754,7 @@ static int ext2_get_blocks(struct inode *inode,
		 */
		err = sb_issue_zeroout(inode->i_sb,
				le32_to_cpu(chain[depth-1].key), count,
				GFP_NOFS);
				GFP_KERNEL);
		if (err) {
			mutex_unlock(&ei->truncate_mutex);
			goto cleanup;
Loading