-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draid rebase [WIP] #8016
Draid rebase [WIP] #8016
Conversation
Signed-off-by: Don Brady <[email protected]>
Included new command options to control ztest testing with dRAID: -K draid|raidz|random -- kind of RAID to test -D <value> -- dRAID data drives per redundancy group -G <value> -- dRAID redundancy group count -S <value> -- dRAID distributed spare drives -R <value> -- RAID parity (raidz or dRAID) The above values are used to generate a dRAID config from the draidcfg command. This also allows for a more comprehensive set of configurations when used with zloop. By default, dRAID will be provisioned 50% of the time in ztest runs. Added dRAID specific section to zloop to exercise dRAID across a wide range of configuration parameters. For example: ztest -VVVV -K draid -D 7 -G 6 -S 1 -m 0 -r 1 -R 1 -v 0 -a 12 -s 384m Updated the zloop ztest time range to be 30 - 120 seconds. Signed-off-by: Don Brady <[email protected]>
Removed libzfs dependency on libzpool The new source relationship is as follows: [include/draid_config.h]<--------+ ^ ^ ^ | | | | (include) | | | | | [zpool] [draidcfg] [ztest] | | | | | | | | [vdev_draid_impl.h] +-+ +-+ | ^ | | (link) | | v v v | [libzfs] [libzpool] [zfs-mod] | | | +-----+ | (object) | | | | v v v [zcommon/draid_config.c] Signed-off-by: Don Brady <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #8016 +/- ##
===========================================
+ Coverage 66.74% 78.08% +11.34%
===========================================
Files 314 383 +69
Lines 97292 116167 +18875
===========================================
+ Hits 64934 90714 +25780
+ Misses 32358 25453 -6905
Continue to review full report at Codecov.
|
So clearly we need some ZTS testing coverage (the codecov %67 score is too low) As for the
|
Hi. Trying out the new rebase. It's a VM on a Intel(R) Xeon(R) CPU X5650. The VM has 16 cores and 16GB memory. I'm using a SCSI Virtio controller, with 28 disks attached - 1 for boot and 27 for a pool. gentoo ~ # zpool replace tank scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1 '%draid1-0-s0' Message from syslogd@gentoo at Fri Oct 12 20:33:45 2018 ... I attached the dmesg output. Let me know what else I need to provide. P.S. I tried this twice, and the same thing happened. The first time, I did not have debug enabled and the zfs paramters suggested set. The second time I did. P.P.S It was a QEMU VM under Libvirt. The OS is Gentoo. Going to try an Ubuntu under ESXi |
@naclosagc Thanks for the report. That looks to be the same failed assertion that ztest is hitting. |
When you tell "I then failed a drive" you mean that you forced Linux to stop seeing the drive, so made it UNAVAIL on purpose, or you're reporting a bug: ZFS seen the drive as failed?. Did you had the ZED Service running?. |
Don,
I failed the drive with zpool. Here is the history, though it didn't
record the zpool replace:
History for 'tank':
2018-10-12.15:37:04 zpool create -f tank draid1 cfg=27.nvl
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-0
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-1
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-0
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-1
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-0
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi4-0-0-0
2018-10-12.16:38:37 zpool import tank
2018-10-12.20:09:37 zpool scrub tank
2018-10-12.20:33:09 zpool offline tank
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1
2018-10-16.08:17:44 zpool import tank
Something interesting happened when I imported the pool to get the
history. My server fans spun up. I checked, and the pool was resilvering
instead of rebuilding and it finished:
gentoo ~ # zpool status
pool: tank
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Tue Oct 16 08:17:44 2018
411G scanned at 6.05G/s, 405G issued at 5.96G/s, 411G total
13.9G resilvered, 98.49% done, 0 days 00:00:01 to go
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
draid1-0 DEGRADED 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-0 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-1 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-0 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-1 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-0 ONLINE 0 0
0 (resilvering)
spare-20 DEGRADED 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1 OFFLINE 0 0 0
%draid1-0-s0 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi4-0-0-0 ONLINE 0 0
0 (resilvering)
spares
%draid1-0-s0 INUSE currently in use
%draid1-0-s1 AVAIL
errors: No known data errors
So, the pool is functioning at the moment.
…On Tue, Oct 16, 2018 at 3:36 AM Carles Mateo ***@***.***> wrote:
Created the pool with 27 drives, parity 1, 2 spares, 4 drive data. I was
continuously copying data to it for a couple of hours, and it was acting
better than the last one did. The last one would get checksum errors in
less than an hour. I stopped the copy with the pool fairly full, and did a
scrub. The scrub finished fine. I then failed a drive, and did a replace.
The replace failed after just a few minutes with:
When you tell "I then failed a drive" you mean that you forced Linux to
stop seeing the drive, so made it UNAVAIL on purpose, or you're reporting a
bug: ZFS seen the drive as failed.
Can you indicate the exact steps you do to make the drive appear as
failing?.
Can you paste your zpool history?.
Did you had the ZED Service running?.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#8016 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ASWqwATZdaPFiMhe5FksZ4ZFiNHjcV_yks5ulZqMgaJpZM4XYwOb>
.
--
Andy Carlson
---------------------------------------------------------------------------
Gamecube:$150,PSO:$50,Broadband Adapter: $35, Hunters License: $8.95/month,
The feeling of seeing the red box with the item you want in it:Priceless.
|
Sorry, Carles, not Don,
zpool replace scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1 '%draid1-0-s0' -o
ashift=9
…On Tue, Oct 16, 2018 at 8:24 AM Andrew Carlson ***@***.***> wrote:
Don,
I failed the drive with zpool. Here is the history, though it didn't
record the zpool replace:
History for 'tank':
2018-10-12.15:37:04 zpool create -f tank draid1 cfg=27.nvl
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-0
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-1
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-0
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-1
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-0
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-2
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-3
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-4
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-5
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-6
/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi4-0-0-0
2018-10-12.16:38:37 zpool import tank
2018-10-12.20:09:37 zpool scrub tank
2018-10-12.20:33:09 zpool offline tank
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1
2018-10-16.08:17:44 zpool import tank
Something interesting happened when I imported the pool to get the
history. My server fans spun up. I checked, and the pool was resilvering
instead of rebuilding and it finished:
gentoo ~ # zpool status
pool: tank
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Tue Oct 16 08:17:44 2018
411G scanned at 6.05G/s, 405G issued at 5.96G/s, 411G total
13.9G resilvered, 98.49% done, 0 days 00:00:01 to go
config:
NAME STATE READ WRITE
CKSUM
tank DEGRADED 0 0
0
draid1-0 DEGRADED 0 0
0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-0 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-1 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-0 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-1 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-0 ONLINE 0 0
0 (resilvering)
spare-20 DEGRADED 0 0
0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-1 OFFLINE 0 0
0
%draid1-0-s0 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-2 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-3 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-4 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-5 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3-0-0-6 ONLINE 0 0
0 (resilvering)
scsi-0QEMU_QEMU_HARDDISK_drive-scsi4-0-0-0 ONLINE 0 0
0 (resilvering)
spares
%draid1-0-s0 INUSE currently in
use
%draid1-0-s1 AVAIL
errors: No known data errors
So, the pool is functioning at the moment.
On Tue, Oct 16, 2018 at 3:36 AM Carles Mateo ***@***.***>
wrote:
> Created the pool with 27 drives, parity 1, 2 spares, 4 drive data. I was
> continuously copying data to it for a couple of hours, and it was acting
> better than the last one did. The last one would get checksum errors in
> less than an hour. I stopped the copy with the pool fairly full, and did a
> scrub. The scrub finished fine. I then failed a drive, and did a replace.
> The replace failed after just a few minutes with:
>
> When you tell "I then failed a drive" you mean that you forced Linux to
> stop seeing the drive, so made it UNAVAIL on purpose, or you're reporting a
> bug: ZFS seen the drive as failed.
> Can you indicate the exact steps you do to make the drive appear as
> failing?.
> Can you paste your zpool history?.
>
> Did you had the ZED Service running?.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#8016 (comment)>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ASWqwATZdaPFiMhe5FksZ4ZFiNHjcV_yks5ulZqMgaJpZM4XYwOb>
> .
>
--
Andy Carlson
---------------------------------------------------------------------------
Gamecube:$150,PSO:$50,Broadband Adapter: $35, Hunters License: $8.95/month,
The feeling of seeing the red box with the item you want in it:Priceless.
--
Andy Carlson
---------------------------------------------------------------------------
Gamecube:$150,PSO:$50,Broadband Adapter: $35, Hunters License: $8.95/month,
The feeling of seeing the red box with the item you want in it:Priceless.
|
Trying out the rebase as well, the EXPANDSZ parameter is wrong on a test pool: root@gaia:~# zpool status gaia
errors: No known data errors |
Hi, I did a test on the draidcfg, with the rebase, with a very rare case: 3data+1parity+1spare, it gives the base permutations as below:
dRAID1 vdev of 5 child drives: 1 x (3 data + 1 parity) and 1 distributed spare 3, 0, 2, 1, 4, There are 5 rows that are identical, such as "3, 0, 2, 1, 4". It seems it is not as randomly as expected? Also, I am wondering that whether draid can support the case of "(n - s) % (p + d) /= 0". For example, n=10, d=4, p=2, s=1? Basically the random permutation can also work well with this case. |
The row combinations can be repeated, but the goal is to get a random spread The answer to the second question is no, not today. What would be a good use case |
Thanks for your reply, Richard. For the case of 3data+1parity+1spare, the 32 base permutations X 5 times permutation=160 combinations, which is > 120, the total combinations of 5 disks. Since there are 5 base permutations repeated, that is 32-5=27 X 5= 135 combinations(>120). Some of them should be repeated, the chance that it still distribute the data evenly is good. Just want to be sure that when use more disks, like 20, 40, 80, etc., if there's any repeated base permutations, the expected even distribution may be affected badly(much more combinations >permutations). One easy way may be just remove the identical base permutation, and generate a new/different one to replace it. For my second question: In this case, with the 32/64/128/base permutations, it will eventually use all disks, just like regular random distribution of data? Thanks |
I'm not sure I follow your math. There are n! combinations, so for n=5 there are 120 combinations. In general, the way this works is the offset % base_permutation picks the row. Parity, data, and spares are the columns. So for any offset there is a direct map to the disks and their role (parity, data, spare). This just needs to be random enough to spread the workload across all of the disks. By contrast, RAID-5 typically rotates the parity through the smaller number of combinations, n. This likely doesn't make much difference for small values of n. We use n=56, base_permutations=64, combinations=7.1e74 for small products and larger n for others, so we want a random choice. If it helps, we could prevent duplicates if n! >= base_permutations. But I'm not sure how to quantify the impact. |
Is there any chance @thegreatgazoo is able or willing to continue some work on this any time soon? It seems a bit odd that he is still listed as a ZoL Organisation member, but seems totally inactive and unrespsonive... |
@kpande The usual stuff basically... That being said: It would've been nice from intel (as a sponsor) to send a new dude if their dude leaves or at least make sure he posts about leaving. Shame though, because this is very much in the interest of Intel. Because lets be real: thats is why they started pushing this and Allocation classes in the first place. |
Superseded by #9558 |
Motivation and Context
This is a WIP rebase of draid from @thegreatgazoo PR-7078 to allow continued community development using a branch based on most recent master.
Description
Rebasing Notes:
Conditionally disabled dRAID mirrored metaslabs (was causing failed assertions)
Exclude dRAID pools from device removal operations.
Added
dRAID
specific testing toztest
andzloop
that will exercisedRAID
configurations across a range of settings (seezloop.sh
for details)Removed the linking of
libzpool
intolibzfs
(moved common dRAID config code into zcommon/draid_config.c)How Has This Been Tested?
Used new
zloop
&ztest
to verify draid code baseSome manual testing of draid configs
Types of changes
Checklist:
Signed-off-by
.