diff options
author | Martin Matuska <mm@FreeBSD.org> | 2011-07-18 08:29:49 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2011-07-18 08:29:49 +0000 |
commit | 1bc399c4b167d3475a10e6cb321acc1663048e51 (patch) | |
tree | e82006ca212476e2a1fa75a95c28ae56cf01202f /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h | |
parent | 6d489ccd328d7459a252de5b5bd4df02be98586e (diff) | |
download | src-1bc399c4b167d3475a10e6cb321acc1663048e51.tar.gz src-1bc399c4b167d3475a10e6cb321acc1663048e51.zip |
ZFS tries to allocate blocks evenly across all devices. This means when
devices are imbalanced zfs will lots of CPU searching for space on devices
which tend to be pretty full. It should instead fail quickly on the full
devices and move onto devices which have more availability.
New loader tunable: vfs.zfs.mg_alloc_failures (min = 8)
Illumos-gate changeset: 13379:4df42cc92254
Obtained from: Illumos (Bug #1051)
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=224177
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h index 583d6303bd5a..2cf4d2b489bd 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ #ifndef _SYS_METASLAB_H @@ -47,6 +48,8 @@ extern void metaslab_sync_reassess(metaslab_group_t *mg); #define METASLAB_HINTBP_FAVOR 0x0 #define METASLAB_HINTBP_AVOID 0x1 #define METASLAB_GANG_HEADER 0x2 +#define METASLAB_GANG_CHILD 0x4 +#define METASLAB_GANG_AVOID 0x8 extern int metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp, int ncopies, uint64_t txg, blkptr_t *hintbp, int flags); |