Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36cd5c19 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ext4 update from Ted Ts'o:
 "There are two major features for this merge window.  The first is
  inline data, which allows small files or directories to be stored in
  the in-inode extended attribute area.  (This requires that the file
  system use inodes which are at least 256 bytes or larger; 128 byte
  inodes do not have any room for in-inode xattrs.)

  The second new feature is SEEK_HOLE/SEEK_DATA support.  This is
  enabled by the extent status tree patches, and this infrastructure
  will be used to further optimize ext4 in the future.

  Beyond that, we have the usual collection of code cleanups and bug
  fixes."

* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (63 commits)
  ext4: zero out inline data using memset() instead of empty_zero_page
  ext4: ensure Inode flags consistency are checked at build time
  ext4: Remove CONFIG_EXT4_FS_XATTR
  ext4: remove unused variable from ext4_ext_in_cache()
  ext4: remove redundant initialization in ext4_fill_super()
  ext4: remove redundant code in ext4_alloc_inode()
  ext4: use sync_inode_metadata() when syncing inode metadata
  ext4: enable ext4 inline support
  ext4: let fallocate handle inline data correctly
  ext4: let ext4_truncate handle inline data correctly
  ext4: evict inline data out if we need to strore xattr in inode
  ext4: let fiemap work with inline data
  ext4: let ext4_rename handle inline dir
  ext4: let empty_dir handle inline dir
  ext4: let ext4_delete_entry() handle inline data
  ext4: make ext4_delete_entry generic
  ext4: let ext4_find_entry handle inline data
  ext4: create a new function search_dir
  ext4: let ext4_readdir handle inline data
  ext4: let add_dir_entry handle inline data properly
  ...
parents 2a74dbb9 bd9926e8
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -200,12 +200,9 @@ inode_readahead_blks=n This tuning parameter controls the maximum
			table readahead algorithm will pre-read into
			the buffer cache.  The default value is 32 blocks.

nouser_xattr		Disables Extended User Attributes. If you have extended
			attribute support enabled in the kernel configuration
			(CONFIG_EXT4_FS_XATTR), extended attribute support
			is enabled by default on mount. See the attr(5) manual
			page and http://acl.bestbits.at/ for more information
			about extended attributes.
nouser_xattr		Disables Extended User Attributes.  See the
			attr(5) manual page and http://acl.bestbits.at/
			for more information about extended attributes.

noacl			This option disables POSIX Access Control List
			support. If ACL support is enabled in the kernel
+2 −2
Original line number Diff line number Diff line
@@ -28,8 +28,8 @@ config FS_MBCACHE
	tristate
	default y if EXT2_FS=y && EXT2_FS_XATTR
	default y if EXT3_FS=y && EXT3_FS_XATTR
	default y if EXT4_FS=y && EXT4_FS_XATTR
	default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
	default y if EXT4_FS=y
	default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS

source "fs/reiserfs/Kconfig"
source "fs/jfs/Kconfig"
+0 −15
Original line number Diff line number Diff line
@@ -39,22 +39,8 @@ config EXT4_USE_FOR_EXT23
	  compiled kernel size by using one file system driver for
	  ext2, ext3, and ext4 file systems.

config EXT4_FS_XATTR
	bool "Ext4 extended attributes"
	depends on EXT4_FS
	default y
	help
	  Extended attributes are name:value pairs associated with inodes by
	  the kernel or by users (see the attr(5) manual page, or visit
	  <http://acl.bestbits.at/> for details).

	  If unsure, say N.

	  You need this for POSIX ACL support on ext4.

config EXT4_FS_POSIX_ACL
	bool "Ext4 POSIX Access Control Lists"
	depends on EXT4_FS_XATTR
	select FS_POSIX_ACL
	help
	  POSIX Access Control Lists (ACLs) support permissions for users and
@@ -67,7 +53,6 @@ config EXT4_FS_POSIX_ACL

config EXT4_FS_SECURITY
	bool "Ext4 Security Labels"
	depends on EXT4_FS_XATTR
	help
	  Security labels support alternative access control models
	  implemented by security modules like SELinux.  This option
+2 −2
Original line number Diff line number Diff line
@@ -7,8 +7,8 @@ obj-$(CONFIG_EXT4_FS) += ext4.o
ext4-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o page-io.o \
		ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o \
		ext4_jbd2.o migrate.o mballoc.o block_validity.o move_extent.o \
		mmp.o indirect.o
		mmp.o indirect.o extents_status.o xattr.o xattr_user.o \
		xattr_trusted.o inline.o

ext4-$(CONFIG_EXT4_FS_XATTR)		+= xattr.o xattr_user.o xattr_trusted.o
ext4-$(CONFIG_EXT4_FS_POSIX_ACL)	+= acl.o
ext4-$(CONFIG_EXT4_FS_SECURITY)		+= xattr_security.o
+4 −2
Original line number Diff line number Diff line
@@ -423,8 +423,10 @@ ext4_xattr_set_acl(struct dentry *dentry, const char *name, const void *value,

retry:
	handle = ext4_journal_start(inode, EXT4_DATA_TRANS_BLOCKS(inode->i_sb));
	if (IS_ERR(handle))
		return PTR_ERR(handle);
	if (IS_ERR(handle)) {
		error = PTR_ERR(handle);
		goto release_and_out;
	}
	error = ext4_set_acl(handle, inode, type, acl);
	ext4_journal_stop(handle);
	if (error == -ENOSPC && ext4_should_retry_alloc(inode->i_sb, &retries))
Loading