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...