LKML Archive on lore.kernel.org
 help / color / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Darrick J. Wong" <djwong@kernel.org>,
	linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org,
	david@fromorbit.com, linux-kernel@vger.kernel.org,
	sandeen@sandeen.net, hch@lst.de
Subject: [GIT PULL] xfs: new code for 5.10, part 1
Date: Wed, 14 Oct 2020 13:50:59 -0700
Message-ID: <20201014205059.GD9837@magnolia> (raw)

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(-)

             reply index

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-14 20:50 Darrick J. Wong [this message]
2020-10-14 21:45 ` pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201014205059.GD9837@magnolia \
    --to=djwong@kernel.org \
    --cc=david@fromorbit.com \
    --cc=hch@lst.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=sandeen@sandeen.net \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git
	git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git