[GIT PULL] xfs: new code for 6.9

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

 



Hi Linus,

Please pull this branch with changes for xfs for 6.9-rc1.

The major change involves expansion of online repair functionality.

A brief summary of remaining changes are provided in the section "New code for
 6.9" below.

I did a test-merge with the main upstream branch as of a few minutes ago and
noticed a trivial merge conflict. The following diff will resolve the
resulting merge conflict.

diff --cc fs/xfs/xfs_buf.c
index 01b41fabbe3c,7fc26e64368d..71f3dfae3357
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@@ -1951,9 -2030,8 +2030,9 @@@ xfs_free_buftarg
  	fs_put_dax(btp->bt_daxdev, btp->bt_mount);
  	/* the main block device is closed by kill_block_super */
  	if (btp->bt_bdev != btp->bt_mount->m_super->s_bdev)
 -		bdev_release(btp->bt_bdev_handle);
 +		fput(btp->bt_bdev_file);
 +
- 	kmem_free(btp);
+ 	kfree(btp);
  }
  
  int
@@@ -1994,20 -2095,20 +2096,20 @@@ out_destroy_lru
  struct xfs_buftarg *
  xfs_alloc_buftarg(
  	struct xfs_mount	*mp,
 -	struct bdev_handle	*bdev_handle)
 +	struct file		*bdev_file)
  {
- 	xfs_buftarg_t		*btp;
+ 	struct xfs_buftarg	*btp;
  	const struct dax_holder_operations *ops = NULL;
  
  #if defined(CONFIG_FS_DAX) && defined(CONFIG_MEMORY_FAILURE)
  	ops = &xfs_dax_holder_operations;
  #endif
- 	btp = kmem_zalloc(sizeof(*btp), KM_NOFS);
+ 	btp = kzalloc(sizeof(*btp), GFP_KERNEL | __GFP_NOFAIL);
  
  	btp->bt_mount = mp;
 -	btp->bt_bdev_handle = bdev_handle;
 -	btp->bt_dev = bdev_handle->bdev->bd_dev;
 -	btp->bt_bdev = bdev_handle->bdev;
 +	btp->bt_bdev_file = bdev_file;
 +	btp->bt_bdev = file_bdev(bdev_file);
 +	btp->bt_dev = btp->bt_bdev->bd_dev;
  	btp->bt_daxdev = fs_dax_get_by_bdev(btp->bt_bdev, &btp->bt_dax_part_off,
  					    mp, ops);
  
diff --cc fs/xfs/xfs_buf.h
index 304e858d04fb,73249abca968..b1580644501f
--- a/fs/xfs/xfs_buf.h
+++ b/fs/xfs/xfs_buf.h
@@@ -96,11 -104,12 +104,12 @@@ void xfs_buf_cache_destroy(struct xfs_b
   * The latter is derived from the underlying device, and controls direct IO
   * alignment constraints.
   */
- typedef struct xfs_buftarg {
+ struct xfs_buftarg {
  	dev_t			bt_dev;
 -	struct bdev_handle	*bt_bdev_handle;
 +	struct file		*bt_bdev_file;
  	struct block_device	*bt_bdev;
  	struct dax_device	*bt_daxdev;
+ 	struct file		*bt_file;
  	u64			bt_dax_part_off;
  	struct xfs_mount	*bt_mount;
  	unsigned int		bt_meta_sectorsize;

Please let me know if you encounter any problems.

The following changes since commit 841c35169323cd833294798e58b9bf63fa4fa1de:

  Linux 6.8-rc4 (2024-02-11 12:18:13 -0800)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-6.9-merge-8

for you to fetch changes up to 75bcffbb9e7563259b7aed0fa77459d6a3a35627:

  xfs: shrink failure needs to hold AGI buffer (2024-03-07 14:59:05 +0530)

----------------------------------------------------------------
New code for 6.9:

  * Online Repair;
  ** New ondisk structures being repaired.
     - Inode's mode field by trying to obtain file type value from the a
       directory entry.
     - Quota counters.
     - Link counts of inodes.
     - FS summary counters.
     - rmap btrees.
       Support for in-memory btrees has been added to support repair of rmap
       btrees.
  ** Misc changes
     - Report corruption of metadata to the health tracking subsystem.
     - Enable indirect health reporting when resources are scarce.
     - Reduce memory usage while reparing refcount btree.
     - Extend "Bmap update" intent item to support atomic extent swapping on
       the realtime device.
     - Extend "Bmap update" intent item to support extended attribute fork and
       unwritten extents.
  ** Code cleanups
     - Bmap log intent.
     - Btree block pointer checking.
     - Btree readahead.
     - Buffer target.
     - Symbolic link code.
  * Remove mrlock wrapper around the rwsem.
  * Convert all the GFP_NOFS flag usages to use the scoped
    memalloc_nofs_save() API instead of direct calls with the GFP_NOFS.
  * Refactor and simplify xfile abstraction. Lower level APIs in
    shmem.c are required to be exported in order to achieve this.
  * Skip checking alignment constraints for inode chunk allocations when block
    size is larger than inode chunk size.
  * Do not submit delwri buffers collected during log recovery when an error
    has been encountered.
  * Fix SEEK_HOLE/DATA for file regions which have active COW extents.
  * Fix lock order inversion when executing error handling path during
    shrinking a filesystem.
  * Remove duplicate ifdefs.

Signed-off-by: Chandan Babu R <chandanbabu@xxxxxxxxxx>

----------------------------------------------------------------
Akira Yokosawa (2):
      kernel-doc: Add unary operator * to $type_param_ref
      mm/shmem.c: Use new form of *@param in kernel-doc

Chandan Babu R (18):
      Merge tag 'repair-inode-mode-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'repair-quotacheck-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'scrub-nlinks-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'corruption-health-reports-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'indirect-health-reporting-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'repair-fscounters-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'btree-geometry-in-ops-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'btree-remove-btnum-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'btree-check-cleanups-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'btree-readahead-cleanups-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'buftarg-cleanups-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'in-memory-btrees-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'repair-rmap-btree-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'repair-refcount-scalability-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'bmap-intent-cleanups-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'realtime-bmap-intents-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'expand-bmap-intent-usage_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC
      Merge tag 'symlink-cleanups-6.9_2024-02-23' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.9-mergeC

Christoph Hellwig (70):
      xfs: use kvfree for buf in xfs_ioc_getbmap
      mm: move mapping_set_update out of <linux/swap.h>
      shmem: move shmem_mapping out of line
      shmem: set a_ops earlier in shmem_symlink
      shmem: move the shmem_mapping assert into shmem_get_folio_gfp
      shmem: export shmem_get_folio
      shmem: export shmem_kernel_file_setup
      shmem: document how to "persist" data when using shmem_*file_setup
      xfs: use VM_NORESERVE in xfile_create
      xfs: shmem_file_setup can't return NULL
      xfs: use shmem_kernel_file_setup in xfile_create
      xfs: don't modify file and inode flags for shmem files
      xfs: remove xfile_stat
      xfs: remove the xfile_pread/pwrite APIs
      xfs: don't try to handle non-update pages in xfile_obj_load
      xfs: don't allow highmem pages in xfile mappings
      xfs: use shmem_get_folio in xfile_obj_store
      xfs: use shmem_get_folio in in xfile_load
      xfs: remove xfarray_sortinfo.page_kaddr
      xfs: fix a comment in xfarray.c
      xfs: remove bc_ino.flags
      xfs: consolidate the xfs_alloc_lookup_* helpers
      xfs: turn the allocbt cursor active field into a btree flag
      xfs: move the btree stats offset into struct btree_ops
      xfs: split out a btree type from the btree ops geometry flags
      xfs: split the per-btree union in struct xfs_btree_cur
      xfs: move comment about two 2 keys per pointer in the rmap btree
      xfs: add a xfs_btree_init_ptr_from_cur
      xfs: don't override bc_ops for staging btrees
      xfs: fold xfs_allocbt_init_common into xfs_allocbt_init_cursor
      xfs: remove xfs_allocbt_stage_cursor
      xfs: fold xfs_inobt_init_common into xfs_inobt_init_cursor
      xfs: remove xfs_inobt_stage_cursor
      xfs: fold xfs_refcountbt_init_common into xfs_refcountbt_init_cursor
      xfs: remove xfs_refcountbt_stage_cursor
      xfs: fold xfs_rmapbt_init_common into xfs_rmapbt_init_cursor
      xfs: remove xfs_rmapbt_stage_cursor
      xfs: make full use of xfs_btree_stage_ifakeroot in xfs_bmbt_stage_cursor
      xfs: fold xfs_bmbt_init_common into xfs_bmbt_init_cursor
      xfs: remove xfs_bmbt_stage_cursor
      xfs: split the agf_roots and agf_levels arrays
      xfs: add a name field to struct xfs_btree_ops
      xfs: add a sick_mask to struct xfs_btree_ops
      xfs: refactor the btree cursor allocation logic in xchk_ag_btcur_init
      xfs: split xfs_allocbt_init_cursor
      xfs: remove xfs_inobt_cur
      xfs: remove the btnum argument to xfs_inobt_count_blocks
      xfs: remove the which variable in xchk_iallocbt
      xfs: split xfs_inobt_insert_sprec
      xfs: split xfs_inobt_init_cursor
      xfs: pass a 'bool is_finobt' to xfs_inobt_insert
      xfs: remove xfs_btnum_t
      xfs: simplify xfs_btree_check_sblock_siblings
      xfs: simplify xfs_btree_check_lblock_siblings
      xfs: open code xfs_btree_check_lptr in xfs_bmap_btree_to_extents
      xfs: consolidate btree ptr checking
      xfs: misc cleanups for __xfs_btree_check_sblock
      xfs: remove the crc variable in __xfs_btree_check_lblock
      xfs: tighten up validation of root block in inode forks
      xfs: consolidate btree block verification
      xfs: rename btree helpers that depends on the block number representation
      xfs: factor out a __xfs_btree_check_lblock_hdr helper
      xfs: remove xfs_btree_reada_bufl
      xfs: remove xfs_btree_reada_bufs
      xfs: move and rename xfs_btree_read_bufl
      xfs: split xfs_buf_rele for cached vs uncached buffers
      xfs: remove the xfs_buftarg_t typedef
      xfs: remove xfs_setsize_buftarg_early
      xfs: move setting bt_logical_sectorsize out of xfs_setsize_buftarg
      xfs: add a xfs_btree_ptrs_equal helper

Darrick J. Wong (88):
      xfs: disable sparse inode chunk alignment check when there is no alignment
      xfs: add file_{get,put}_folio
      xfs: convert xfarray_pagesort to deal with large folios
      xfs: remove xfile_{get,put}_page
      xfs: speed up xfs_iwalk_adjust_start a little bit
      xfs: implement live inode scan for scrub
      xfs: allow scrub to hook metadata updates in other writers
      xfs: stagger the starting AG of scrub iscans to reduce contention
      xfs: cache a bunch of inodes for repair scans
      xfs: iscan batching should handle unallocated inodes too
      xfs: create a static name for the dot entry too
      xfs: create a predicate to determine if two xfs_names are the same
      xfs: create a macro for decoding ftypes in tracepoints
      xfs: report the health of quota counts
      xfs: repair file modes by scanning for a dirent pointing to us
      xfs: create a xchk_trans_alloc_empty helper for scrub
      xfs: create a helper to count per-device inode block usage
      xfs: create a sparse load xfarray function
      xfs: implement live quotacheck inode scan
      xfs: track quota updates during live quotacheck
      xfs: repair cannot update the summary counters when logging quota flags
      xfs: repair dquots based on live quotacheck results
      xfs: report health of inode link counts
      xfs: teach scrub to check file nlinks
      xfs: track directory entry updates during live nlinks fsck
      xfs: teach repair to fix file nlinks
      xfs: separate the marking of sick and checked metadata
      xfs: report fs corruption errors to the health tracking system
      xfs: report ag header corruption errors to the health tracking system
      xfs: report block map corruption errors to the health tracking system
      xfs: report btree block corruption errors to the health system
      xfs: report dir/attr block corruption errors to the health system
      xfs: report symlink block corruption errors to the health system
      xfs: report inode corruption errors to the health system
      xfs: report quota block corruption errors to the health system
      xfs: report realtime metadata corruption errors to the health system
      xfs: report XFS_IS_CORRUPT errors to the health system
      xfs: add secondary and indirect classes to the health tracking system
      xfs: remember sick inodes that get inactivated
      xfs: update health status if we get a clean bill of health
      xfs: repair summary counters
      xfs: consolidate btree block freeing tracepoints
      xfs: consolidate btree block allocation tracepoints
      xfs: set the btree cursor bc_ops in xfs_btree_alloc_cursor
      xfs: drop XFS_BTREE_CRC_BLOCKS
      xfs: fix imprecise logic in xchk_btree_check_block_owner
      xfs: encode the btree geometry flags in the btree ops structure
      xfs: extern some btree ops structures
      xfs: initialize btree blocks using btree_ops structure
      xfs: rename btree block/buffer init functions
      xfs: btree convert xfs_btree_init_block to xfs_btree_init_buf calls
      xfs: remove the unnecessary daddr paramter to _init_block
      xfs: set btree block buffer ops in _init_buf
      xfs: move lru refs to the btree ops structure
      xfs: factor out a xfs_btree_owner helper
      xfs: factor out a btree block owner check
      xfs: store the btree pointer length in struct xfs_btree_ops
      xfs: create predicate to determine if cursor is at inode root level
      xfs: make staging file forks explicit
      xfs: teach buftargs to maintain their own buffer hashtable
      xfs: support in-memory buffer cache targets
      xfs: support in-memory btrees
      xfs: create a helper to decide if a file mapping targets the rt volume
      xfs: launder in-memory btree buffers before transaction commit
      xfs: create agblock bitmap helper to count the number of set regions
      xfs: repair the rmapbt
      xfs: create a shadow rmap btree during rmap repair
      xfs: define an in-memory btree for storing refcount bag info during repairs
      xfs: hook live rmap operations during a repair operation
      xfs: create refcount bag structure for btree repairs
      xfs: port refcount repair to the new refcount bag structure
      xfs: split tracepoint classes for deferred items
      xfs: clean up bmap log intent item tracepoint callsites
      xfs: remove xfs_trans_set_bmap_flags
      xfs: add a bi_entry helper
      xfs: reuse xfs_bmap_update_cancel_item
      xfs: move xfs_bmap_defer_add to xfs_bmap_item.c
      xfs: fix xfs_bunmapi to allow unmapping of partial rt extents
      xfs: add a xattr_entry helper
      xfs: add a realtime flag to the bmap update log redo items
      xfs: support recovering bmap intent items targetting realtime extents
      xfs: support deferred bmap updates on the attr fork
      xfs: xfs_bmap_finish_one should map unwritten extents properly
      xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h
      xfs: move remote symlink target read function to libxfs
      xfs: move symlink target write function to libxfs
      xfs: fix log recovery erroring out on refcount recovery failure
      xfs: fix scrub stats file permissions

Dave Chinner (18):
      xfs: convert kmem_zalloc() to kzalloc()
      xfs: convert kmem_alloc() to kmalloc()
      xfs: move kmem_to_page()
      xfs: convert kmem_free() for kvmalloc users to kvfree()
      xfs: convert remaining kmem_free() to kfree()
      xfs: use an empty transaction for fstrim
      xfs: use __GFP_NOLOCKDEP instead of GFP_NOFS
      xfs: use GFP_KERNEL in pure transaction contexts
      xfs: place intent recovery under NOFS allocation context
      xfs: place the CIL under nofs allocation context
      xfs: clean up remaining GFP_NOFS users
      xfs: use xfs_defer_alloc a bit more
      xfs: use kvfree() in xfs_ioc_attr_list()
      xfs: use kvfree in xfs_ioc_getfsmap()
      xfs: fix SEEK_HOLE/DATA for regions with active COW extents
      xfs: xfs_btree_bload_prep_block() should use __GFP_NOFAIL
      xfs: use kvfree() in xlog_cil_free_logvec()
      xfs: shrink failure needs to hold AGI buffer

Long Li (1):
      xfs: ensure submit buffers on LSN boundaries in error handlers

Matthew Wilcox (Oracle) (3):
      locking: Add rwsem_assert_held() and rwsem_assert_held_write()
      xfs: Replace xfs_isilocked with xfs_assert_ilocked
      xfs: Remove mrlock wrapper

Shrikanth Hegde (1):
      xfs: remove duplicate ifdefs

 .../filesystems/xfs/xfs-online-fsck-design.rst     |   30 +-
 fs/xfs/Kconfig                                     |   13 +
 fs/xfs/Makefile                                    |   15 +-
 fs/xfs/kmem.c                                      |   30 -
 fs/xfs/kmem.h                                      |   83 -
 fs/xfs/libxfs/xfs_ag.c                             |   79 +-
 fs/xfs/libxfs/xfs_ag.h                             |   18 +-
 fs/xfs/libxfs/xfs_alloc.c                          |  258 +--
 fs/xfs/libxfs/xfs_alloc_btree.c                    |  191 ++-
 fs/xfs/libxfs/xfs_alloc_btree.h                    |   10 +-
 fs/xfs/libxfs/xfs_attr.c                           |    5 +-
 fs/xfs/libxfs/xfs_attr_leaf.c                      |   22 +-
 fs/xfs/libxfs/xfs_attr_remote.c                    |   37 +-
 fs/xfs/libxfs/xfs_bmap.c                           |  365 +++--
 fs/xfs/libxfs/xfs_bmap.h                           |   19 +-
 fs/xfs/libxfs/xfs_bmap_btree.c                     |  152 +-
 fs/xfs/libxfs/xfs_bmap_btree.h                     |    5 +-
 fs/xfs/libxfs/xfs_btree.c                          | 1098 ++++++++-----
 fs/xfs/libxfs/xfs_btree.h                          |  274 ++--
 fs/xfs/libxfs/xfs_btree_mem.c                      |  347 ++++
 fs/xfs/libxfs/xfs_btree_mem.h                      |   75 +
 fs/xfs/libxfs/xfs_btree_staging.c                  |  133 +-
 fs/xfs/libxfs/xfs_btree_staging.h                  |   10 +-
 fs/xfs/libxfs/xfs_da_btree.c                       |   59 +-
 fs/xfs/libxfs/xfs_da_format.h                      |   11 +
 fs/xfs/libxfs/xfs_defer.c                          |   25 +-
 fs/xfs/libxfs/xfs_dir2.c                           |   59 +-
 fs/xfs/libxfs/xfs_dir2.h                           |   13 +
 fs/xfs/libxfs/xfs_dir2_block.c                     |    8 +-
 fs/xfs/libxfs/xfs_dir2_data.c                      |    3 +
 fs/xfs/libxfs/xfs_dir2_leaf.c                      |    3 +
 fs/xfs/libxfs/xfs_dir2_node.c                      |    7 +
 fs/xfs/libxfs/xfs_dir2_sf.c                        |   16 +-
 fs/xfs/libxfs/xfs_format.h                         |   21 +-
 fs/xfs/libxfs/xfs_fs.h                             |    8 +-
 fs/xfs/libxfs/xfs_health.h                         |   95 +-
 fs/xfs/libxfs/xfs_ialloc.c                         |  240 ++-
 fs/xfs/libxfs/xfs_ialloc_btree.c                   |  159 +-
 fs/xfs/libxfs/xfs_ialloc_btree.h                   |   11 +-
 fs/xfs/libxfs/xfs_iext_tree.c                      |   26 +-
 fs/xfs/libxfs/xfs_inode_buf.c                      |   12 +-
 fs/xfs/libxfs/xfs_inode_fork.c                     |   49 +-
 fs/xfs/libxfs/xfs_inode_fork.h                     |    1 +
 fs/xfs/libxfs/xfs_log_format.h                     |    4 +-
 fs/xfs/libxfs/xfs_refcount.c                       |   69 +-
 fs/xfs/libxfs/xfs_refcount_btree.c                 |   80 +-
 fs/xfs/libxfs/xfs_refcount_btree.h                 |    2 -
 fs/xfs/libxfs/xfs_rmap.c                           |  284 +++-
 fs/xfs/libxfs/xfs_rmap.h                           |   31 +-
 fs/xfs/libxfs/xfs_rmap_btree.c                     |  239 ++-
 fs/xfs/libxfs/xfs_rmap_btree.h                     |    8 +-
 fs/xfs/libxfs/xfs_rtbitmap.c                       |   11 +-
 fs/xfs/libxfs/xfs_sb.c                             |    2 +
 fs/xfs/libxfs/xfs_shared.h                         |   67 +-
 fs/xfs/libxfs/xfs_symlink_remote.c                 |  155 +-
 fs/xfs/libxfs/xfs_symlink_remote.h                 |   26 +
 fs/xfs/libxfs/xfs_trans_inode.c                    |    6 +-
 fs/xfs/libxfs/xfs_types.h                          |   26 +-
 fs/xfs/mrlock.h                                    |   78 -
 fs/xfs/scrub/agb_bitmap.h                          |    5 +
 fs/xfs/scrub/agheader.c                            |   12 +-
 fs/xfs/scrub/agheader_repair.c                     |   47 +-
 fs/xfs/scrub/alloc_repair.c                        |   27 +-
 fs/xfs/scrub/bitmap.c                              |   14 +
 fs/xfs/scrub/bitmap.h                              |    2 +
 fs/xfs/scrub/bmap.c                                |    2 +-
 fs/xfs/scrub/bmap_repair.c                         |    8 +-
 fs/xfs/scrub/btree.c                               |   58 +-
 fs/xfs/scrub/common.c                              |  133 +-
 fs/xfs/scrub/common.h                              |   13 +
 fs/xfs/scrub/cow_repair.c                          |    2 +-
 fs/xfs/scrub/dir.c                                 |    4 +-
 fs/xfs/scrub/fscounters.c                          |   29 +-
 fs/xfs/scrub/fscounters.h                          |   20 +
 fs/xfs/scrub/fscounters_repair.c                   |   72 +
 fs/xfs/scrub/health.c                              |  140 +-
 fs/xfs/scrub/health.h                              |    5 +-
 fs/xfs/scrub/ialloc.c                              |   20 +-
 fs/xfs/scrub/ialloc_repair.c                       |   10 +-
 fs/xfs/scrub/inode_repair.c                        |  237 ++-
 fs/xfs/scrub/iscan.c                               |  767 +++++++++
 fs/xfs/scrub/iscan.h                               |   84 +
 fs/xfs/scrub/newbt.c                               |   14 +-
 fs/xfs/scrub/newbt.h                               |    7 +
 fs/xfs/scrub/nlinks.c                              |  930 +++++++++++
 fs/xfs/scrub/nlinks.h                              |  102 ++
 fs/xfs/scrub/nlinks_repair.c                       |  223 +++
 fs/xfs/scrub/quotacheck.c                          |  867 ++++++++++
 fs/xfs/scrub/quotacheck.h                          |   76 +
 fs/xfs/scrub/quotacheck_repair.c                   |  261 +++
 fs/xfs/scrub/rcbag.c                               |  307 ++++
 fs/xfs/scrub/rcbag.h                               |   28 +
 fs/xfs/scrub/rcbag_btree.c                         |  370 +++++
 fs/xfs/scrub/rcbag_btree.h                         |   81 +
 fs/xfs/scrub/readdir.c                             |    4 +-
 fs/xfs/scrub/reap.c                                |    2 +-
 fs/xfs/scrub/refcount.c                            |   12 +
 fs/xfs/scrub/refcount_repair.c                     |  177 +-
 fs/xfs/scrub/repair.c                              |  120 +-
 fs/xfs/scrub/repair.h                              |   23 +-
 fs/xfs/scrub/rmap.c                                |   26 +-
 fs/xfs/scrub/rmap_repair.c                         | 1697 ++++++++++++++++++++
 fs/xfs/scrub/rtsummary.c                           |    6 +-
 fs/xfs/scrub/scrub.c                               |   37 +-
 fs/xfs/scrub/scrub.h                               |   18 +-
 fs/xfs/scrub/stats.c                               |    6 +-
 fs/xfs/scrub/symlink.c                             |    3 +-
 fs/xfs/scrub/trace.c                               |    8 +-
 fs/xfs/scrub/trace.h                               |  637 +++++++-
 fs/xfs/scrub/xfarray.c                             |  234 ++-
 fs/xfs/scrub/xfarray.h                             |   30 +-
 fs/xfs/scrub/xfile.c                               |  345 ++--
 fs/xfs/scrub/xfile.h                               |   62 +-
 fs/xfs/xfs_acl.c                                   |    4 +-
 fs/xfs/xfs_attr_inactive.c                         |    4 +
 fs/xfs/xfs_attr_item.c                             |   25 +-
 fs/xfs/xfs_attr_list.c                             |   26 +-
 fs/xfs/xfs_bmap_item.c                             |  119 +-
 fs/xfs/xfs_bmap_item.h                             |    4 +
 fs/xfs/xfs_bmap_util.c                             |   20 +-
 fs/xfs/xfs_buf.c                                   |  320 ++--
 fs/xfs/xfs_buf.h                                   |   21 +-
 fs/xfs/xfs_buf_item.c                              |    8 +-
 fs/xfs/xfs_buf_item_recover.c                      |    8 +-
 fs/xfs/xfs_buf_mem.c                               |  270 ++++
 fs/xfs/xfs_buf_mem.h                               |   34 +
 fs/xfs/xfs_dir2_readdir.c                          |    8 +-
 fs/xfs/xfs_discard.c                               |   19 +-
 fs/xfs/xfs_dquot.c                                 |   36 +-
 fs/xfs/xfs_error.c                                 |    8 +-
 fs/xfs/xfs_extent_busy.c                           |    5 +-
 fs/xfs/xfs_extfree_item.c                          |    8 +-
 fs/xfs/xfs_file.c                                  |    4 +-
 fs/xfs/xfs_filestream.c                            |    6 +-
 fs/xfs/xfs_fsmap.c                                 |    4 +-
 fs/xfs/xfs_health.c                                |  202 ++-
 fs/xfs/xfs_hooks.c                                 |   52 +
 fs/xfs/xfs_hooks.h                                 |   65 +
 fs/xfs/xfs_icache.c                                |   14 +-
 fs/xfs/xfs_icreate_item.c                          |    2 +-
 fs/xfs/xfs_inode.c                                 |  274 +++-
 fs/xfs/xfs_inode.h                                 |   37 +-
 fs/xfs/xfs_inode_item.c                            |    6 +-
 fs/xfs/xfs_inode_item_recover.c                    |    5 +-
 fs/xfs/xfs_ioctl.c                                 |    8 +-
 fs/xfs/xfs_iomap.c                                 |   19 +-
 fs/xfs/xfs_iops.c                                  |    9 +-
 fs/xfs/xfs_itable.c                                |   12 +-
 fs/xfs/xfs_iwalk.c                                 |   41 +-
 fs/xfs/xfs_linux.h                                 |   17 +-
 fs/xfs/xfs_log.c                                   |   34 +-
 fs/xfs/xfs_log_cil.c                               |   31 +-
 fs/xfs/xfs_log_recover.c                           |  102 +-
 fs/xfs/xfs_mount.c                                 |    2 +-
 fs/xfs/xfs_mount.h                                 |   12 +-
 fs/xfs/xfs_mru_cache.c                             |   17 +-
 fs/xfs/xfs_qm.c                                    |   59 +-
 fs/xfs/xfs_qm.h                                    |   16 +
 fs/xfs/xfs_qm_bhv.c                                |    1 +
 fs/xfs/xfs_quota.h                                 |   46 +
 fs/xfs/xfs_refcount_item.c                         |   12 +-
 fs/xfs/xfs_reflink.c                               |   16 +-
 fs/xfs/xfs_rmap_item.c                             |   11 +-
 fs/xfs/xfs_rtalloc.c                               |   18 +-
 fs/xfs/xfs_stats.c                                 |    4 +-
 fs/xfs/xfs_stats.h                                 |    2 +
 fs/xfs/xfs_super.c                                 |   20 +-
 fs/xfs/xfs_symlink.c                               |  158 +-
 fs/xfs/xfs_symlink.h                               |    1 -
 fs/xfs/xfs_sysfs.c                                 |    4 -
 fs/xfs/xfs_trace.c                                 |    3 +
 fs/xfs/xfs_trace.h                                 |  607 +++++--
 fs/xfs/xfs_trans.c                                 |    2 +-
 fs/xfs/xfs_trans.h                                 |    1 +
 fs/xfs/xfs_trans_ail.c                             |    7 +-
 fs/xfs/xfs_trans_buf.c                             |   42 +
 fs/xfs/xfs_trans_dquot.c                           |  171 +-
 include/linux/rwbase_rt.h                          |    9 +-
 include/linux/rwsem.h                              |   46 +-
 include/linux/shmem_fs.h                           |    6 +-
 include/linux/swap.h                               |   10 -
 mm/filemap.c                                       |    9 +
 mm/internal.h                                      |    4 +
 mm/shmem.c                                         |   42 +-
 mm/workingset.c                                    |    1 +
 scripts/kernel-doc                                 |    2 +-
 186 files changed, 13274 insertions(+), 3585 deletions(-)
 delete mode 100644 fs/xfs/kmem.c
 delete mode 100644 fs/xfs/kmem.h
 create mode 100644 fs/xfs/libxfs/xfs_btree_mem.c
 create mode 100644 fs/xfs/libxfs/xfs_btree_mem.h
 create mode 100644 fs/xfs/libxfs/xfs_symlink_remote.h
 delete mode 100644 fs/xfs/mrlock.h
 create mode 100644 fs/xfs/scrub/fscounters.h
 create mode 100644 fs/xfs/scrub/fscounters_repair.c
 create mode 100644 fs/xfs/scrub/iscan.c
 create mode 100644 fs/xfs/scrub/iscan.h
 create mode 100644 fs/xfs/scrub/nlinks.c
 create mode 100644 fs/xfs/scrub/nlinks.h
 create mode 100644 fs/xfs/scrub/nlinks_repair.c
 create mode 100644 fs/xfs/scrub/quotacheck.c
 create mode 100644 fs/xfs/scrub/quotacheck.h
 create mode 100644 fs/xfs/scrub/quotacheck_repair.c
 create mode 100644 fs/xfs/scrub/rcbag.c
 create mode 100644 fs/xfs/scrub/rcbag.h
 create mode 100644 fs/xfs/scrub/rcbag_btree.c
 create mode 100644 fs/xfs/scrub/rcbag_btree.h
 create mode 100644 fs/xfs/scrub/rmap_repair.c
 create mode 100644 fs/xfs/xfs_buf_mem.c
 create mode 100644 fs/xfs/xfs_buf_mem.h
 create mode 100644 fs/xfs/xfs_hooks.c
 create mode 100644 fs/xfs/xfs_hooks.h




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

  Powered by Linux