svn commit: r246394 - vendor-sys/illumos/dist/uts/common/fs/zfs
Martin Matuska
mm at FreeBSD.org
Wed Feb 6 08:29:01 UTC 2013
Author: mm
Date: Wed Feb 6 08:29:00 2013
New Revision: 246394
URL: http://svnweb.freebsd.org/changeset/base/246394
Log:
Update vendor-sys/illumos/dist to illumos-gate version 13945:7a9c1d41dfbe
Illumos ZFS issues:
3507 Tunable to allow block allocation even on degraded vdevs
Modified:
vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c
Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c Wed Feb 6 08:26:55 2013 (r246393)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c Wed Feb 6 08:29:00 2013 (r246394)
@@ -21,6 +21,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
*/
#include <sys/zfs_context.h>
@@ -91,6 +92,11 @@ int metaslab_prefetch_limit = SPA_DVAS_P
int metaslab_smo_bonus_pct = 150;
/*
+ * Should we be willing to write data to degraded vdevs?
+ */
+boolean_t zfs_write_to_degraded = B_FALSE;
+
+/*
* ==========================================================================
* Metaslab classes
* ==========================================================================
@@ -1377,10 +1383,13 @@ top:
/*
* Avoid writing single-copy data to a failing vdev
+ * unless the user instructs us that it is okay.
*/
if ((vd->vdev_stat.vs_write_errors > 0 ||
vd->vdev_state < VDEV_STATE_HEALTHY) &&
- d == 0 && dshift == 3) {
+ d == 0 && dshift == 3 &&
+ !(zfs_write_to_degraded && vd->vdev_state ==
+ VDEV_STATE_DEGRADED)) {
all_zero = B_FALSE;
goto next;
}
More information about the svn-src-vendor
mailing list