rasdump and monitor updates, made rasdump work, improved bus abstraction#973
rasdump and monitor updates, made rasdump work, improved bus abstraction#973
Conversation
This reverts commit 91bfb65.
|
@rdmark In case @akuker agrees to proceed as I suggested it may be useful if the web UI supports creating drive images of real devices by calling the rasdump tool. As rasdump cannot use the bus at the same time rascsi does, rascsi would have to be told to relinquish bus control (remote interface). Even better: rasdump should be integrated into rascsi. If rascsi receives a command that requires to switch from target to initiator mode, it can just do that, and later switch back. All in all that is a major effort, but definitely less than adding a protobuf interface to rasdump and figuring out how to avoid conflicts between rascsi and rasdump, and starting/stopping either the one or the other. rascsi also knows the image folder, i.e. it knows where dumped images should be stored. |
|
SonarCloud Quality Gate failed. |
|
@uweseimet When you say rascsi would have to relinquish bus control, would that mean that the process has to be terminated and then started up again after rasdump is finished? Or do you have some other mechanism in mind, in case we don't go down the road of integrating rasdump into rascsi? The one argument I could think of not to integrate rasdump into rascsi would be the Unix philosophy or small, modular programs that work in unison. Rascsi already has a huge amount of functionality built into it and is quite a memory intensive program. This is just my 2 cents however. Regardless, having a user friendly front end for dumping physical hard disk images and immediately making them available to the user as image files sounds like a very powerful and handy feature, indeed. I would be up for trying to make that work in the Web Interface. |
|
@rdmark Regarding relinquishing bus control: If there are two different processes only one can use the bus, the other has to relinquish it. But instead of adding new tickets with features like that it might be better to first clean up/resolve the existing ones. Or to reject them, because they are not realistic. There are roughly these categories of existing backend tickets:
Just my two cents. |
@uweseimet - in my opinion, I don't think we need to easily switch back and forth between
This scares me. I would have no objection to updating the web interface to be able to control rasdump. But IMHO, it should stop RASCSI, then run rasdump. Maybe a completely different Creating a wiki page with detailed instructions, screenshots and troubleshooting tips would accomplish about the same goal (IMHO). |
|
@akuker The problem with the cables is a very good point, which I did not think of yet ;-). Let's just forget the whole thing. From a software perspective this would have been interesting, but it causes too many practical issues. |









@akuker This PR makes rasdump work, based on the old bus code. I added a gpiobus factory like yours, which currently only returns a Raspberry Pi bus, and additionally initializes it so that the clients do not have to do this.
Re-adding your changes for the Banana Pi is a matter of 10 minutes. Essentially you just have to replace the files in the hal folder by the new code, and you have to ensure that the factory initializes the bus, i.e. calls bus->Init() and bus->Reset() because the clients don't need to do that mandatory work anymore.
Except for rasdump there are not that many changes, most of the changes are the replaced files in the hal folder.
From that perspective I think it makes sense to temporarily revert your Banana Pi changes. What you get in return is a working and improved rasdump, an better bus abstraction, SonarCloud analysis for rasdump and scsimon, and a lot of cleaned up and de-duplicated code. Sounds like a good deal to me ;-).