On Tue, Dec 06 2016, Artur Paszkiewicz wrote: > Add a function to modify the log by adding or removing an rdev when a > drive fails or is added as a spare. > > Adding a drive to the log is as simple as initializing and adding a new > child log, removing a drive is more complicated because it requires > stopping the child log and freeing all of its resources. In order to do > that, we busy wait for any submitted log bios to complete and then > manually finish and free the io_units. No new log requests will happen > at this point. A new list is added to struct r5l_io_unit to have access > to stripes that have been written to the log but are not completely > processed yet. Busy-wait for IO to finish? Seriously? At the very very least you need to cond_resched() in there, but an actual wait would be much better. NeilBrown
Attachment:
signature.asc
Description: PGP signature