search for: fua

Displaying 20 results from an estimated 462 matches for "fua".

Did you mean: fa
2020 May 22
6
[PATCH nbdkit 0/4] Add fuamode=pass and fuamode=discard
Two hopefully useful additions to the fua filter. The second one is kind of like cache=unsafe in qemu, in that it exchanges correctness for speed. Useful for data which is easily recreated in the event of a crash or for people who like living on the edge and have good backups. Rich.
2020 May 22
0
[PATCH nbdkit 4/4] fua: Add unsafe fuamode=discard.
This drops all FUA and flush requests. --- filters/fua/nbdkit-fua-filter.pod | 27 +++++++++++++++++---- filters/fua/fua.c | 39 +++++++++++++++++++++++++++---- tests/test-fua.sh | 33 ++++++++++++++++---------- 3 files changed, 79 insertions(+), 20 deletions(-) diff --git a/filters/...
2018 Aug 01
2
[PATCH nbdkit] tests: Adjust test-fua.sh for correct use .prepare in log filter.
...ethods are called properly in the second and subsequent filters. This causes an additional log message to be emitted (correctly) from the newly called .prepare method in the log filter: 2018-08-01 15:17:45.249533 connection=1 Connect [...] However this extra log message incidentally breaks the FUA test. Fix this by filtering out the additional log message before counting the instances of the fua=1 flag in this test. Thanks: Eric Blake. --- tests/test-fua.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test-fua.sh b/tests/test-fua.sh index 8a8c7fc..0329807...
2018 Apr 19
1
Re: [nbdkit PATCH v2 4/5] python: Expose FUA support
On Wed, Apr 11, 2018 at 12:03:41AM -0500, Eric Blake wrote: > +=item C<can_fua> > + > +(Optional) > + > + def can_fua(h): > + # return a boolean > + > +Unlike the C counterpart, the Python callback does not need a > +tri-state return value, because Python introspection is sufficient to > +learn whether callbacks support FUA. Thus, this functio...
2020 May 26
1
Re: [PATCH nbdkit 4/4] fua: Add unsafe fuamode=discard.
On 5/22/20 4:32 PM, Richard W.M. Jones wrote: > This drops all FUA and flush requests. > --- > filters/fua/nbdkit-fua-filter.pod | 27 +++++++++++++++++---- > filters/fua/fua.c | 39 +++++++++++++++++++++++++++---- > tests/test-fua.sh | 33 ++++++++++++++++---------- > 3 files changed, 79 insertions(+), 20 deleti...
2018 Aug 01
0
Re: [PATCH nbdkit] tests: Adjust test-fua.sh for correct use .prepare in log filter.
...and subsequent > filters. > > This causes an additional log message to be emitted (correctly) from > the newly called .prepare method in the log filter: > > 2018-08-01 15:17:45.249533 connection=1 Connect [...] > > However this extra log message incidentally breaks the FUA test. > > Fix this by filtering out the additional log message before counting > the instances of the fua=1 flag in this test. > > Thanks: Eric Blake. > --- > tests/test-fua.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) I did something similar, but wit...
2018 Apr 11
0
[nbdkit PATCH v2 4/5] python: Expose FUA support
Expose support for the FUA flag to pwrite, zero, and trim, as well as a can_fua callback, for use in python plugins. There are some slight semantic differences: the C plugin had to switch to a new API with a single uint32_t flags argument (so we don't have to keep adding new ABI when new flags are added), but in so doin...
2018 Jan 16
9
[nbdkit PATCH 0/7] Initial implementation of FUA flag passthrough
...emu-nbd -k $PWD/sock -t -f raw -x foo junk --trace=nbd_\* term2$ ./nbdkit -f -v -e bar nbd socket=$PWD/sock export=foo term3$ qemu-io -t none -f raw nbd://localhost:10809/bar --trace=nbd_\* and checking the traces to see that 'w 0 1' vs. 'w -f 0 1' was able to influence whether the FUA flag showed up at the server in term1. Still to go: figure out how to expose the flags through the language bindings Patch 7 is RFC; Rich and I debated on IRC whether we want it (the code in plugin_register() sounds like it tries hard to support newer plugins with older nbdkit), or whether we sho...
2018 Jan 19
0
[nbdkit PATCH v2 13/13] RFC: plugins: Add callbacks for FUA semantics
[still a work in progress, as I finish rebasing to capture the ideas raised on the list, but posting now for initial feedback] The NBD protocol supports Forced Unit Access (FUA) as a more efficient way to wait for just one write to land in persistent storage, rather than all outstanding writes at the time of a flush; modeled after the kernel's block I/O flag of the same name. While we can emulate the proper semantics with a full-blown flush, there are some plugins th...
2018 Feb 13
0
[nbdkit PATCH 2/2] plugins: Consistent error handling on FUA
We document that a plugin callback should return 0 on success, but other places in the code treat all values other than -1 as success (perhaps we should treat all negative values as errors, instead of exactly -1, but that may break binary back-compatibility). However, when reworking where FUA fallback occurs, we introduced a subtle change: if a plugin returns a positive value on success, and the client requested FUA, we ended up reporting success to the client without performing FUA. Fixes: 4f37c64ffdd42fab5c5d9c6157db396b60866a7a Signed-off-by: Eric Blake <eblake@redhat.com> ---...
2018 Apr 11
10
[nbdkit PATCH v2 0/5] FUA support in Python scripts
First out of our four language bindings to add FUA support (for reference, I added 'zero' support for python, perl, and ruby back in 1.1.13, then Rich had to add it for ocaml in 1.1.20). I tested this heavily under python 2, but for now only compile tested under python 3; I plan to do further testing there and make any tweaks if necessary....
2018 Jan 19
2
Re: [nbdkit PATCH v2 13/13] RFC: plugins: Add callbacks for FUA semantics
...int (*zero) (void *handle, uint32_t count, uint64_t offset, int may_trim); int errno_is_preserved; void (*async_pread) (void *op, void *handle, void *buf, uint32_t count, uint64_t offset); void (*async_pwrite) (void *op, void *handle, const void *buf, uint32_t count, uint64_t offset, int fua); void (*async_flush) (void *op, void *handle); void (*async_trim) (void *op, void *handle, uint32_t count, uint64_t offset, int fua); void (*async_zero) (void *op, void *handle, uint32_t count, uint64_t offset, int may_trim, int fua); ... } Additionally there are a few helper functions fo...
2018 Sep 07
0
[PATCH nbdkit 3/6] file: Make the file= parameter into a magic config key.
...| 2 +- docs/nbdkit-service.pod | 2 +- docs/nbdkit-tls.pod | 2 +- filters/cow/nbdkit-cow-filter.pod | 4 ++-- filters/delay/nbdkit-delay-filter.pod | 2 +- filters/error/nbdkit-error-filter.pod | 6 +++--- filters/fua/nbdkit-fua-filter.pod | 8 ++++---- filters/log/nbdkit-log-filter.pod | 4 ++-- filters/nozero/nbdkit-nozero-filter.pod | 4 ++-- filters/offset/nbdkit-offset-filter.pod | 4 ++-- filters/partition/nbdkit-partition-filter.pod | 2 +- plugins/file/file.c...
2017 Jan 26
1
Re: [nbdkit PATCH 2/5] protocol: Validate request flags
...an 25, 2017 at 08:55:18PM -0600, Eric Blake wrote: >> On 01/20/2017 02:16 PM, Eric Blake wrote: >>> Reject rather than silently ignoring unknown client request flags. >>> >> >>> >>> + /* Validate flags */ >>> + if (flags & ~NBD_CMD_FLAG_FUA) { >>> + nbdkit_error ("invalid request: unknown flag (0x%x)", flags); >>> + *error = EINVAL; >>> + return 0; >>> + } >> >> Right now, our NBD_CMD_FLAG_FUA implementation causes a full flush >> action from the plugin, even if...
2018 Sep 08
0
[PATCH nbdkit v2 3/6] file: Make the file= parameter into a magic config key.
...| 2 +- docs/nbdkit-service.pod | 2 +- docs/nbdkit-tls.pod | 2 +- filters/cow/nbdkit-cow-filter.pod | 4 ++-- filters/delay/nbdkit-delay-filter.pod | 2 +- filters/error/nbdkit-error-filter.pod | 6 +++--- filters/fua/nbdkit-fua-filter.pod | 8 ++++---- filters/log/nbdkit-log-filter.pod | 4 ++-- filters/nozero/nbdkit-nozero-filter.pod | 4 ++-- filters/offset/nbdkit-offset-filter.pod | 4 ++-- filters/partition/nbdkit-partition-filter.pod | 2 +- plugins/file/file.c...
2019 Nov 25
6
[nbdkit PATCH 0/5] Counterproposal for python v2 interfaces
...is an RFC to see which pieces we like best out of the various proposals, rather than something that should be applied as-is. Eric Blake (5): python: Let zero's may_trim parameter be optional python: Expose can_zero callback python: Update internals to plugin API level 2 python: Expose FUA support python: Add can_fast_zero support plugins/python/nbdkit-python-plugin.pod | 122 ++++++++-- plugins/python/python.c | 286 ++++++++++++++++++++++-- plugins/python/example.py | 6 +- tests/test.py | 6 +- 4 files changed, 375 in...
2018 Jan 19
1
Re: [nbdkit PATCH] Update filters to support FUA flags.
...n EROFS. On the other hand (a) plugins don't usually implement can_write because the "autosensing" usually works, and (b) it doesn't crash or do anything particularly bad. can_trim/trim and can_flush/flush are similar. However unfortunately src/plugins.c now assert-fails if the FUA flag is present but plugin.flush does not exist. Is this a bug? Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many p...
2018 Mar 08
0
[nbdkit PATCH v3 11/15] plugins: Expose new FUA callbacks
The NBD protocol supports Forced Unit Access (FUA) as a more efficient way to wait for just one write to land in persistent storage, rather than all outstanding writes at the time of a flush; modeled after the kernel's block I/O flag of the same name. While we can emulate the proper semantics with a full-blown flush, there are some plugins th...
2018 Jan 19
1
Re: [nbdkit PATCH v2 13/13] RFC: plugins: Add callbacks for FUA semantics
...ewer nbdkit will always support > +plugins compiled against an older API version, but plugins that opt in > +to newer versions require a new enough nbdkit. For now, the maximum > +version is 2, which enables fine-tuned response to client flags > +including efficient Forced Unit Access (FUA) on writes. > + > =head1 C<nbdkit-plugin.h> > > -All plugins should start by including this header file: > +All plugins should start by including this header file, after > +optionally choosing an API version: > > #include <nbdkit-plugin.h> I'm in favour...
2018 Mar 08
19
[nbdkit PATCH v3 00/15] Add FUA support to nbdkit
After more than a month since v2 [1], I've finally got my FUA support series polished. This is all of my outstanding patches, even though some of them were originally posted in separate threads from the original FUA post [2], [3] [1] https://www.redhat.com/archives/libguestfs/2018-January/msg00113.html [2] https://www.redhat.com/archives/libguestfs/2018-Jan...