Re: [GIT PULL] xfs: new code for 6.9

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

 



On Wed, Mar 13, 2024 at 11:21:46AM +0530, Chandan Babu R wrote:
> 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