mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-18 11:17:07 +00:00
dbfbf3bdf6
Use the rmapbt to find inode chunks, query the chunks to compute hole and free masks, and with that information rebuild the inobt and finobt. Refer to the case study in Documentation/filesystems/xfs-online-fsck-design.rst for more details. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
193 lines
4.3 KiB
Makefile
193 lines
4.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Copyright (c) 2000-2005 Silicon Graphics, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
|
|
ccflags-y += -I $(srctree)/$(src) # needed for trace events
|
|
ccflags-y += -I $(srctree)/$(src)/libxfs
|
|
|
|
obj-$(CONFIG_XFS_FS) += xfs.o
|
|
|
|
# this one should be compiled first, as the tracing macros can easily blow up
|
|
xfs-y += xfs_trace.o
|
|
|
|
# build the libxfs code first
|
|
xfs-y += $(addprefix libxfs/, \
|
|
xfs_ag.o \
|
|
xfs_alloc.o \
|
|
xfs_alloc_btree.o \
|
|
xfs_attr.o \
|
|
xfs_attr_leaf.o \
|
|
xfs_attr_remote.o \
|
|
xfs_bit.o \
|
|
xfs_bmap.o \
|
|
xfs_bmap_btree.o \
|
|
xfs_btree.o \
|
|
xfs_btree_staging.o \
|
|
xfs_da_btree.o \
|
|
xfs_defer.o \
|
|
xfs_dir2.o \
|
|
xfs_dir2_block.o \
|
|
xfs_dir2_data.o \
|
|
xfs_dir2_leaf.o \
|
|
xfs_dir2_node.o \
|
|
xfs_dir2_sf.o \
|
|
xfs_dquot_buf.o \
|
|
xfs_ialloc.o \
|
|
xfs_ialloc_btree.o \
|
|
xfs_iext_tree.o \
|
|
xfs_inode_fork.o \
|
|
xfs_inode_buf.o \
|
|
xfs_log_rlimit.o \
|
|
xfs_ag_resv.o \
|
|
xfs_rmap.o \
|
|
xfs_rmap_btree.o \
|
|
xfs_refcount.o \
|
|
xfs_refcount_btree.o \
|
|
xfs_sb.o \
|
|
xfs_symlink_remote.o \
|
|
xfs_trans_inode.o \
|
|
xfs_trans_resv.o \
|
|
xfs_types.o \
|
|
)
|
|
# xfs_rtbitmap is shared with libxfs
|
|
xfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \
|
|
xfs_rtbitmap.o \
|
|
)
|
|
|
|
# highlevel code
|
|
xfs-y += xfs_aops.o \
|
|
xfs_attr_inactive.o \
|
|
xfs_attr_list.o \
|
|
xfs_bmap_util.o \
|
|
xfs_bio_io.o \
|
|
xfs_buf.o \
|
|
xfs_dahash_test.o \
|
|
xfs_dir2_readdir.o \
|
|
xfs_discard.o \
|
|
xfs_error.o \
|
|
xfs_export.o \
|
|
xfs_extent_busy.o \
|
|
xfs_file.o \
|
|
xfs_filestream.o \
|
|
xfs_fsmap.o \
|
|
xfs_fsops.o \
|
|
xfs_globals.o \
|
|
xfs_health.o \
|
|
xfs_icache.o \
|
|
xfs_ioctl.o \
|
|
xfs_iomap.o \
|
|
xfs_iops.o \
|
|
xfs_inode.o \
|
|
xfs_itable.o \
|
|
xfs_iwalk.o \
|
|
xfs_message.o \
|
|
xfs_mount.o \
|
|
xfs_mru_cache.o \
|
|
xfs_pwork.o \
|
|
xfs_reflink.o \
|
|
xfs_stats.o \
|
|
xfs_super.o \
|
|
xfs_symlink.o \
|
|
xfs_sysfs.o \
|
|
xfs_trans.o \
|
|
xfs_xattr.o \
|
|
kmem.o
|
|
|
|
# low-level transaction/log code
|
|
xfs-y += xfs_log.o \
|
|
xfs_log_cil.o \
|
|
xfs_bmap_item.o \
|
|
xfs_buf_item.o \
|
|
xfs_buf_item_recover.o \
|
|
xfs_dquot_item_recover.o \
|
|
xfs_extfree_item.o \
|
|
xfs_attr_item.o \
|
|
xfs_icreate_item.o \
|
|
xfs_inode_item.o \
|
|
xfs_inode_item_recover.o \
|
|
xfs_iunlink_item.o \
|
|
xfs_refcount_item.o \
|
|
xfs_rmap_item.o \
|
|
xfs_log_recover.o \
|
|
xfs_trans_ail.o \
|
|
xfs_trans_buf.o
|
|
|
|
# optional features
|
|
xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \
|
|
xfs_dquot_item.o \
|
|
xfs_trans_dquot.o \
|
|
xfs_qm_syscalls.o \
|
|
xfs_qm_bhv.o \
|
|
xfs_qm.o \
|
|
xfs_quotaops.o
|
|
|
|
# xfs_rtbitmap is shared with libxfs
|
|
xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o
|
|
|
|
xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o
|
|
xfs-$(CONFIG_SYSCTL) += xfs_sysctl.o
|
|
xfs-$(CONFIG_COMPAT) += xfs_ioctl32.o
|
|
xfs-$(CONFIG_EXPORTFS_BLOCK_OPS) += xfs_pnfs.o
|
|
|
|
# notify failure
|
|
ifeq ($(CONFIG_MEMORY_FAILURE),y)
|
|
xfs-$(CONFIG_FS_DAX) += xfs_notify_failure.o
|
|
endif
|
|
|
|
xfs-$(CONFIG_XFS_DRAIN_INTENTS) += xfs_drain.o
|
|
|
|
# online scrub/repair
|
|
ifeq ($(CONFIG_XFS_ONLINE_SCRUB),y)
|
|
|
|
# Tracepoints like to blow up, so build that before everything else
|
|
|
|
xfs-y += $(addprefix scrub/, \
|
|
trace.o \
|
|
agb_bitmap.o \
|
|
agheader.o \
|
|
alloc.o \
|
|
attr.o \
|
|
bitmap.o \
|
|
bmap.o \
|
|
btree.o \
|
|
common.o \
|
|
dabtree.o \
|
|
dir.o \
|
|
fscounters.o \
|
|
health.o \
|
|
ialloc.o \
|
|
inode.o \
|
|
parent.o \
|
|
readdir.o \
|
|
refcount.o \
|
|
rmap.o \
|
|
scrub.o \
|
|
symlink.o \
|
|
xfarray.o \
|
|
xfile.o \
|
|
)
|
|
|
|
xfs-$(CONFIG_XFS_ONLINE_SCRUB_STATS) += scrub/stats.o
|
|
|
|
xfs-$(CONFIG_XFS_RT) += $(addprefix scrub/, \
|
|
rtbitmap.o \
|
|
rtsummary.o \
|
|
)
|
|
|
|
xfs-$(CONFIG_XFS_QUOTA) += scrub/quota.o
|
|
|
|
# online repair
|
|
ifeq ($(CONFIG_XFS_ONLINE_REPAIR),y)
|
|
xfs-y += $(addprefix scrub/, \
|
|
agheader_repair.o \
|
|
alloc_repair.o \
|
|
ialloc_repair.o \
|
|
newbt.o \
|
|
reap.o \
|
|
repair.o \
|
|
)
|
|
endif
|
|
endif
|