Am 07.12.2017 um 12:56 hat Kashyap Chamarthy geschrieben: > On Tue, Nov 21, 2017 at 07:10:19PM -0500, John Snow wrote: > > On 11/21/2017 12:23 PM, Kevin Wolf wrote: > > [...] # Snip lot of good discussion. > > > > On another note, I would double check before adding a new block job type > > > that this is the right way to go. We have recently noticed that many, if > > > not all, of the existing block jobs (at least mirror, commit and backup) > > > are so similar that they implement the same things multiple times and > > > are just lacking different options and have different bugs. I'm > > > seriously considering merging all of them into a single job type > > > internally that just provides options that effectively turn it into one > > > of the existing job types. > > > > > > > I'm not particularly opposed. At the very, very least "backup" and > > "mirror" are pretty much the same thing and "stream" and "commit" are > > basically the same. > > > > Forcing the backuppy-job and the consolidatey-job together seems like an > > ever-so-slightly harder case to make, but I suppose the truth of the > > matter in all cases is that we're copying data from one node to another... > > So from the above interesting discussion, it seems like Kevin is leaning > towards a single job type that offers 'stream', 'commit', 'backup', and > 'mirror' functionality as part of a single command / job type. Based on > an instinct, this sounds a bit too stuffy and complex to me. > > And John seems to be leaning towards two block device job types: > > - 'blockdev-foo' that offers both current 'stream' and 'commit' > functionality as two different options to the same QMP command; and > > - 'blockdev-bar' will offer both 'mirror' and 'backup' functionality > as part of the same QMP command > > FWIW, this seems a bit more palatable, as it is unifying > similar-functionality-that-differ-slightly into two distinct commands. > > (/me is still wrapping his head around the bitmaps and incremental > backups infrastructure.)
Commit of the active layer is _already_ a mirror job internally (and not a stream job). It's pretty clear to me that commit and mirror are almost the same, backup is pretty similar. Stream is somewhat different and might make more sense as a separate job type. Kevin