Re: [Qemu-devel] [PATCH v4] fsdev: add IO throttle support to fsdev devices
On Thu, 20 Oct 2016 16:18:16 +0200 Pradeep Jagadeesh wrote: > On 10/7/2016 9:48 AM, Greg Kurz wrote: > > On Thu, 22 Sep 2016 07:59:19 -0400 > > Pradeep Jagadeesh wrote: > > > >> Uses throttling APIs to limit I/O bandwidth and number of operations on the > >> devices which use 9p-local driver. > >> > >> Signed-off-by: Pradeep Jagadeesh > >> --- > > > > Hi Pradeep, > > > > So where are we with this patch ? Have you solved the issues you mentioned > > in > > ? > > > > I don't have much time so I'll wait for v5 to comment. > > > > And maybe you can push the option list to a THROTTLE_COMMON_OPTS macro > > in a include/qemu/throttle-options.h header file, to be included by > > both blockdev.c and fsdev/qemu-fsdev-throttle.c. > > > As I understand correctly, this is about removing the duplication right? Correct. > I did not take care of this comment. I would like to push it as part of > may be next patch. Is that OK with you? > Yes. > Regards, > Pradeep > > > Cheers. > > > > -- > > Greg > > > >> fsdev/Makefile.objs | 1 + > >> fsdev/file-op-9p.h | 3 + > >> fsdev/qemu-fsdev-opts.c | 76 +++ > >> fsdev/qemu-fsdev-throttle.c | 146 > >> > >> fsdev/qemu-fsdev-throttle.h | 36 +++ > >> hw/9pfs/9p-local.c | 9 ++- > >> hw/9pfs/9p.c| 6 ++ > >> hw/9pfs/cofile.c| 3 + > >> 8 files changed, 278 insertions(+), 2 deletions(-) > >> create mode 100644 fsdev/qemu-fsdev-throttle.c > >> create mode 100644 fsdev/qemu-fsdev-throttle.h > >> > >> This adds the support for the 9p-local driver. > >> For now this functionality can be enabled only through qemu cli options. > >> QMP interface and support to other drivers need further extensions. > >> To make it simple for other drivers, the throttle code has been put in > >> separate files. > >> > >> v1 -> v2: > >> > >> -Fixed FsContext redeclaration issue > >> -Removed couple of function declarations from 9p-throttle.h > >> -Fixed some of the .help messages > >> > >> v2 -> v3: > >> > >> -Addressed follwing comments by Claudio Fontana > >> -Removed redundant memset calls in fsdev_throttle_configure_iolimits > >> function > >> -Checking throttle structure validity before initializing other structures > >> in fsdev_throttle_configure_iolimits > >> > >> -Addressed following comments by Greg Kurz > >> -Moved the code from 9pfs directory to fsdev directory, because the > >> throttling > >> is for the fsdev devices.Renamed the files and functions to fsdev_ from > >> 9pfs_ > >> -Renamed throttling cli options to throttling.*, as in QMP cli options > >> -Removed some of the unwanted .h files from qemu-fsdev-throttle.[ch] > >> -Using throttle_enabled() function to set the thottle enabled flag for > >> fsdev. > >> > >> v3 -> v4: > >> > >> -Addressed following comments by Alberto Garcia > >> -Removed the unwanted locking and other data structures in > >> qemu-fsdev-throttle.[ch] > >> > >> -Addressed following comments by Greg Kurz > >> -Removed fsdev_iolimitsenable/disable functions, instead using > >> throttle_enabled function > >> > >> > >> > >> diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs > >> index 1b120a4..2c6da2d 100644 > >> --- a/fsdev/Makefile.objs > >> +++ b/fsdev/Makefile.objs > >> @@ -7,6 +7,7 @@ common-obj-y = qemu-fsdev-dummy.o > >> endif > >> common-obj-y += qemu-fsdev-opts.o > >> > >> +common-obj-y += qemu-fsdev-throttle.o > >> # Toplevel always builds this; targets without virtio will put it in > >> # common-obj-y > >> common-obj-$(CONFIG_ALL) += qemu-fsdev-dummy.o > >> diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h > >> index 6db9fea..33fe822 100644 > >> --- a/fsdev/file-op-9p.h > >> +++ b/fsdev/file-op-9p.h > >> @@ -17,6 +17,7 @@ > >> #include > >> #include > >> #include > >> +#include "qemu-fsdev-throttle.h" > >> > >> #define SM_LOCAL_MODE_BITS0600 > >> #define SM_LOCAL_DIR_MODE_BITS0700 > >> @@ -74,6 +75,7 @@ typedef struct FsDriverEntry { > >> char *path; > >> int export_flags; > >> FileOperations *ops; > >> +FsThrottle fst; > >> } FsDriverEntry; > >> > >> typedef struct FsContext > >> @@ -83,6 +85,7 @@ typedef struct FsContext > >> int export_flags; > >> struct xattr_operations **xops; > >> struct extended_ops exops; > >> +FsThrottle *fst; > >> /* fs driver specific data */ > >> void *private; > >> } FsContext; > >> diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c > >> index 1dd8c7a..395d497 100644 > >> --- a/fsdev/qemu-fsdev-opts.c > >> +++ b/fsdev/qemu-fsdev-opts.c > >> @@ -37,6 +37,82 @@ 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 pe
Re: [Qemu-devel] [PATCH v4] fsdev: add IO throttle support to fsdev devices
On 10/7/2016 9:48 AM, Greg Kurz wrote: On Thu, 22 Sep 2016 07:59:19 -0400 Pradeep Jagadeesh wrote: Uses throttling APIs to limit I/O bandwidth and number of operations on the devices which use 9p-local driver. Signed-off-by: Pradeep Jagadeesh --- Hi Pradeep, So where are we with this patch ? Have you solved the issues you mentioned in ? I don't have much time so I'll wait for v5 to comment. And maybe you can push the option list to a THROTTLE_COMMON_OPTS macro in a include/qemu/throttle-options.h header file, to be included by both blockdev.c and fsdev/qemu-fsdev-throttle.c. As I understand correctly, this is about removing the duplication right? I did not take care of this comment. I would like to push it as part of may be next patch. Is that OK with you? Regards, Pradeep Cheers. -- Greg fsdev/Makefile.objs | 1 + fsdev/file-op-9p.h | 3 + fsdev/qemu-fsdev-opts.c | 76 +++ fsdev/qemu-fsdev-throttle.c | 146 fsdev/qemu-fsdev-throttle.h | 36 +++ hw/9pfs/9p-local.c | 9 ++- hw/9pfs/9p.c| 6 ++ hw/9pfs/cofile.c| 3 + 8 files changed, 278 insertions(+), 2 deletions(-) create mode 100644 fsdev/qemu-fsdev-throttle.c create mode 100644 fsdev/qemu-fsdev-throttle.h This adds the support for the 9p-local driver. For now this functionality can be enabled only through qemu cli options. QMP interface and support to other drivers need further extensions. To make it simple for other drivers, the throttle code has been put in separate files. v1 -> v2: -Fixed FsContext redeclaration issue -Removed couple of function declarations from 9p-throttle.h -Fixed some of the .help messages v2 -> v3: -Addressed follwing comments by Claudio Fontana -Removed redundant memset calls in fsdev_throttle_configure_iolimits function -Checking throttle structure validity before initializing other structures in fsdev_throttle_configure_iolimits -Addressed following comments by Greg Kurz -Moved the code from 9pfs directory to fsdev directory, because the throttling is for the fsdev devices.Renamed the files and functions to fsdev_ from 9pfs_ -Renamed throttling cli options to throttling.*, as in QMP cli options -Removed some of the unwanted .h files from qemu-fsdev-throttle.[ch] -Using throttle_enabled() function to set the thottle enabled flag for fsdev. v3 -> v4: -Addressed following comments by Alberto Garcia -Removed the unwanted locking and other data structures in qemu-fsdev-throttle.[ch] -Addressed following comments by Greg Kurz -Removed fsdev_iolimitsenable/disable functions, instead using throttle_enabled function diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs index 1b120a4..2c6da2d 100644 --- a/fsdev/Makefile.objs +++ b/fsdev/Makefile.objs @@ -7,6 +7,7 @@ common-obj-y = qemu-fsdev-dummy.o endif common-obj-y += qemu-fsdev-opts.o +common-obj-y += qemu-fsdev-throttle.o # Toplevel always builds this; targets without virtio will put it in # common-obj-y common-obj-$(CONFIG_ALL) += qemu-fsdev-dummy.o diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 6db9fea..33fe822 100644 --- a/fsdev/file-op-9p.h +++ b/fsdev/file-op-9p.h @@ -17,6 +17,7 @@ #include #include #include +#include "qemu-fsdev-throttle.h" #define SM_LOCAL_MODE_BITS0600 #define SM_LOCAL_DIR_MODE_BITS0700 @@ -74,6 +75,7 @@ typedef struct FsDriverEntry { char *path; int export_flags; FileOperations *ops; +FsThrottle fst; } FsDriverEntry; typedef struct FsContext @@ -83,6 +85,7 @@ typedef struct FsContext int export_flags; struct xattr_operations **xops; struct extended_ops exops; +FsThrottle *fst; /* fs driver specific data */ void *private; } FsContext; diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c index 1dd8c7a..395d497 100644 --- a/fsdev/qemu-fsdev-opts.c +++ b/fsdev/qemu-fsdev-opts.c @@ -37,6 +37,82 @@ 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, +
Re: [Qemu-devel] [PATCH v4] fsdev: add IO throttle support to fsdev devices
Hi Greg, On 10/7/2016 9:48 AM, Greg Kurz wrote: On Thu, 22 Sep 2016 07:59:19 -0400 Pradeep Jagadeesh wrote: Uses throttling APIs to limit I/O bandwidth and number of operations on the devices which use 9p-local driver. Signed-off-by: Pradeep Jagadeesh --- Hi Pradeep, So where are we with this patch ? Have you solved the issues you mentioned in ? I was busy with the Linuxcon in Berlin last week. The patch is going good.I am trying to find a fix for that issue I found before.I will try this week. I don't have much time so I'll wait for v5 to comment. Sure And maybe you can push the option list to a THROTTLE_COMMON_OPTS macro in a include/qemu/throttle-options.h header file, to be included by both blockdev.c and fsdev/qemu-fsdev-throttle.c. Ok, I will have a look. Regards, Pradeep Cheers. -- Greg fsdev/Makefile.objs | 1 + fsdev/file-op-9p.h | 3 + fsdev/qemu-fsdev-opts.c | 76 +++ fsdev/qemu-fsdev-throttle.c | 146 fsdev/qemu-fsdev-throttle.h | 36 +++ hw/9pfs/9p-local.c | 9 ++- hw/9pfs/9p.c| 6 ++ hw/9pfs/cofile.c| 3 + 8 files changed, 278 insertions(+), 2 deletions(-) create mode 100644 fsdev/qemu-fsdev-throttle.c create mode 100644 fsdev/qemu-fsdev-throttle.h This adds the support for the 9p-local driver. For now this functionality can be enabled only through qemu cli options. QMP interface and support to other drivers need further extensions. To make it simple for other drivers, the throttle code has been put in separate files. v1 -> v2: -Fixed FsContext redeclaration issue -Removed couple of function declarations from 9p-throttle.h -Fixed some of the .help messages v2 -> v3: -Addressed follwing comments by Claudio Fontana -Removed redundant memset calls in fsdev_throttle_configure_iolimits function -Checking throttle structure validity before initializing other structures in fsdev_throttle_configure_iolimits -Addressed following comments by Greg Kurz -Moved the code from 9pfs directory to fsdev directory, because the throttling is for the fsdev devices.Renamed the files and functions to fsdev_ from 9pfs_ -Renamed throttling cli options to throttling.*, as in QMP cli options -Removed some of the unwanted .h files from qemu-fsdev-throttle.[ch] -Using throttle_enabled() function to set the thottle enabled flag for fsdev. v3 -> v4: -Addressed following comments by Alberto Garcia -Removed the unwanted locking and other data structures in qemu-fsdev-throttle.[ch] -Addressed following comments by Greg Kurz -Removed fsdev_iolimitsenable/disable functions, instead using throttle_enabled function diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs index 1b120a4..2c6da2d 100644 --- a/fsdev/Makefile.objs +++ b/fsdev/Makefile.objs @@ -7,6 +7,7 @@ common-obj-y = qemu-fsdev-dummy.o endif common-obj-y += qemu-fsdev-opts.o +common-obj-y += qemu-fsdev-throttle.o # Toplevel always builds this; targets without virtio will put it in # common-obj-y common-obj-$(CONFIG_ALL) += qemu-fsdev-dummy.o diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 6db9fea..33fe822 100644 --- a/fsdev/file-op-9p.h +++ b/fsdev/file-op-9p.h @@ -17,6 +17,7 @@ #include #include #include +#include "qemu-fsdev-throttle.h" #define SM_LOCAL_MODE_BITS0600 #define SM_LOCAL_DIR_MODE_BITS0700 @@ -74,6 +75,7 @@ typedef struct FsDriverEntry { char *path; int export_flags; FileOperations *ops; +FsThrottle fst; } FsDriverEntry; typedef struct FsContext @@ -83,6 +85,7 @@ typedef struct FsContext int export_flags; struct xattr_operations **xops; struct extended_ops exops; +FsThrottle *fst; /* fs driver specific data */ void *private; } FsContext; diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c index 1dd8c7a..395d497 100644 --- a/fsdev/qemu-fsdev-opts.c +++ b/fsdev/qemu-fsdev-opts.c @@ -37,6 +37,82 @@ 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,
Re: [Qemu-devel] [PATCH v4] fsdev: add IO throttle support to fsdev devices
On Thu, 22 Sep 2016 07:59:19 -0400 Pradeep Jagadeesh wrote: > Uses throttling APIs to limit I/O bandwidth and number of operations on the > devices which use 9p-local driver. > > Signed-off-by: Pradeep Jagadeesh > --- Hi Pradeep, So where are we with this patch ? Have you solved the issues you mentioned in ? I don't have much time so I'll wait for v5 to comment. And maybe you can push the option list to a THROTTLE_COMMON_OPTS macro in a include/qemu/throttle-options.h header file, to be included by both blockdev.c and fsdev/qemu-fsdev-throttle.c. Cheers. -- Greg > fsdev/Makefile.objs | 1 + > fsdev/file-op-9p.h | 3 + > fsdev/qemu-fsdev-opts.c | 76 +++ > fsdev/qemu-fsdev-throttle.c | 146 > > fsdev/qemu-fsdev-throttle.h | 36 +++ > hw/9pfs/9p-local.c | 9 ++- > hw/9pfs/9p.c| 6 ++ > hw/9pfs/cofile.c| 3 + > 8 files changed, 278 insertions(+), 2 deletions(-) > create mode 100644 fsdev/qemu-fsdev-throttle.c > create mode 100644 fsdev/qemu-fsdev-throttle.h > > This adds the support for the 9p-local driver. > For now this functionality can be enabled only through qemu cli options. > QMP interface and support to other drivers need further extensions. > To make it simple for other drivers, the throttle code has been put in > separate files. > > v1 -> v2: > > -Fixed FsContext redeclaration issue > -Removed couple of function declarations from 9p-throttle.h > -Fixed some of the .help messages > > v2 -> v3: > > -Addressed follwing comments by Claudio Fontana > -Removed redundant memset calls in fsdev_throttle_configure_iolimits function > -Checking throttle structure validity before initializing other structures > in fsdev_throttle_configure_iolimits > > -Addressed following comments by Greg Kurz > -Moved the code from 9pfs directory to fsdev directory, because the > throttling > is for the fsdev devices.Renamed the files and functions to fsdev_ from > 9pfs_ > -Renamed throttling cli options to throttling.*, as in QMP cli options > -Removed some of the unwanted .h files from qemu-fsdev-throttle.[ch] > -Using throttle_enabled() function to set the thottle enabled flag for fsdev. > > v3 -> v4: > > -Addressed following comments by Alberto Garcia > -Removed the unwanted locking and other data structures in > qemu-fsdev-throttle.[ch] > > -Addressed following comments by Greg Kurz > -Removed fsdev_iolimitsenable/disable functions, instead using > throttle_enabled function > > > > diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs > index 1b120a4..2c6da2d 100644 > --- a/fsdev/Makefile.objs > +++ b/fsdev/Makefile.objs > @@ -7,6 +7,7 @@ common-obj-y = qemu-fsdev-dummy.o > endif > common-obj-y += qemu-fsdev-opts.o > > +common-obj-y += qemu-fsdev-throttle.o > # Toplevel always builds this; targets without virtio will put it in > # common-obj-y > common-obj-$(CONFIG_ALL) += qemu-fsdev-dummy.o > diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h > index 6db9fea..33fe822 100644 > --- a/fsdev/file-op-9p.h > +++ b/fsdev/file-op-9p.h > @@ -17,6 +17,7 @@ > #include > #include > #include > +#include "qemu-fsdev-throttle.h" > > #define SM_LOCAL_MODE_BITS0600 > #define SM_LOCAL_DIR_MODE_BITS0700 > @@ -74,6 +75,7 @@ typedef struct FsDriverEntry { > char *path; > int export_flags; > FileOperations *ops; > +FsThrottle fst; > } FsDriverEntry; > > typedef struct FsContext > @@ -83,6 +85,7 @@ typedef struct FsContext > int export_flags; > struct xattr_operations **xops; > struct extended_ops exops; > +FsThrottle *fst; > /* fs driver specific data */ > void *private; > } FsContext; > diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c > index 1dd8c7a..395d497 100644 > --- a/fsdev/qemu-fsdev-opts.c > +++ b/fsdev/qemu-fsdev-opts.c > @@ -37,6 +37,82 @@ 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_NUMBE
[Qemu-devel] [PATCH v4] fsdev: add IO throttle support to fsdev devices
Uses throttling APIs to limit I/O bandwidth and number of operations on the devices which use 9p-local driver. Signed-off-by: Pradeep Jagadeesh --- fsdev/Makefile.objs | 1 + fsdev/file-op-9p.h | 3 + fsdev/qemu-fsdev-opts.c | 76 +++ fsdev/qemu-fsdev-throttle.c | 146 fsdev/qemu-fsdev-throttle.h | 36 +++ hw/9pfs/9p-local.c | 9 ++- hw/9pfs/9p.c| 6 ++ hw/9pfs/cofile.c| 3 + 8 files changed, 278 insertions(+), 2 deletions(-) create mode 100644 fsdev/qemu-fsdev-throttle.c create mode 100644 fsdev/qemu-fsdev-throttle.h This adds the support for the 9p-local driver. For now this functionality can be enabled only through qemu cli options. QMP interface and support to other drivers need further extensions. To make it simple for other drivers, the throttle code has been put in separate files. v1 -> v2: -Fixed FsContext redeclaration issue -Removed couple of function declarations from 9p-throttle.h -Fixed some of the .help messages v2 -> v3: -Addressed follwing comments by Claudio Fontana -Removed redundant memset calls in fsdev_throttle_configure_iolimits function -Checking throttle structure validity before initializing other structures in fsdev_throttle_configure_iolimits -Addressed following comments by Greg Kurz -Moved the code from 9pfs directory to fsdev directory, because the throttling is for the fsdev devices.Renamed the files and functions to fsdev_ from 9pfs_ -Renamed throttling cli options to throttling.*, as in QMP cli options -Removed some of the unwanted .h files from qemu-fsdev-throttle.[ch] -Using throttle_enabled() function to set the thottle enabled flag for fsdev. v3 -> v4: -Addressed following comments by Alberto Garcia -Removed the unwanted locking and other data structures in qemu-fsdev-throttle.[ch] -Addressed following comments by Greg Kurz -Removed fsdev_iolimitsenable/disable functions, instead using throttle_enabled function diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs index 1b120a4..2c6da2d 100644 --- a/fsdev/Makefile.objs +++ b/fsdev/Makefile.objs @@ -7,6 +7,7 @@ common-obj-y = qemu-fsdev-dummy.o endif common-obj-y += qemu-fsdev-opts.o +common-obj-y += qemu-fsdev-throttle.o # Toplevel always builds this; targets without virtio will put it in # common-obj-y common-obj-$(CONFIG_ALL) += qemu-fsdev-dummy.o diff --git a/fsdev/file-op-9p.h b/fsdev/file-op-9p.h index 6db9fea..33fe822 100644 --- a/fsdev/file-op-9p.h +++ b/fsdev/file-op-9p.h @@ -17,6 +17,7 @@ #include #include #include +#include "qemu-fsdev-throttle.h" #define SM_LOCAL_MODE_BITS0600 #define SM_LOCAL_DIR_MODE_BITS0700 @@ -74,6 +75,7 @@ typedef struct FsDriverEntry { char *path; int export_flags; FileOperations *ops; +FsThrottle fst; } FsDriverEntry; typedef struct FsContext @@ -83,6 +85,7 @@ typedef struct FsContext int export_flags; struct xattr_operations **xops; struct extended_ops exops; +FsThrottle *fst; /* fs driver specific data */ void *private; } FsContext; diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c index 1dd8c7a..395d497 100644 --- a/fsdev/qemu-fsdev-opts.c +++ b/fsdev/qemu-fsdev-opts.c @@ -37,6 +37,82 @@ 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 = "t