metaslab.c (224177) | metaslab.c (230514) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 6 unchanged lines hidden (view full) --- 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 6 unchanged lines hidden (view full) --- 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. |
23 * Copyright (c) 2011 by Delphix. All rights reserved. | 23 * Copyright (c) 2012 by Delphix. All rights reserved. |
24 */ 25 26#include <sys/zfs_context.h> 27#include <sys/dmu.h> 28#include <sys/dmu_tx.h> 29#include <sys/space_map.h> 30#include <sys/metaslab_impl.h> 31#include <sys/vdev_impl.h> 32#include <sys/zio.h> 33 34/* 35 * Allow allocations to switch to gang blocks quickly. We do this to 36 * avoid having to load lots of space_maps in a given txg. There are, 37 * however, some cases where we want to avoid "fast" ganging and instead 38 * we want to do an exhaustive search of all metaslabs on this device. | 24 */ 25 26#include <sys/zfs_context.h> 27#include <sys/dmu.h> 28#include <sys/dmu_tx.h> 29#include <sys/space_map.h> 30#include <sys/metaslab_impl.h> 31#include <sys/vdev_impl.h> 32#include <sys/zio.h> 33 34/* 35 * Allow allocations to switch to gang blocks quickly. We do this to 36 * avoid having to load lots of space_maps in a given txg. There are, 37 * however, some cases where we want to avoid "fast" ganging and instead 38 * we want to do an exhaustive search of all metaslabs on this device. |
39 * Currently we don't allow any gang or dump device related allocations | 39 * Currently we don't allow any gang, zil, or dump device related allocations |
40 * to "fast" gang. 41 */ 42#define CAN_FASTGANG(flags) \ 43 (!((flags) & (METASLAB_GANG_CHILD | METASLAB_GANG_HEADER | \ 44 METASLAB_GANG_AVOID))) 45 46uint64_t metaslab_aliquot = 512ULL << 10; 47uint64_t metaslab_gang_bang = SPA_MAXBLOCKSIZE + 1; /* force gang blocks */ --- 1614 unchanged lines hidden --- | 40 * to "fast" gang. 41 */ 42#define CAN_FASTGANG(flags) \ 43 (!((flags) & (METASLAB_GANG_CHILD | METASLAB_GANG_HEADER | \ 44 METASLAB_GANG_AVOID))) 45 46uint64_t metaslab_aliquot = 512ULL << 10; 47uint64_t metaslab_gang_bang = SPA_MAXBLOCKSIZE + 1; /* force gang blocks */ --- 1614 unchanged lines hidden --- |