The following changes since commit 46cf053efec6a3a5f343fead837777efe8252a46: Linux 5.5-rc3 (2019-12-22 17:02:23 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus for you to fetch changes up to 7f6225e446cc8dfa4c3c7959a4de3dd03ec277bf: jbd2: clean __jbd2_journal_abort_hard() and __journal_abort_soft() (2020-01-25 03:01:56 -0500) ---------------------------------------------------------------- This merge window, we've added some performance improvements in how we handle inode locking in the read/write paths, and improving the performance of Direct I/O overwrites. We also now record the error code which caused the first and most recent ext4_error() report in the superblock, to make it easier to root cause problems in production systems. There are also many of the usual cleanups and miscellaneous bug fixes. ---------------------------------------------------------------- Chengguang Xu (2): ext4: remove unnecessary assignment in ext4_htree_store_dirent() ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() Dmitry Monakhov (3): ext4: fix extent_status fragmentation for plain files ext4: fix symbolic enum printing in trace output ext4: fix extent_status trace points Eric Biggers (20): ext4: remove unnecessary ifdefs in htree_dirblock_to_tree() ext4: uninline ext4_inode_journal_mode() ext4: remove unnecessary selections from EXT3_FS docs: ext4.rst: add encryption and verity to features list ext4: handle decryption error in __ext4_block_zero_page_range() ext4: allow ZERO_RANGE on encrypted files ext4: only use fscrypt_zeroout_range() on regular files ext4: re-enable extent zeroout optimization on encrypted files ext4: fix deadlock allocating crypto bounce page from mempool ext4: fix deadlock allocating bio_post_read_ctx from mempool ext4: remove unneeded check for error allocating bio_post_read_ctx ext4: remove ext4_{ind,ext}_calc_metadata_amount() ext4: clean up len and offset checks in ext4_fallocate() ext4: remove redundant S_ISREG() checks from ext4_fallocate() ext4: make some functions static in extents.c ext4: fix documentation for ext4_ext_try_to_merge() ext4: remove obsolete comment from ext4_can_extents_be_merged() ext4: fix some nonstandard indentation in extents.c ext4: add missing braces in ext4_ext_drop_refs() ext4: fix race conditions in ->d_compare() and ->d_hash() Jan Kara (1): ext4: Optimize ext4 DIO overwrites Kai Li (1): jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal Martijn Coenen (1): ext4: Add EXT4_IOC_FSGETXATTR/EXT4_IOC_FSSETXATTR to compat_ioctl Naoto Kobayashi (1): ext4: Delete ext4_kvzvalloc() Ritesh Harjani (4): ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT ext4: Start with shared i_rwsem in case of DIO instead of exclusive ext4: Move to shared i_rwsem even without dioread_nolock mount opt ext4: remove unused macro MPAGE_DA_EXTENT_TAIL Shijie Luo (2): ext4,jbd2: fix comment and code style jbd2: remove pointless assertion in __journal_remove_journal_head Theodore Ts'o (8): ext4: treat buffers contining write errors as valid in ext4_sb_bread() Merge branch 'rk/inode_lock' into dev ext4: save the error code which triggered an ext4_error() in the superblock ext4: simulate various I/O and checksum errors when reading metadata ext4: export information about first/last errors via /sys/fs/ext4/<dev> ext4: avoid fetching btime in ext4_getattr() unless requested ext4: drop ext4_kvmalloc() ext4: make dioread_nolock the default Vasily Averin (1): jbd2_seq_info_next should increase position index wangyan (1): jbd2: delete the duplicated words in the comments zhangyi (F) (4): jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record ext4, jbd2: ensure panic when aborting with zero errno jbd2: make sure ESHUTDOWN to be recorded in the journal superblock jbd2: clean __jbd2_journal_abort_hard() and __journal_abort_soft() zhengbin (1): ext4: use true,false for bool variable Documentation/admin-guide/ext4.rst | 2 + Documentation/filesystems/fscrypt.rst | 6 +-- fs/ext4/Kconfig | 6 --- fs/ext4/balloc.c | 5 +- fs/ext4/dir.c | 10 ++-- fs/ext4/ext4.h | 81 +++++++++++++++++++++++++------ fs/ext4/ext4_extents.h | 5 -- fs/ext4/ext4_jbd2.c | 25 ++++++++++ fs/ext4/ext4_jbd2.h | 22 +-------- fs/ext4/extents.c | 205 +++++++++++++++++++++++++++++------------------------------------------------- fs/ext4/extents_status.h | 6 +++ fs/ext4/file.c | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------- fs/ext4/ialloc.c | 6 ++- fs/ext4/indirect.c | 26 ---------- fs/ext4/inline.c | 4 +- fs/ext4/inode.c | 53 +++++++++++++++----- fs/ext4/ioctl.c | 2 + fs/ext4/mballoc.c | 4 ++ fs/ext4/mmp.c | 6 ++- fs/ext4/namei.c | 20 +++++--- fs/ext4/page-io.c | 19 ++++++-- fs/ext4/readpage.c | 42 ++++++++-------- fs/ext4/resize.c | 10 ++-- fs/ext4/super.c | 122 +++++++++++++++++++++++++++++++++------------- fs/ext4/sysfs.c | 88 +++++++++++++++++++++++++++++++++- fs/ext4/xattr.c | 6 ++- fs/jbd2/checkpoint.c | 2 +- fs/jbd2/commit.c | 4 +- fs/jbd2/journal.c | 119 +++++++++++++++++++-------------------------- fs/jbd2/transaction.c | 4 +- include/linux/jbd2.h | 1 - include/trace/events/ext4.h | 27 +++++++++-- 32 files changed, 709 insertions(+), 432 deletions(-)