[GIT PULL] xfs: new code for 5.10, part 1

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

 



Hi Linus,

Please pull this first large pile of new stuff for 5.10.  The biggest
changes are two new features for the ondisk metadata: one to record the
sizes of the inode btrees in the AG to increase redundancy checks and to
improve mount times; and a second new feature to support timestamps
until the year 2486.  We also fixed a problem where reflinking into a
file that requires synchronous writes wouldn't actually flush the
updates to disk; clean up a fair amount of cruft; and started fixing
some bugs in the realtime volume code.

I anticipate sending a second pull request in a few days to add some
scalability improvements, to schedule deprecation of old features, and
to add fixes for the realtime code.

The branch merges cleanly with upstream as of a few minutes ago, so
please let me know if anything strange happens.

--D

The following changes since commit f4d51dffc6c01a9e94650d95ce0104964f8ae822:

  Linux 5.9-rc4 (2020-09-06 17:11:40 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.10-merge-2

for you to fetch changes up to fe341eb151ec0ba80fb74edd6201fc78e5232b6b:

  xfs: ensure that fpunch, fcollapse, and finsert operations are aligned to rt extent size (2020-09-15 20:52:42 -0700)

----------------------------------------------------------------
New code for 5.10:
- Clean up the buffer ioend calling path so that the retry strategy
  isn't quite so scattered everywhere.
- Clean up m_sb_bp handling.
- New feature: storing inode btree counts in the AGI to speed up certain
  mount time per-AG block reservation operatoins and add a little more
  metadata redundancy.
- New feature: Widen inode timestamps and quota grace expiration
  timestamps to support dates through the year 2486.
- Get rid of more of our custom buffer allocation API wrappers.
- Use a proper VLA for shortform xattr structure namevals.
- Force the log after reflinking or deduping into a file that is opened
  with O_SYNC or O_DSYNC.
- Fix some math errors in the realtime allocator.

----------------------------------------------------------------
Carlos Maiolino (6):
      xfs: remove kmem_realloc()
      xfs: Remove kmem_zalloc_large()
      xfs: remove typedef xfs_attr_sf_entry_t
      xfs: Remove typedef xfs_attr_shortform_t
      xfs: Use variable-size array for nameval in xfs_attr_sf_entry
      xfs: Convert xfs_attr_sf macros to inline functions

Christoph Hellwig (15):
      xfs: refactor the buf ioend disposition code
      xfs: mark xfs_buf_ioend static
      xfs: refactor xfs_buf_ioend
      xfs: move the buffer retry logic to xfs_buf.c
      xfs: fold xfs_buf_ioend_finish into xfs_ioend
      xfs: refactor xfs_buf_ioerror_fail_without_retry
      xfs: remove xfs_buf_ioerror_retry
      xfs: lift the XBF_IOEND_FAIL handling into xfs_buf_ioend_disposition
      xfs: simplify the xfs_buf_ioend_disposition calling convention
      xfs: use xfs_buf_item_relse in xfs_buf_item_done
      xfs: clear the read/write flags later in xfs_buf_ioend
      xfs: remove xlog_recover_iodone
      xfs: simplify xfs_trans_getsb
      xfs: remove xfs_getsb
      xfs: reuse _xfs_buf_read for re-reading the superblock

Darrick J. Wong (19):
      xfs: store inode btree block counts in AGI header
      xfs: use the finobt block counts to speed up mount times
      xfs: support inode btree blockcounts in online scrub
      xfs: support inode btree blockcounts in online repair
      xfs: enable new inode btree counters feature
      xfs: explicitly define inode timestamp range
      xfs: refactor quota expiration timer modification
      xfs: refactor default quota grace period setting code
      xfs: refactor quota timestamp coding
      xfs: move xfs_log_dinode_to_disk to the log recovery code
      xfs: redefine xfs_timestamp_t
      xfs: redefine xfs_ictimestamp_t
      xfs: widen ondisk inode timestamps to deal with y2038+
      xfs: widen ondisk quota expiration timestamps to handle y2038+
      xfs: trace timestamp limits
      xfs: enable big timestamps
      xfs: force the log after remapping a synchronous-writes file
      xfs: make sure the rt allocator doesn't run off the end
      xfs: ensure that fpunch, fcollapse, and finsert operations are aligned to rt extent size

Dave Chinner (1):
      xfs: xfs_iflock is no longer a completion

Zheng Bin (1):
      xfs: Remove unneeded semicolon

 fs/xfs/kmem.c                    |  22 ----
 fs/xfs/kmem.h                    |   7 --
 fs/xfs/libxfs/xfs_ag.c           |   5 +
 fs/xfs/libxfs/xfs_attr.c         |  14 ++-
 fs/xfs/libxfs/xfs_attr_leaf.c    |  43 ++++---
 fs/xfs/libxfs/xfs_attr_sf.h      |  29 +++--
 fs/xfs/libxfs/xfs_da_format.h    |   6 +-
 fs/xfs/libxfs/xfs_dquot_buf.c    |  35 ++++++
 fs/xfs/libxfs/xfs_format.h       | 211 +++++++++++++++++++++++++++++--
 fs/xfs/libxfs/xfs_fs.h           |   1 +
 fs/xfs/libxfs/xfs_ialloc.c       |   5 +
 fs/xfs/libxfs/xfs_ialloc_btree.c |  65 +++++++++-
 fs/xfs/libxfs/xfs_iext_tree.c    |   2 +-
 fs/xfs/libxfs/xfs_inode_buf.c    | 130 +++++++++----------
 fs/xfs/libxfs/xfs_inode_buf.h    |  15 ++-
 fs/xfs/libxfs/xfs_inode_fork.c   |   8 +-
 fs/xfs/libxfs/xfs_log_format.h   |   7 +-
 fs/xfs/libxfs/xfs_log_recover.h  |   1 -
 fs/xfs/libxfs/xfs_quota_defs.h   |   8 +-
 fs/xfs/libxfs/xfs_sb.c           |   6 +-
 fs/xfs/libxfs/xfs_shared.h       |   3 +
 fs/xfs/libxfs/xfs_trans_inode.c  |  17 ++-
 fs/xfs/scrub/agheader.c          |  30 +++++
 fs/xfs/scrub/agheader_repair.c   |  24 ++++
 fs/xfs/scrub/inode.c             |  31 +++--
 fs/xfs/scrub/symlink.c           |   2 +-
 fs/xfs/xfs_acl.c                 |   2 +-
 fs/xfs/xfs_attr_list.c           |   6 +-
 fs/xfs/xfs_bmap_util.c           |  16 +++
 fs/xfs/xfs_buf.c                 | 208 +++++++++++++++++++++++++-----
 fs/xfs/xfs_buf.h                 |  17 +--
 fs/xfs/xfs_buf_item.c            | 264 ++-------------------------------------
 fs/xfs/xfs_buf_item.h            |  12 ++
 fs/xfs/xfs_buf_item_recover.c    |   2 +-
 fs/xfs/xfs_dquot.c               |  66 ++++++++--
 fs/xfs/xfs_dquot.h               |   3 +
 fs/xfs/xfs_file.c                |  17 ++-
 fs/xfs/xfs_icache.c              |  19 ++-
 fs/xfs/xfs_inode.c               |  83 +++++-------
 fs/xfs/xfs_inode.h               |  38 +-----
 fs/xfs/xfs_inode_item.c          |  61 ++++++---
 fs/xfs/xfs_inode_item.h          |   5 +-
 fs/xfs/xfs_inode_item_recover.c  |  76 +++++++++++
 fs/xfs/xfs_ioctl.c               |   7 +-
 fs/xfs/xfs_log_recover.c         |  60 +++------
 fs/xfs/xfs_mount.c               |  32 ++---
 fs/xfs/xfs_mount.h               |   1 -
 fs/xfs/xfs_ondisk.h              |  38 ++++--
 fs/xfs/xfs_qm.c                  |  13 ++
 fs/xfs/xfs_qm.h                  |   4 +
 fs/xfs/xfs_qm_syscalls.c         |  18 ++-
 fs/xfs/xfs_quota.h               |   8 --
 fs/xfs/xfs_rtalloc.c             |  13 +-
 fs/xfs/xfs_super.c               |  28 +++--
 fs/xfs/xfs_trace.h               |  29 ++++-
 fs/xfs/xfs_trans.c               |   2 +-
 fs/xfs/xfs_trans.h               |   2 +-
 fs/xfs/xfs_trans_buf.c           |  46 +++----
 fs/xfs/xfs_trans_dquot.c         |   6 +
 59 files changed, 1183 insertions(+), 746 deletions(-)



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux