Am 06.04.2016 um 11:45 hat Alberto Garcia geschrieben:
> On Mon 04 Apr 2016 05:26:02 PM CEST, Kevin Wolf wrote:
> > The problem exists whenever a BDS has more users than just its BB, for
> > example it is used as a backing file for another node.
> 
> The code seems correct, but I don't understand this use case.

Let me draw some ASCII art. I'm drawing I/O throttling like a filter to
make the difference clear; in reality it's part of the BDS now or of the
BB in 2.7, so don't let this confuse you.

Let's assume these command line options:

-drive file=backimg.img,if=none,id=backing,iops=1024
-drive file=overlay.qcow2,id=overlay,backing=backing

If we didn't catch this configuration and error out, this is what we
would end up with in 2.6:

    [BB] overlay
         |
         |
    [BDS] qcow2         [BB] backing
         |                    |
         +--------------------+
         .                    |
         .             I/O throttling
         .                    |
                        [BDS] raw
                              .
                              .
                              .

After moving I/O throttling to the BDS level in 2.7, the resulting
configuration would look different:

    [BB] overlay
         |
         |
    [BDS] qcow2         [BB] backing
         |                    |
         |                    |
         |             I/O throttling
         |                    |
         +--------------------+
         .              [BDS] raw
         .                    .
         .                    .
                              .

As you can see, requests coming from the overlay image wouldn't be
throttled any more. If we allowed this set of options now, we would have
an API breakage in 2.7, which we don't want. That's why I want to
disable it for the 2.6 release.

Kevin

Reply via email to