mirror_zfs/module/zfs
Olaf Faaland ca95f70dff zpool import progress kstat
When an import requires a long MMP activity check, or when the user
requests pool recovery, the import make take a long time.  The user may
not know why, or be able to tell whether the import is progressing or is
hung.

Add a kstat which lists all imports currently being processed by the
kernel (currently only one at a time is possible, but the kstat allows
for more than one).  The kstat is /proc/spl/kstat/zfs/import_progress.

The kstat contents are as follows:
pool_guid         load_state multihost_secs  max_txg pool_name
16667015954387398 3          15              0       tank3

load_state: the value of spa_load_state
multihost_secs:  seconds until the end of the multihost activity
                 check; if over, or none required, this is 0
max_txg: current spa_load_max_txg, if rewind is occurring

This could be used by outside tools, such as a pacemaker resource agent,
to report import progress, or as a part of manual troubleshooting.  The
zpool import subcommand could also be modified to report this
information.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Closes #8696
2019-05-09 10:08:05 -07:00
..
abd.c
aggsum.c
arc.c
blkptr.c
bplist.c
bpobj.c
bptree.c
bqueue.c
cityhash.c
dataset_kstats.c
dbuf_stats.c
dbuf.c
ddt_zap.c
ddt.c
dmu_diff.c
dmu_object.c
dmu_objset.c
dmu_recv.c
dmu_send.c
dmu_traverse.c
dmu_tx.c
dmu_zfetch.c
dmu.c
dnode_sync.c
dnode.c
dsl_bookmark.c
dsl_crypt.c
dsl_dataset.c
dsl_deadlist.c
dsl_deleg.c
dsl_destroy.c
dsl_dir.c
dsl_pool.c
dsl_prop.c
dsl_scan.c
dsl_synctask.c
dsl_userhold.c
edonr_zfs.c
fm.c
gzip.c
hkdf.c
lz4.c
lzjb.c
Makefile.in
metaslab.c
mmp.c
multilist.c
pathname.c
policy.c
qat_compress.c
qat_crypt.c
qat.c
qat.h
range_tree.c
refcount.c
rrwlock.c
sa.c
sha256.c
skein_zfs.c
spa_boot.c
spa_checkpoint.c
spa_config.c
spa_errlog.c
spa_history.c
spa_misc.c zpool import progress kstat 2019-05-09 10:08:05 -07:00
spa_stats.c
spa.c zpool import progress kstat 2019-05-09 10:08:05 -07:00
space_map.c
space_reftree.c
THIRDPARTYLICENSE.cityhash
THIRDPARTYLICENSE.cityhash.descrip
trace.c
txg.c
uberblock.c
unique.c
vdev_cache.c
vdev_disk.c
vdev_file.c
vdev_indirect_births.c
vdev_indirect_mapping.c
vdev_indirect.c
vdev_initialize.c
vdev_label.c
vdev_mirror.c
vdev_missing.c
vdev_queue.c
vdev_raidz_math_aarch64_neon_common.h
vdev_raidz_math_aarch64_neon.c
vdev_raidz_math_aarch64_neonx2.c
vdev_raidz_math_avx2.c
vdev_raidz_math_avx512bw.c
vdev_raidz_math_avx512f.c
vdev_raidz_math_impl.h
vdev_raidz_math_scalar.c
vdev_raidz_math_sse2.c
vdev_raidz_math_ssse3.c
vdev_raidz_math.c
vdev_raidz.c
vdev_removal.c
vdev_root.c
vdev_trim.c
vdev.c
zap_leaf.c
zap_micro.c
zap.c
zcp_get.c
zcp_global.c
zcp_iter.c
zcp_synctask.c
zcp.c
zfeature.c
zfs_acl.c
zfs_byteswap.c
zfs_ctldir.c
zfs_debug.c
zfs_dir.c
zfs_fm.c
zfs_fuid.c
zfs_ioctl.c
zfs_log.c
zfs_onexit.c
zfs_ratelimit.c
zfs_replay.c
zfs_rlock.c
zfs_sa.c
zfs_sysfs.c
zfs_vfsops.c Add missing trailing '\n' in printk() messages 2019-05-08 16:43:55 -07:00
zfs_vnops.c Fix link count of root inode when snapdir is visible 2019-05-08 16:40:51 -07:00
zfs_znode.c
zil.c
zio_checksum.c
zio_compress.c
zio_crypt.c
zio_inject.c
zio.c
zle.c
zpl_ctldir.c
zpl_export.c
zpl_file.c
zpl_inode.c
zpl_super.c
zpl_xattr.c
zrlock.c
zthr.c
zvol.c