Message ID | 1486123043-26493-3-git-send-email-pradeep.jagadeesh@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri 03 Feb 2017 12:57:23 PM CET, Pradeep Jagadeesh wrote: > This patch removes the redundant throttle code that was present in > block and fsdev device files. Now the common code is moved > to a single file. > > Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> Reviewed-by: Alberto Garcia <berto@igalia.com> > https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html This line doesn't belong in the commit message. Berto
On 2/3/2017 1:22 PM, Alberto Garcia wrote: > On Fri 03 Feb 2017 12:57:23 PM CET, Pradeep Jagadeesh wrote: >> This patch removes the redundant throttle code that was present in >> block and fsdev device files. Now the common code is moved >> to a single file. >> >> Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> > > Reviewed-by: Alberto Garcia <berto@igalia.com> > >> https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html > > This line doesn't belong in the commit message. > There is one false positive error in the second patch. So Greg asked me to put this line after SoB. Just to say that I had a positive review comment. Regards. Pradeep > Berto >
On Fri 03 Feb 2017 01:27:25 PM CET, Pradeep Jagadeesh wrote: >>> Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> >> >> Reviewed-by: Alberto Garcia <berto@igalia.com> >> >>> https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html >> >> This line doesn't belong in the commit message. > > There is one false positive error in the second patch. So Greg asked > me to put this line after SoB. Just to say that I had a positive > review comment. The false positive is not related to what Greg said :-) What you have to put is not that URL but the Reviewed-by: line with Stefan's name and e-mail. Berto
On 2/3/2017 1:44 PM, Alberto Garcia wrote: > On Fri 03 Feb 2017 01:27:25 PM CET, Pradeep Jagadeesh wrote: > >>>> Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> >>> >>> Reviewed-by: Alberto Garcia <berto@igalia.com> >>> >>>> https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html >>> >>> This line doesn't belong in the commit message. >> >> There is one false positive error in the second patch. So Greg asked >> me to put this line after SoB. Just to say that I had a positive >> review comment. > > The false positive is not related to what Greg said :-) What you have to > put is not that URL but the Reviewed-by: line with Stefan's name and > e-mail. Haha OK. I will change it and send new patch set again. -Pradeep > > Berto >
On Fri 03 Feb 2017 01:46:31 PM CET, Pradeep Jagadeesh wrote: >> The false positive is not related to what Greg said :-) What you have >> to put is not that URL but the Reviewed-by: line with Stefan's name >> and e-mail. > > Haha OK. I will change it and send new patch set again. I don't know if it's necessary now, but if you need to send the patch again you have to keep your Signed-off-by line and my and Stefan's Reviewed-by lines. Berto
On 2/3/2017 1:53 PM, Alberto Garcia wrote: > On Fri 03 Feb 2017 01:46:31 PM CET, Pradeep Jagadeesh wrote: >>> The false positive is not related to what Greg said :-) What you have >>> to put is not that URL but the Reviewed-by: line with Stefan's name >>> and e-mail. >> >> Haha OK. I will change it and send new patch set again. > > I don't know if it's necessary now, but if you need to send the patch > again you have to keep your Signed-off-by line and my and Stefan's > Reviewed-by lines. OK sure!. If it is required, then I will add Reviewed by Line. Regards, Pradeep > > Berto >
On Fri, 3 Feb 2017 06:57:23 -0500 Pradeep Jagadeesh <pradeepkiruvale@gmail.com> wrote: > This patch removes the redundant throttle code that was present in > block and fsdev device files. Now the common code is moved > to a single file. > > Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> > > https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html > --- > blockdev.c | 81 ++---------------------------------- > fsdev/qemu-fsdev-opts.c | 80 ++--------------------------------- > include/qemu/throttle-options.h | 92 +++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 100 insertions(+), 153 deletions(-) > create mode 100644 include/qemu/throttle-options.h > > diff --git a/blockdev.c b/blockdev.c > index 245e1e1..9320c8a 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -52,6 +52,7 @@ > #include "sysemu/arch_init.h" > #include "qemu/cutils.h" > #include "qemu/help_option.h" > +#include "qemu/throttle-options.h" > > static QTAILQ_HEAD(, BlockDriverState) monitor_bdrv_states = > QTAILQ_HEAD_INITIALIZER(monitor_bdrv_states); > @@ -3999,83 +4000,9 @@ QemuOptsList qemu_common_drive_opts = { > .name = BDRV_OPT_READ_ONLY, > .type = QEMU_OPT_BOOL, > .help = "open drive file as read-only", > - },{ > - .name = "throttling.iops-total", > - .type = QEMU_OPT_NUMBER, > - .help = "limit total I/O operations per second", > - },{ > - .name = "throttling.iops-read", > - .type = QEMU_OPT_NUMBER, > - .help = "limit read operations per second", > - },{ > - .name = "throttling.iops-write", > - .type = QEMU_OPT_NUMBER, > - .help = "limit write operations per second", > - },{ > - .name = "throttling.bps-total", > - .type = QEMU_OPT_NUMBER, > - .help = "limit total bytes per second", > - },{ > - .name = "throttling.bps-read", > - .type = QEMU_OPT_NUMBER, > - .help = "limit read bytes per second", > - },{ > - .name = "throttling.bps-write", > - .type = QEMU_OPT_NUMBER, > - .help = "limit write bytes per second", > - },{ > - .name = "throttling.iops-total-max", > - .type = QEMU_OPT_NUMBER, > - .help = "I/O operations burst", > - },{ > - .name = "throttling.iops-read-max", > - .type = QEMU_OPT_NUMBER, > - .help = "I/O operations read burst", > - },{ > - .name = "throttling.iops-write-max", > - .type = QEMU_OPT_NUMBER, > - .help = "I/O operations write burst", > - },{ > - .name = "throttling.bps-total-max", > - .type = QEMU_OPT_NUMBER, > - .help = "total bytes burst", > - },{ > - .name = "throttling.bps-read-max", > - .type = QEMU_OPT_NUMBER, > - .help = "total bytes read burst", > - },{ > - .name = "throttling.bps-write-max", > - .type = QEMU_OPT_NUMBER, > - .help = "total bytes write burst", > - },{ > - .name = "throttling.iops-total-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the iops-total-max burst period, in seconds", > - },{ > - .name = "throttling.iops-read-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the iops-read-max burst period, in seconds", > - },{ > - .name = "throttling.iops-write-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the iops-write-max burst period, in seconds", > - },{ > - .name = "throttling.bps-total-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the bps-total-max burst period, in seconds", > - },{ > - .name = "throttling.bps-read-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the bps-read-max burst period, in seconds", > - },{ > - .name = "throttling.bps-write-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the bps-write-max burst period, in seconds", > - },{ > - .name = "throttling.iops-size", > - .type = QEMU_OPT_NUMBER, > - .help = "when limiting by iops max size of an I/O in bytes", > - },{ > + }, > + THROTTLE_OPTS, > + { Indent nit ^^. Also this could be surrounded by some empty lines as you did in fsdev/qemu-fsdev-opts.c below. I wouldn't ask you to send a v17 for this though and I've updated your patch instead. I've also added Stefan's and Berto's Reviewed-by, and pushed the whole series to my 9p-next tree at: https://github.com/gkurz/qemu/commits/9p-next Cheers. -- Greg > .name = "throttling.group", > .type = QEMU_OPT_STRING, > .help = "name of the block throttling group", > diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c > index 385423f0..bf57130 100644 > --- a/fsdev/qemu-fsdev-opts.c > +++ b/fsdev/qemu-fsdev-opts.c > @@ -9,6 +9,7 @@ > #include "qemu/config-file.h" > #include "qemu/option.h" > #include "qemu/module.h" > +#include "qemu/throttle-options.h" > > static QemuOptsList qemu_fsdev_opts = { > .name = "fsdev", > @@ -37,83 +38,10 @@ static QemuOptsList qemu_fsdev_opts = { > }, { > .name = "sock_fd", > .type = QEMU_OPT_NUMBER, > - }, { > - .name = "throttling.iops-total", > - .type = QEMU_OPT_NUMBER, > - .help = "limit total I/O operations per second", > - }, { > - .name = "throttling.iops-read", > - .type = QEMU_OPT_NUMBER, > - .help = "limit read operations per second", > - }, { > - .name = "throttling.iops-write", > - .type = QEMU_OPT_NUMBER, > - .help = "limit write operations per second", > - }, { > - .name = "throttling.bps-total", > - .type = QEMU_OPT_NUMBER, > - .help = "limit total bytes per second", > - }, { > - .name = "throttling.bps-read", > - .type = QEMU_OPT_NUMBER, > - .help = "limit read bytes per second", > - }, { > - .name = "throttling.bps-write", > - .type = QEMU_OPT_NUMBER, > - .help = "limit write bytes per second", > - }, { > - .name = "throttling.iops-total-max", > - .type = QEMU_OPT_NUMBER, > - .help = "I/O operations burst", > - }, { > - .name = "throttling.iops-read-max", > - .type = QEMU_OPT_NUMBER, > - .help = "I/O operations read burst", > - }, { > - .name = "throttling.iops-write-max", > - .type = QEMU_OPT_NUMBER, > - .help = "I/O operations write burst", > - }, { > - .name = "throttling.bps-total-max", > - .type = QEMU_OPT_NUMBER, > - .help = "total bytes burst", > - }, { > - .name = "throttling.bps-read-max", > - .type = QEMU_OPT_NUMBER, > - .help = "total bytes read burst", > - }, { > - .name = "throttling.bps-write-max", > - .type = QEMU_OPT_NUMBER, > - .help = "total bytes write burst", > - }, { > - .name = "throttling.iops-total-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the iops-total-max burst period, in seconds", > - }, { > - .name = "throttling.iops-read-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the iops-read-max burst period, in seconds", > - }, { > - .name = "throttling.iops-write-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the iops-write-max burst period, in seconds", > - }, { > - .name = "throttling.bps-total-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the bps-total-max burst period, in seconds", > - }, { > - .name = "throttling.bps-read-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the bps-read-max burst period, in seconds", > - }, { > - .name = "throttling.bps-write-max-length", > - .type = QEMU_OPT_NUMBER, > - .help = "length of the bps-write-max burst period, in seconds", > - }, { > - .name = "throttling.iops-size", > - .type = QEMU_OPT_NUMBER, > - .help = "when limiting by iops max size of an I/O in bytes", > }, > + > + THROTTLE_OPTS, > + > { /*End of list */ } > }, > }; > diff --git a/include/qemu/throttle-options.h b/include/qemu/throttle-options.h > new file mode 100644 > index 0000000..3133d1c > --- /dev/null > +++ b/include/qemu/throttle-options.h > @@ -0,0 +1,92 @@ > +/* > + * QEMU throttling command line options > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or > + * (at your option) any later version. > + * > + * See the COPYING file in the top-level directory for details. > + * > + */ > +#ifndef THROTTLE_OPTIONS_H > +#define THROTTLE_OPTIONS_H > + > +#define THROTTLE_OPTS \ > + { \ > + .name = "throttling.iops-total",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "limit total I/O operations per second",\ > + },{ \ > + .name = "throttling.iops-read",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "limit read operations per second",\ > + },{ \ > + .name = "throttling.iops-write",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "limit write operations per second",\ > + },{ \ > + .name = "throttling.bps-total",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "limit total bytes per second",\ > + },{ \ > + .name = "throttling.bps-read",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "limit read bytes per second",\ > + },{ \ > + .name = "throttling.bps-write",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "limit write bytes per second",\ > + },{ \ > + .name = "throttling.iops-total-max",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "I/O operations burst",\ > + },{ \ > + .name = "throttling.iops-read-max",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "I/O operations read burst",\ > + },{ \ > + .name = "throttling.iops-write-max",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "I/O operations write burst",\ > + },{ \ > + .name = "throttling.bps-total-max",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "total bytes burst",\ > + },{ \ > + .name = "throttling.bps-read-max",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "total bytes read burst",\ > + },{ \ > + .name = "throttling.bps-write-max",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "total bytes write burst",\ > + },{ \ > + .name = "throttling.iops-total-max-length",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "length of the iops-total-max burst period, in seconds",\ > + },{ \ > + .name = "throttling.iops-read-max-length",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "length of the iops-read-max burst period, in seconds",\ > + },{ \ > + .name = "throttling.iops-write-max-length",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "length of the iops-write-max burst period, in seconds",\ > + },{ \ > + .name = "throttling.bps-total-max-length",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "length of the bps-total-max burst period, in seconds",\ > + },{ \ > + .name = "throttling.bps-read-max-length",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "length of the bps-read-max burst period, in seconds",\ > + },{ \ > + .name = "throttling.bps-write-max-length",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "length of the bps-write-max burst period, in seconds",\ > + },{ \ > + .name = "throttling.iops-size",\ > + .type = QEMU_OPT_NUMBER,\ > + .help = "when limiting by iops max size of an I/O in bytes",\ > + } > + > +#endif
On 2/6/2017 3:58 PM, Greg Kurz wrote: > On Fri, 3 Feb 2017 06:57:23 -0500 > Pradeep Jagadeesh <pradeepkiruvale@gmail.com> wrote: > >> This patch removes the redundant throttle code that was present in >> block and fsdev device files. Now the common code is moved >> to a single file. >> >> Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> >> >> https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html >> --- >> blockdev.c | 81 ++---------------------------------- >> fsdev/qemu-fsdev-opts.c | 80 ++--------------------------------- >> include/qemu/throttle-options.h | 92 +++++++++++++++++++++++++++++++++++++++++ >> 3 files changed, 100 insertions(+), 153 deletions(-) >> create mode 100644 include/qemu/throttle-options.h >> >> diff --git a/blockdev.c b/blockdev.c >> index 245e1e1..9320c8a 100644 >> --- a/blockdev.c >> +++ b/blockdev.c >> @@ -52,6 +52,7 @@ >> #include "sysemu/arch_init.h" >> #include "qemu/cutils.h" >> #include "qemu/help_option.h" >> +#include "qemu/throttle-options.h" >> >> static QTAILQ_HEAD(, BlockDriverState) monitor_bdrv_states = >> QTAILQ_HEAD_INITIALIZER(monitor_bdrv_states); >> @@ -3999,83 +4000,9 @@ QemuOptsList qemu_common_drive_opts = { >> .name = BDRV_OPT_READ_ONLY, >> .type = QEMU_OPT_BOOL, >> .help = "open drive file as read-only", >> - },{ >> - .name = "throttling.iops-total", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit total I/O operations per second", >> - },{ >> - .name = "throttling.iops-read", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit read operations per second", >> - },{ >> - .name = "throttling.iops-write", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit write operations per second", >> - },{ >> - .name = "throttling.bps-total", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit total bytes per second", >> - },{ >> - .name = "throttling.bps-read", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit read bytes per second", >> - },{ >> - .name = "throttling.bps-write", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit write bytes per second", >> - },{ >> - .name = "throttling.iops-total-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "I/O operations burst", >> - },{ >> - .name = "throttling.iops-read-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "I/O operations read burst", >> - },{ >> - .name = "throttling.iops-write-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "I/O operations write burst", >> - },{ >> - .name = "throttling.bps-total-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "total bytes burst", >> - },{ >> - .name = "throttling.bps-read-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "total bytes read burst", >> - },{ >> - .name = "throttling.bps-write-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "total bytes write burst", >> - },{ >> - .name = "throttling.iops-total-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the iops-total-max burst period, in seconds", >> - },{ >> - .name = "throttling.iops-read-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the iops-read-max burst period, in seconds", >> - },{ >> - .name = "throttling.iops-write-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the iops-write-max burst period, in seconds", >> - },{ >> - .name = "throttling.bps-total-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the bps-total-max burst period, in seconds", >> - },{ >> - .name = "throttling.bps-read-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the bps-read-max burst period, in seconds", >> - },{ >> - .name = "throttling.bps-write-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the bps-write-max burst period, in seconds", >> - },{ >> - .name = "throttling.iops-size", >> - .type = QEMU_OPT_NUMBER, >> - .help = "when limiting by iops max size of an I/O in bytes", >> - },{ >> + }, >> + THROTTLE_OPTS, >> + { > > Indent nit ^^. Also this could be surrounded by some empty lines as you > did in fsdev/qemu-fsdev-opts.c below. > > I wouldn't ask you to send a v17 for this though and I've updated your > patch instead. I've also added Stefan's and Berto's Reviewed-by, and > pushed the whole series to my 9p-next tree at: > > https://github.com/gkurz/qemu/commits/9p-next Thanks Greg for updating the patch!. -Pradeep > > Cheers. > > -- > Greg > >> .name = "throttling.group", >> .type = QEMU_OPT_STRING, >> .help = "name of the block throttling group", >> diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c >> index 385423f0..bf57130 100644 >> --- a/fsdev/qemu-fsdev-opts.c >> +++ b/fsdev/qemu-fsdev-opts.c >> @@ -9,6 +9,7 @@ >> #include "qemu/config-file.h" >> #include "qemu/option.h" >> #include "qemu/module.h" >> +#include "qemu/throttle-options.h" >> >> static QemuOptsList qemu_fsdev_opts = { >> .name = "fsdev", >> @@ -37,83 +38,10 @@ static QemuOptsList qemu_fsdev_opts = { >> }, { >> .name = "sock_fd", >> .type = QEMU_OPT_NUMBER, >> - }, { >> - .name = "throttling.iops-total", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit total I/O operations per second", >> - }, { >> - .name = "throttling.iops-read", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit read operations per second", >> - }, { >> - .name = "throttling.iops-write", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit write operations per second", >> - }, { >> - .name = "throttling.bps-total", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit total bytes per second", >> - }, { >> - .name = "throttling.bps-read", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit read bytes per second", >> - }, { >> - .name = "throttling.bps-write", >> - .type = QEMU_OPT_NUMBER, >> - .help = "limit write bytes per second", >> - }, { >> - .name = "throttling.iops-total-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "I/O operations burst", >> - }, { >> - .name = "throttling.iops-read-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "I/O operations read burst", >> - }, { >> - .name = "throttling.iops-write-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "I/O operations write burst", >> - }, { >> - .name = "throttling.bps-total-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "total bytes burst", >> - }, { >> - .name = "throttling.bps-read-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "total bytes read burst", >> - }, { >> - .name = "throttling.bps-write-max", >> - .type = QEMU_OPT_NUMBER, >> - .help = "total bytes write burst", >> - }, { >> - .name = "throttling.iops-total-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the iops-total-max burst period, in seconds", >> - }, { >> - .name = "throttling.iops-read-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the iops-read-max burst period, in seconds", >> - }, { >> - .name = "throttling.iops-write-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the iops-write-max burst period, in seconds", >> - }, { >> - .name = "throttling.bps-total-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the bps-total-max burst period, in seconds", >> - }, { >> - .name = "throttling.bps-read-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the bps-read-max burst period, in seconds", >> - }, { >> - .name = "throttling.bps-write-max-length", >> - .type = QEMU_OPT_NUMBER, >> - .help = "length of the bps-write-max burst period, in seconds", >> - }, { >> - .name = "throttling.iops-size", >> - .type = QEMU_OPT_NUMBER, >> - .help = "when limiting by iops max size of an I/O in bytes", >> }, >> + >> + THROTTLE_OPTS, >> + >> { /*End of list */ } >> }, >> }; >> diff --git a/include/qemu/throttle-options.h b/include/qemu/throttle-options.h >> new file mode 100644 >> index 0000000..3133d1c >> --- /dev/null >> +++ b/include/qemu/throttle-options.h >> @@ -0,0 +1,92 @@ >> +/* >> + * QEMU throttling command line options >> + * >> + * This work is licensed under the terms of the GNU GPL, version 2 or >> + * (at your option) any later version. >> + * >> + * See the COPYING file in the top-level directory for details. >> + * >> + */ >> +#ifndef THROTTLE_OPTIONS_H >> +#define THROTTLE_OPTIONS_H >> + >> +#define THROTTLE_OPTS \ >> + { \ >> + .name = "throttling.iops-total",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "limit total I/O operations per second",\ >> + },{ \ >> + .name = "throttling.iops-read",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "limit read operations per second",\ >> + },{ \ >> + .name = "throttling.iops-write",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "limit write operations per second",\ >> + },{ \ >> + .name = "throttling.bps-total",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "limit total bytes per second",\ >> + },{ \ >> + .name = "throttling.bps-read",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "limit read bytes per second",\ >> + },{ \ >> + .name = "throttling.bps-write",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "limit write bytes per second",\ >> + },{ \ >> + .name = "throttling.iops-total-max",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "I/O operations burst",\ >> + },{ \ >> + .name = "throttling.iops-read-max",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "I/O operations read burst",\ >> + },{ \ >> + .name = "throttling.iops-write-max",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "I/O operations write burst",\ >> + },{ \ >> + .name = "throttling.bps-total-max",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "total bytes burst",\ >> + },{ \ >> + .name = "throttling.bps-read-max",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "total bytes read burst",\ >> + },{ \ >> + .name = "throttling.bps-write-max",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "total bytes write burst",\ >> + },{ \ >> + .name = "throttling.iops-total-max-length",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "length of the iops-total-max burst period, in seconds",\ >> + },{ \ >> + .name = "throttling.iops-read-max-length",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "length of the iops-read-max burst period, in seconds",\ >> + },{ \ >> + .name = "throttling.iops-write-max-length",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "length of the iops-write-max burst period, in seconds",\ >> + },{ \ >> + .name = "throttling.bps-total-max-length",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "length of the bps-total-max burst period, in seconds",\ >> + },{ \ >> + .name = "throttling.bps-read-max-length",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "length of the bps-read-max burst period, in seconds",\ >> + },{ \ >> + .name = "throttling.bps-write-max-length",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "length of the bps-write-max burst period, in seconds",\ >> + },{ \ >> + .name = "throttling.iops-size",\ >> + .type = QEMU_OPT_NUMBER,\ >> + .help = "when limiting by iops max size of an I/O in bytes",\ >> + } >> + >> +#endif >
diff --git a/blockdev.c b/blockdev.c index 245e1e1..9320c8a 100644 --- a/blockdev.c +++ b/blockdev.c @@ -52,6 +52,7 @@ #include "sysemu/arch_init.h" #include "qemu/cutils.h" #include "qemu/help_option.h" +#include "qemu/throttle-options.h" static QTAILQ_HEAD(, BlockDriverState) monitor_bdrv_states = QTAILQ_HEAD_INITIALIZER(monitor_bdrv_states); @@ -3999,83 +4000,9 @@ QemuOptsList qemu_common_drive_opts = { .name = BDRV_OPT_READ_ONLY, .type = QEMU_OPT_BOOL, .help = "open drive file as read-only", - },{ - .name = "throttling.iops-total", - .type = QEMU_OPT_NUMBER, - .help = "limit total I/O operations per second", - },{ - .name = "throttling.iops-read", - .type = QEMU_OPT_NUMBER, - .help = "limit read operations per second", - },{ - .name = "throttling.iops-write", - .type = QEMU_OPT_NUMBER, - .help = "limit write operations per second", - },{ - .name = "throttling.bps-total", - .type = QEMU_OPT_NUMBER, - .help = "limit total bytes per second", - },{ - .name = "throttling.bps-read", - .type = QEMU_OPT_NUMBER, - .help = "limit read bytes per second", - },{ - .name = "throttling.bps-write", - .type = QEMU_OPT_NUMBER, - .help = "limit write bytes per second", - },{ - .name = "throttling.iops-total-max", - .type = QEMU_OPT_NUMBER, - .help = "I/O operations burst", - },{ - .name = "throttling.iops-read-max", - .type = QEMU_OPT_NUMBER, - .help = "I/O operations read burst", - },{ - .name = "throttling.iops-write-max", - .type = QEMU_OPT_NUMBER, - .help = "I/O operations write burst", - },{ - .name = "throttling.bps-total-max", - .type = QEMU_OPT_NUMBER, - .help = "total bytes burst", - },{ - .name = "throttling.bps-read-max", - .type = QEMU_OPT_NUMBER, - .help = "total bytes read burst", - },{ - .name = "throttling.bps-write-max", - .type = QEMU_OPT_NUMBER, - .help = "total bytes write burst", - },{ - .name = "throttling.iops-total-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the iops-total-max burst period, in seconds", - },{ - .name = "throttling.iops-read-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the iops-read-max burst period, in seconds", - },{ - .name = "throttling.iops-write-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the iops-write-max burst period, in seconds", - },{ - .name = "throttling.bps-total-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the bps-total-max burst period, in seconds", - },{ - .name = "throttling.bps-read-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the bps-read-max burst period, in seconds", - },{ - .name = "throttling.bps-write-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the bps-write-max burst period, in seconds", - },{ - .name = "throttling.iops-size", - .type = QEMU_OPT_NUMBER, - .help = "when limiting by iops max size of an I/O in bytes", - },{ + }, + THROTTLE_OPTS, + { .name = "throttling.group", .type = QEMU_OPT_STRING, .help = "name of the block throttling group", diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c index 385423f0..bf57130 100644 --- a/fsdev/qemu-fsdev-opts.c +++ b/fsdev/qemu-fsdev-opts.c @@ -9,6 +9,7 @@ #include "qemu/config-file.h" #include "qemu/option.h" #include "qemu/module.h" +#include "qemu/throttle-options.h" static QemuOptsList qemu_fsdev_opts = { .name = "fsdev", @@ -37,83 +38,10 @@ static QemuOptsList qemu_fsdev_opts = { }, { .name = "sock_fd", .type = QEMU_OPT_NUMBER, - }, { - .name = "throttling.iops-total", - .type = QEMU_OPT_NUMBER, - .help = "limit total I/O operations per second", - }, { - .name = "throttling.iops-read", - .type = QEMU_OPT_NUMBER, - .help = "limit read operations per second", - }, { - .name = "throttling.iops-write", - .type = QEMU_OPT_NUMBER, - .help = "limit write operations per second", - }, { - .name = "throttling.bps-total", - .type = QEMU_OPT_NUMBER, - .help = "limit total bytes per second", - }, { - .name = "throttling.bps-read", - .type = QEMU_OPT_NUMBER, - .help = "limit read bytes per second", - }, { - .name = "throttling.bps-write", - .type = QEMU_OPT_NUMBER, - .help = "limit write bytes per second", - }, { - .name = "throttling.iops-total-max", - .type = QEMU_OPT_NUMBER, - .help = "I/O operations burst", - }, { - .name = "throttling.iops-read-max", - .type = QEMU_OPT_NUMBER, - .help = "I/O operations read burst", - }, { - .name = "throttling.iops-write-max", - .type = QEMU_OPT_NUMBER, - .help = "I/O operations write burst", - }, { - .name = "throttling.bps-total-max", - .type = QEMU_OPT_NUMBER, - .help = "total bytes burst", - }, { - .name = "throttling.bps-read-max", - .type = QEMU_OPT_NUMBER, - .help = "total bytes read burst", - }, { - .name = "throttling.bps-write-max", - .type = QEMU_OPT_NUMBER, - .help = "total bytes write burst", - }, { - .name = "throttling.iops-total-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the iops-total-max burst period, in seconds", - }, { - .name = "throttling.iops-read-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the iops-read-max burst period, in seconds", - }, { - .name = "throttling.iops-write-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the iops-write-max burst period, in seconds", - }, { - .name = "throttling.bps-total-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the bps-total-max burst period, in seconds", - }, { - .name = "throttling.bps-read-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the bps-read-max burst period, in seconds", - }, { - .name = "throttling.bps-write-max-length", - .type = QEMU_OPT_NUMBER, - .help = "length of the bps-write-max burst period, in seconds", - }, { - .name = "throttling.iops-size", - .type = QEMU_OPT_NUMBER, - .help = "when limiting by iops max size of an I/O in bytes", }, + + THROTTLE_OPTS, + { /*End of list */ } }, }; diff --git a/include/qemu/throttle-options.h b/include/qemu/throttle-options.h new file mode 100644 index 0000000..3133d1c --- /dev/null +++ b/include/qemu/throttle-options.h @@ -0,0 +1,92 @@ +/* + * QEMU throttling command line options + * + * This work is licensed under the terms of the GNU GPL, version 2 or + * (at your option) any later version. + * + * See the COPYING file in the top-level directory for details. + * + */ +#ifndef THROTTLE_OPTIONS_H +#define THROTTLE_OPTIONS_H + +#define THROTTLE_OPTS \ + { \ + .name = "throttling.iops-total",\ + .type = QEMU_OPT_NUMBER,\ + .help = "limit total I/O operations per second",\ + },{ \ + .name = "throttling.iops-read",\ + .type = QEMU_OPT_NUMBER,\ + .help = "limit read operations per second",\ + },{ \ + .name = "throttling.iops-write",\ + .type = QEMU_OPT_NUMBER,\ + .help = "limit write operations per second",\ + },{ \ + .name = "throttling.bps-total",\ + .type = QEMU_OPT_NUMBER,\ + .help = "limit total bytes per second",\ + },{ \ + .name = "throttling.bps-read",\ + .type = QEMU_OPT_NUMBER,\ + .help = "limit read bytes per second",\ + },{ \ + .name = "throttling.bps-write",\ + .type = QEMU_OPT_NUMBER,\ + .help = "limit write bytes per second",\ + },{ \ + .name = "throttling.iops-total-max",\ + .type = QEMU_OPT_NUMBER,\ + .help = "I/O operations burst",\ + },{ \ + .name = "throttling.iops-read-max",\ + .type = QEMU_OPT_NUMBER,\ + .help = "I/O operations read burst",\ + },{ \ + .name = "throttling.iops-write-max",\ + .type = QEMU_OPT_NUMBER,\ + .help = "I/O operations write burst",\ + },{ \ + .name = "throttling.bps-total-max",\ + .type = QEMU_OPT_NUMBER,\ + .help = "total bytes burst",\ + },{ \ + .name = "throttling.bps-read-max",\ + .type = QEMU_OPT_NUMBER,\ + .help = "total bytes read burst",\ + },{ \ + .name = "throttling.bps-write-max",\ + .type = QEMU_OPT_NUMBER,\ + .help = "total bytes write burst",\ + },{ \ + .name = "throttling.iops-total-max-length",\ + .type = QEMU_OPT_NUMBER,\ + .help = "length of the iops-total-max burst period, in seconds",\ + },{ \ + .name = "throttling.iops-read-max-length",\ + .type = QEMU_OPT_NUMBER,\ + .help = "length of the iops-read-max burst period, in seconds",\ + },{ \ + .name = "throttling.iops-write-max-length",\ + .type = QEMU_OPT_NUMBER,\ + .help = "length of the iops-write-max burst period, in seconds",\ + },{ \ + .name = "throttling.bps-total-max-length",\ + .type = QEMU_OPT_NUMBER,\ + .help = "length of the bps-total-max burst period, in seconds",\ + },{ \ + .name = "throttling.bps-read-max-length",\ + .type = QEMU_OPT_NUMBER,\ + .help = "length of the bps-read-max burst period, in seconds",\ + },{ \ + .name = "throttling.bps-write-max-length",\ + .type = QEMU_OPT_NUMBER,\ + .help = "length of the bps-write-max burst period, in seconds",\ + },{ \ + .name = "throttling.iops-size",\ + .type = QEMU_OPT_NUMBER,\ + .help = "when limiting by iops max size of an I/O in bytes",\ + } + +#endif
This patch removes the redundant throttle code that was present in block and fsdev device files. Now the common code is moved to a single file. Signed-off-by: Pradeep Jagadeesh <pradeep.jagadeesh@huawei.com> https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg04637.html --- blockdev.c | 81 ++---------------------------------- fsdev/qemu-fsdev-opts.c | 80 ++--------------------------------- include/qemu/throttle-options.h | 92 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 153 deletions(-) create mode 100644 include/qemu/throttle-options.h