search for: pwrite_fua

Displaying 6 results from an estimated 6 matches for "pwrite_fua".

Did you mean: pwrite_full
2018 Jan 19
1
Re: [nbdkit PATCH v2 13/13] RFC: plugins: Add callbacks for FUA semantics
...call C<nbdkit_error> with an error > message, and C<nbdkit_set_error> to record an appropriate error > (unless C<errno> is sufficient), then return C<-1>. > > +If the plugin can provide efficient Forced Unit Access (FUA) semantics, > +it should define C<.pwrite_fua> instead. > + > +=head2 C<.pwrite_fua> > + > + int pwrite_fua (void *handle, const void *buf, uint32_t count, uint64_t offset, int fua); But in fact the callback is still called ‘pwrite’? (which is good!) Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.r...
2018 Jan 16
9
[nbdkit PATCH 0/7] Initial implementation of FUA flag passthrough
Tested via: term1$ qemu-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
2018 Jan 19
0
[nbdkit PATCH v2 13/13] RFC: plugins: Add callbacks for FUA semantics
...if the +plugin supports the Forced Unit Access (FUA) flag on write and trim +requests. + +If there is an error, C<.can_fua> should call C<nbdkit_error> with an +error message and return C<-1>. + +This callback is not required. If omitted, then we return true iff +either the C<.pwrite_fua> callback has been defined, or if C<.can_flush> +returns true (in the latter case, FUA semantics are emulated by nbdkit +calling C<.flush> before completing any write or trim operation with +the FUA flag set). + +Note that if this defaults to true and C<.can_trim> also returns...
2018 Jan 16
1
Re: [nbdkit PATCH 0/7] Initial implementation of FUA flag passthrough
...; #ifndef NBDKIT_PLUGIN_LEVEL > #define NBDKIT_PLUGIN_LEVEL 1 > #endif So the difference between your proposal and my patch 4 is that in your proposal, a new plugin has to explicitly opt-in to the new ABI by defining NBDKIT_PLUGIN_LEVEL 2, while in mine, a new plugin opts-in by assigning to .pwrite_fua instead of .pwrite. Yours is slightly cleaner in making it obvious that there is only one (and not two) pwrite callback per plugin, and either way, the plugin chooses which variant it wants. > (3) Core nbdkit code always defines NBDKIT_PLUGIN_LEVEL == 2 so that > it always sees the new func...
2018 Jan 19
2
Re: [nbdkit PATCH v2 13/13] RFC: plugins: Add callbacks for FUA semantics
...Unit Access (FUA) flag on write and trim > +requests. > + > +If there is an error, C<.can_fua> should call C<nbdkit_error> with an > +error message and return C<-1>. > + > +This callback is not required. If omitted, then we return true iff > +either the C<.pwrite_fua> callback has been defined, or if C<.can_flush> > +returns true (in the latter case, FUA semantics are emulated by nbdkit > +calling C<.flush> before completing any write or trim operation with > +the FUA flag set). > + > +Note that if this defaults to true and C<.c...
2018 Jan 19
16
[nbdkit PATCH v2 00/13] Add filters + FUA support to nbdkit
A combination of the work that both Rich and I have been doing lately, where filters use only the new API with flags on every command that the client can send over the wire (we can then add support for more flags in nbdkit without having to add new callbacks, as NBD adds more flags upstream). Eric Blake (4): protocol: Split flags from cmd field in requests backend: Pass flags argument through