[ANNOUNCE] xfs: for-next branch updated to 1f08af52e7c9

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

 



Hi folks,

The for-next branch of the xfs kernel repository at

git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git

has just been updated. This update contains the shiny new reflink
functionality written by Darrick. If you are not using reflink
enabled filesystems, then you should see no new problems or
regressions as a result ofthe merge. If you do, please let us know
immediately.

For those of you that want to test the new reflink functionality,
you'll need to grab Darrick's latest xfsprogs branch. You probably
also want to grab his latest xfstests branch, too, so you don't get
failures from the tests that were obviously broken by recent
updates.

The xfsprogs reflink merge will occur after the kernel merge has
occurred, similar to the way rmap supprot was handled in the last
cycle. The xfstests runs with this series are not completely clean
yet - I see 5-6 new test failures across different machines, but
none of them are serious (e.g. unexpected ENOSPC errors causes
generic/204 failure because reflink consumes more space) and will be
fixed up over the next few weeks.

Darrick - for updates and fixes that need to be added to the 4.9
tree, let's revert to the normal "send patch to mailing list"
method for getting changes into the tree so everyone can pick them
up and review them as soon as they are sent...

Cheers,

Dave.

The new head of the for-next branch is commit:

1f08af52e7c9 xfs: implement swapext for rmap filesystems

New Commits:

Darrick J. Wong (63):
      [0a6eab8bd4e0] vfs: support FS_XFLAG_COWEXTSIZE and get/set of CoW extent size hint
      [71be6b4942dd] vfs: add a FALLOC_FL_UNSHARE mode to fallocate to unshare a range of blocks
      [9cdafd8a769b] xfs: return an error when an inline directory is too small
      [c75c752d0374] xfs: define tracepoints for refcount btree activities
      [46eeb521b952] xfs: introduce refcount btree definitions
      [af30dfa14411] xfs: refcount btree add more reserved blocks
      [1946b91cee4f] xfs: define the on-disk refcount btree format
      [ac4fef69386a] xfs: add refcount btree support to growfs
      [f310bd2ecd37] xfs: account for the refcount btree in the alloc/free log reservation
      [bdf28630b721] xfs: add refcount btree operations
      [baf4bcacb715] xfs: create refcount update intent log items
      [f997ee213717] xfs: log refcount intent items
      [3172725814f9] xfs: adjust refcount of an extent of blocks in refcount btree
      [33ba61292084] xfs: connect refcount adjust functions to upper layers
      [62aab20f0875] xfs: adjust refcount when unmapping file blocks
      [a90c00f05554] xfs: add refcount btree block detection to log recovery
      [d0e853f3600c] xfs: reserve AG space for the refcount btree root
      [350a27a6a65c] xfs: introduce reflink utility functions
      [6413a01420c2] xfs: create bmbt update intent log items
      [77d61fe45e72] xfs: log bmap intent items
      [f65306ea5246] xfs: map an inode's offset to an exact physical block
      [4847acf868bb] xfs: pass bmapi flags through to bmap_del_extent
      [9f3afb57d5f1] xfs: implement deferred bmbt map/unmap operations
      [17c12bcd3030] xfs: when replaying bmap operations, don't let unlinked inodes get reaped
      [4453593be6c5] xfs: return work remaining at the end of a bunmapi operation
      [53aa1c34f4eb] xfs: define tracepoints for reflink activities
      [f0ec1b8ef11d] xfs: add reflink feature flag to geometry
      [11715a21bc30] xfs: don't allow reflinked dir/dev/fifo/socket/pipe files
      [3993baeb3c52] xfs: introduce the CoW fork
      [be51f8119c2f] xfs: support bmapping delalloc extents in the CoW fork
      [2a06705cd595] xfs: create delalloc extents in CoW fork
      [60b4984fc392] xfs: support allocating delayed extents in CoW fork
      [ef4736678fc3] xfs: allocate delayed extents in CoW fork
      [4862cfe825c0] xfs: support removing extents from CoW fork
      [43caeb187deb] xfs: move mappings from cow fork to data fork after copy-write
      [db1327b16c2b] xfs: report shared extent mappings to userspace correctly
      [0613f16cd201] xfs: implement CoW for directio writes
      [aa8968f227a8] xfs: cancel CoW reservations and clear inode reflink flag when freeing blocks
      [5e7e605c4d1b] xfs: cancel pending CoW reservations when destroying inodes
      [174edb0e46e5] xfs: store in-progress CoW allocations in the refcount btree
      [862bb360ef56] xfs: reflink extents from one file to another
      [9fe26045e98f] xfs: add clone file and clone range vfs functions
      [cc714660bb8b] xfs: add dedupe range vfs function
      [f86f403794b1] xfs: teach get_bmapx about shared extents and the CoW fork
      [f0bc4d134b46] xfs: swap inode reflink flags when swapping inode extents
      [98cc2db5b8b2] xfs: unshare a range of blocks via fallocate
      [f7ca35227253] xfs: create a separate cow extent size hint for the allocator
      [84d6961910ea] xfs: preallocate blocks for worst-case btree expansion
      [6fa164b865e4] xfs: don't allow reflink when the AG is low on space
      [90e2056d76ad] xfs: try other AGs to allocate a BMBT block
      [83104d449e8c] xfs: garbage collect old cowextsz reservations
      [80de462e090c] xfs: increase log reservations for reflink
      [0e07c039bac5] xfs: add shared rmap map/unmap/convert log item types
      [ceeb9c832eec] xfs: use interval query for rmap alloc operations on shared files
      [3f165b334e51] xfs: convert unwritten status of reverse mappings for shared files
      [e153aa7990a0] xfs: set a default CoW extent size of 32 blocks
      [c8e156ac336d] xfs: check for invalid inode reflink flags
      [4f435ebe7d04] xfs: don't mix reflink and DAX mode for now
      [a35eb41519ab] xfs: simulate per-AG reservations being critically low
      [e54b5bf9d7ae] xfs: recognize the reflink feature bit
      [e06259aa08fb] xfs: various swapext cleanups
      [39aff5fdb91e] xfs: refactor swapext code
      [1f08af52e7c9] xfs: implement swapext for rmap filesystems


Code Diffstat:

 fs/open.c                          |    5 +
 fs/xfs/Makefile                    |    7 +
 fs/xfs/libxfs/xfs_ag_resv.c        |   15 +-
 fs/xfs/libxfs/xfs_alloc.c          |   23 +
 fs/xfs/libxfs/xfs_bmap.c           |  575 ++++++++++++-
 fs/xfs/libxfs/xfs_bmap.h           |   67 +-
 fs/xfs/libxfs/xfs_bmap_btree.c     |   18 +
 fs/xfs/libxfs/xfs_btree.c          |    8 +-
 fs/xfs/libxfs/xfs_btree.h          |   16 +
 fs/xfs/libxfs/xfs_defer.h          |    2 +
 fs/xfs/libxfs/xfs_format.h         |   97 ++-
 fs/xfs/libxfs/xfs_fs.h             |   10 +-
 fs/xfs/libxfs/xfs_inode_buf.c      |   24 +-
 fs/xfs/libxfs/xfs_inode_buf.h      |    1 +
 fs/xfs/libxfs/xfs_inode_fork.c     |   70 +-
 fs/xfs/libxfs/xfs_inode_fork.h     |   28 +-
 fs/xfs/libxfs/xfs_log_format.h     |  118 ++-
 fs/xfs/libxfs/xfs_refcount.c       | 1700 ++++++++++++++++++++++++++++++++++++++
 fs/xfs/libxfs/xfs_refcount.h       |   70 ++
 fs/xfs/libxfs/xfs_refcount_btree.c |  451 +++++++++++
 fs/xfs/libxfs/xfs_refcount_btree.h |   74 ++
 fs/xfs/libxfs/xfs_rmap.c           | 1120 +++++++++++++++++++++++---
 fs/xfs/libxfs/xfs_rmap.h           |    7 +
 fs/xfs/libxfs/xfs_rmap_btree.c     |   82 +-
 fs/xfs/libxfs/xfs_rmap_btree.h     |    7 +
 fs/xfs/libxfs/xfs_sb.c             |    9 +
 fs/xfs/libxfs/xfs_shared.h         |    2 +
 fs/xfs/libxfs/xfs_trans_resv.c     |   23 +-
 fs/xfs/libxfs/xfs_trans_resv.h     |    3 +
 fs/xfs/libxfs/xfs_trans_space.h    |    9 +
 fs/xfs/libxfs/xfs_types.h          |    3 +-
 fs/xfs/xfs_aops.c                  |  222 ++++-
 fs/xfs/xfs_aops.h                  |    4 +-
 fs/xfs/xfs_bmap_item.c             |  508 ++++++++++++
 fs/xfs/xfs_bmap_item.h             |   98 +++
 fs/xfs/xfs_bmap_util.c             |  589 ++++++++++----
 fs/xfs/xfs_dir2_readdir.c          |    3 +-
 fs/xfs/xfs_error.h                 |   10 +-
 fs/xfs/xfs_file.c                  |  221 ++++-
 fs/xfs/xfs_fsops.c                 |  107 ++-
 fs/xfs/xfs_fsops.h                 |    3 +
 fs/xfs/xfs_globals.c               |    5 +-
 fs/xfs/xfs_icache.c                |  243 +++++-
 fs/xfs/xfs_icache.h                |    7 +
 fs/xfs/xfs_inode.c                 |   51 ++
 fs/xfs/xfs_inode.h                 |   19 +
 fs/xfs/xfs_inode_item.c            |    2 +-
 fs/xfs/xfs_ioctl.c                 |   75 +-
 fs/xfs/xfs_iomap.c                 |   35 +-
 fs/xfs/xfs_iomap.h                 |    3 +-
 fs/xfs/xfs_iops.c                  |    1 +
 fs/xfs/xfs_itable.c                |    8 +-
 fs/xfs/xfs_linux.h                 |    1 +
 fs/xfs/xfs_log_recover.c           |  357 ++++++++
 fs/xfs/xfs_mount.c                 |   32 +
 fs/xfs/xfs_mount.h                 |    8 +
 fs/xfs/xfs_ondisk.h                |    3 +
 fs/xfs/xfs_pnfs.c                  |    7 +
 fs/xfs/xfs_refcount_item.c         |  539 +++++++++++++
 fs/xfs/xfs_refcount_item.h         |  101 +++
 fs/xfs/xfs_reflink.c               | 1702 +++++++++++++++++++++++++++++++++++++++
 fs/xfs/xfs_reflink.h               |   58 ++
 fs/xfs/xfs_rmap_item.c             |   12 +
 fs/xfs/xfs_stats.c                 |    1 +
 fs/xfs/xfs_stats.h                 |   18 +-
 fs/xfs/xfs_super.c                 |   85 ++
 fs/xfs/xfs_sysctl.c                |    9 +
 fs/xfs/xfs_sysctl.h                |    1 +
 fs/xfs/xfs_trace.h                 |  742 ++++++++++++++++-
 fs/xfs/xfs_trans.h                 |   29 +
 fs/xfs/xfs_trans_bmap.c            |  249 ++++++
 fs/xfs/xfs_trans_refcount.c        |  264 ++++++
 fs/xfs/xfs_trans_rmap.c            |    9 +
 include/linux/falloc.h             |    3 +-
 include/uapi/linux/falloc.h        |   18 +
 include/uapi/linux/fs.h            |    4 +-
 76 files changed, 10697 insertions(+), 413 deletions(-)
 create mode 100644 fs/xfs/libxfs/xfs_refcount.c
 create mode 100644 fs/xfs/libxfs/xfs_refcount.h
 create mode 100644 fs/xfs/libxfs/xfs_refcount_btree.c
 create mode 100644 fs/xfs/libxfs/xfs_refcount_btree.h
 create mode 100644 fs/xfs/xfs_bmap_item.c
 create mode 100644 fs/xfs/xfs_bmap_item.h
 create mode 100644 fs/xfs/xfs_refcount_item.c
 create mode 100644 fs/xfs/xfs_refcount_item.h
 create mode 100644 fs/xfs/xfs_reflink.c
 create mode 100644 fs/xfs/xfs_reflink.h
 create mode 100644 fs/xfs/xfs_trans_bmap.c
 create mode 100644 fs/xfs/xfs_trans_refcount.c
-- 
Dave Chinner
david@xxxxxxxxxxxxx

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux