You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1949: SPDK DiskError and Hot-removal patches r=tiagolobocastro a=tiagolobocastro
test: add lvs hot-removal
The bdev aio and uring modules now hot-remove the bdev when they
detect the backing device is hot-removed.
This happens when they complete an io with -ENODEV, -EIO or positive error.
Add a test which leverages ublk to achieve this by removing the ublk device.
---
feat(ublk): add ublksrv nix package
---
test: add disk errors test
Makes uses of an LVM lvol allowing us to set it up to yield errors
without detaching the device.
We "import" the gRPC pool types, allowing us to test we're returning
the correct states, alerts and errors.
---
fix(lvm): cleanup stable dm entries when creating a vg
---
test: don't panic twice on environment drop
Also improve some testing asserts to output more information.
---
build: pulls latest spdk-rs to include hotremoval fixes
---
feat(lvm): add device-mapper utilities
Adds methods for suspending, resuming, retrieving the table and
updating the table.
This can be useful for testing for example.
---
feat(lvm): support commands with inputs
---
fix(lvm): close fd above stderr
On invocation, lvm requires that only the standard file descriptors stdin,
stdout and stderr are available. If others are found, they get closed
and messages are issued warning about the leak.
Previously we were silencing the errors only, now we close the range from
3 to 1024.
todo: pick higher range?
---
refactor: implement default for cli args
Makes it less awkward to use.
Also we should consider modifying the MayastorEnvironment.
---
refactor: expose lvm vg create lvol
This will allow us to use concrete types for testing.
As a bonus we also avoid looking up the VG twice.
Though something seems slightly off, there's some indirection
back and forth from vg to lv.
---
fix(lvm): handle lvol already exists error
If already exists, then validates the parameters.
---
feat: allow running the lvm code outside of spdk context
Adds a no_spdk variable to the PoolArgs, which is only usable
for the LVM backend currently, though could extend to ZFS ex.
As a simplistic impl for now we won't attach the mayastor tag
in this case. Probably not ideal, but for now should be ok.
Also the lvm commands were being trampolined to the spdk reactor.
This is easily removed by simply checking if we're in and spdk
thread, and if not then no need to trampoline anyway so this
was an easy win.
Co-authored-by: Tiago Castro <tiagolobocastro@gmail.com>
0 commit comments