search for: retry_handle

Displaying 20 results from an estimated 21 matches for "retry_handle".

Did you mean: entry_handle
2023 Jan 27
2
[nbdkit PATCH 1/2] retry: Add in retry support during .open
...etry/retry.c @@ -1,5 +1,5 @@ /* nbdkit - * Copyright (C) 2019-2021 Red Hat Inc. + * Copyright (C) 2019-2023 Red Hat Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -113,45 +113,6 @@ struct retry_handle { bool open; }; -static void * -retry_open (nbdkit_next_open *next, nbdkit_context *nxdata, - int readonly, const char *exportname, int is_tls) -{ - struct retry_handle *h; - - if (next (nxdata, readonly, exportname) == -1) - return NULL; - - h = malloc (sizeof *h); - if (h =...
2023 Jan 28
1
[nbdkit PATCH 1/2] retry: Add in retry support during .open
.../* nbdkit > - * Copyright (C) 2019-2021 Red Hat Inc. > + * Copyright (C) 2019-2023 Red Hat Inc. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions are > @@ -113,45 +113,6 @@ struct retry_handle { > bool open; > }; > > -static void * > -retry_open (nbdkit_next_open *next, nbdkit_context *nxdata, > - int readonly, const char *exportname, int is_tls) > -{ > - struct retry_handle *h; > - > - if (next (nxdata, readonly, exportname) == -1) > -...
2019 Sep 19
0
[PATCH nbdkit v3 2/3] Add new retry filter.
...retries (default: 5).\n" \ + "retry-delay=<N> Second to wait before retry (default: 2).\n" \ + "retry-exponential=yes|no Exponential back-off (default: yes).\n" \ + "retry-readonly=yes|no Force read-only on failure (default: no).\n" + +struct retry_handle { + int readonly; /* Save original readonly setting. */ +}; + +static void * +retry_open (nbdkit_next_open *next, void *nxdata, int readonly) +{ + struct retry_handle *h; + + if (next (nxdata, readonly) == -1) + return NULL; + + h = malloc (sizeof *h); + if (h == NULL) { +...
2019 Sep 19
0
[PATCH nbdkit 2/2] Add new retry filter.
...retries (default: 5).\n" \ + "retry-delay=<N> Second to wait before retry (default: 2).\n" \ + "retry-exponential=yes|no Exponential back-off (default: yes).\n" \ + "retry-readonly=yes|no Force read-only on failure (default: no).\n" + +struct retry_handle { + int readonly; /* Save original readonly setting. */ +}; + +static void * +retry_open (nbdkit_next_open *next, void *nxdata, int readonly) +{ + struct retry_handle *h; + + if (next (nxdata, readonly) == -1) + return NULL; + + h = malloc (sizeof *h); + if (h == NULL) { +...
2023 Jan 27
2
[nbdkit PATCH 0/2] retry: add support for retrying .open
In https://bugzilla.redhat.com/show_bug.cgi?id=1841820, it was pointed out that the retry filter not retrying .open means that an ssh connection (such as in a vmx+ssh v2v conversion) fails when the ssh connection itself cannot be retried. A year ago, this was an inherent limitation of our retry implementation; but in the meantime, my work to allow filters to open independent backends has made it
2019 Oct 01
0
[nbdkit PATCH 3/6] retry: Check next_ops->can_FOO on retry
...+++++++++++++----- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/filters/retry/retry.c b/filters/retry/retry.c index 59e7d4b8..00dbd091 100644 --- a/filters/retry/retry.c +++ b/filters/retry/retry.c @@ -106,6 +106,7 @@ retry_config (nbdkit_next_config *next, void *nxdata, struct retry_handle { int readonly; /* Save original readonly setting. */ + unsigned reopens; }; static void * @@ -123,6 +124,7 @@ retry_open (nbdkit_next_open *next, void *nxdata, int readonly) } h->readonly = readonly; + h->reopens = 0; return h; } @@ -132,6 +134,7 @@ retry_...
2019 Sep 19
6
[PATCH nbdkit 0/2] Add new retry filter.
This is a retry filter implementation as outlined here: https://www.redhat.com/archives/libguestfs/2019-September/msg00167.html It is only lightly tested. One way to test it is to try an SSH copy (see the commit message for patch 2/2), and in the middle of the copy kill the per-connection sshd on the remote machine. You will see that the copy recovers after a few seconds. Add the nbdkit -v
2019 Sep 19
7
[PATCH nbdkit v2 0/4] Add new retry filter.
v1 was here: https://www.redhat.com/archives/libguestfs/2019-September/msg00199.html v2: - Adds a fairly simple yet comprehensive test using sh plugin. - Rebase and retest. Patch 1 is a misc patch not really related to the series. Rich.
2019 Sep 19
7
[PATCH nbdkit v3 0/3] Add new retry filter.
v2 was here: https://www.redhat.com/archives/libguestfs/2019-September/msg00221.html I think this is more like "the one". It handles reopen failing correctly, and there is a second test for that. I also ran my sshd tests locally and it worked in all scenarios I could think up (except of course sshd not being available at the start, but we want that to fail). Rich.
2019 Oct 04
1
Re: [nbdkit PATCH 2/5] retry: Check size before transactions
...uint32_t count, uint64_t offset, bool is_write, int *err) > +{ > + if ((int64_t) offset + count > next_ops->get_size (nxdata)) { > + *err = is_write ? ENOSPC : EIO; > + return false; > + } > + return true; > +} > + > static bool > do_retry (struct retry_handle *h, > struct retry_data *data, > @@ -204,6 +215,8 @@ retry_pread (struct nbdkit_next_ops *next_ops, void *nxdata, > int r; > > again: > + if (! valid_range (next_ops, nxdata, count, offset, false, err)) > + return -1; > r = next_ops->pread (nxdata,...
2020 Mar 31
2
[nbdkit PATCH] retry: Tweak error message
...he image even after the first error. filters/retry/retry.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filters/retry/retry.c b/filters/retry/retry.c index 11e5313b..db91d7ca 100644 --- a/filters/retry/retry.c +++ b/filters/retry/retry.c @@ -173,7 +173,7 @@ do_retry (struct retry_handle *h, again: /* Log the original errno since it will be lost when we retry. */ - nbdkit_debug ("retry %d: original errno = %d", data->retry+1, *err); + nbdkit_debug ("retry attempt %d: original errno = %d", data->retry, *err); if (data->retry >= retries) {...
2020 Jul 22
0
Re: [PATCH nbdkit] server: Pass the export name through filter .open calls.
...1) > return NULL; Pre-existing - the log filter should include the exportname somewhere in its output log. Well, nothing like the present to fix it ;) > +++ b/filters/retry/retry.c > @@ -106,16 +106,18 @@ retry_config (nbdkit_next_config *next, void *nxdata, > > struct retry_handle { > int readonly; /* Save original readonly setting. */ > + const char *exportname; /* Client exportname. */ > unsigned reopens; > bool open; > }; > > static void * > -retry_open (nbdkit_next_open *next, void *nxdata, int readonly) &...
2019 Oct 01
9
[nbdkit PATCH v2 0/6] Improve retry filter
Includes a rework of the previously posted patch for --run improvements (mostly with improved comments and commit message; I decided that waiting for the captive nbdkit to exit was overkill), and four new patches. The tests are intentionally separate, to allow rearranging the order of the series to see the failures being fixed. Eric Blake (6): server: Propagate unexpected nbdkit failure with
2019 Oct 04
0
[nbdkit PATCH 2/5] retry: Check size before transactions
...nbdkit_next_ops *next_ops, void *nxdata, + uint32_t count, uint64_t offset, bool is_write, int *err) +{ + if ((int64_t) offset + count > next_ops->get_size (nxdata)) { + *err = is_write ? ENOSPC : EIO; + return false; + } + return true; +} + static bool do_retry (struct retry_handle *h, struct retry_data *data, @@ -204,6 +215,8 @@ retry_pread (struct nbdkit_next_ops *next_ops, void *nxdata, int r; again: + if (! valid_range (next_ops, nxdata, count, offset, false, err)) + return -1; r = next_ops->pread (nxdata, buf, count, offset, flags, err); if...
2020 Apr 01
0
Re: [nbdkit PATCH] retry: Tweak error message
...t; filters/retry/retry.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/filters/retry/retry.c b/filters/retry/retry.c > index 11e5313b..db91d7ca 100644 > --- a/filters/retry/retry.c > +++ b/filters/retry/retry.c > @@ -173,7 +173,7 @@ do_retry (struct retry_handle *h, > > again: > /* Log the original errno since it will be lost when we retry. */ > - nbdkit_debug ("retry %d: original errno = %d", data->retry+1, *err); > + nbdkit_debug ("retry attempt %d: original errno = %d", data->retry, *err); > > i...
2020 Jul 21
4
[PATCH nbdkit] server: Pass the export name through filter .open calls.
...exportname) == -1) return NULL; h = malloc (sizeof *h); diff --git a/filters/retry/retry.c b/filters/retry/retry.c index 8037f383..be334c39 100644 --- a/filters/retry/retry.c +++ b/filters/retry/retry.c @@ -106,16 +106,18 @@ retry_config (nbdkit_next_config *next, void *nxdata, struct retry_handle { int readonly; /* Save original readonly setting. */ + const char *exportname; /* Client exportname. */ unsigned reopens; bool open; }; static void * -retry_open (nbdkit_next_open *next, void *nxdata, int readonly) +retry_open (nbdkit_next_open *next, void *nxda...
2019 Sep 19
5
Re: [PATCH nbdkit v3 2/3] Add new retry filter.
...t; + "retry-delay=<N> Second to wait before retry (default: 2).\n" \ Seconds > + "retry-exponential=yes|no Exponential back-off (default: yes).\n" \ > + "retry-readonly=yes|no Force read-only on failure (default: no).\n" > + > +struct retry_handle { > + int readonly; /* Save original readonly setting. */ > +}; > + > +static void * > +retry_open (nbdkit_next_open *next, void *nxdata, int readonly) Out of review time today, I'll get back to the rest of this file later... -- Eric Blake, Principal Softwa...
2019 Oct 07
6
[nbdkit PATCH 0/5] More retry fixes
I think this is my last round of patches for issues I identified with the retry filter. With this in place, it should be safe to interject another filter in between retry and the plugin. Eric Blake (5): retry: Don't call into closed plugin tests: Refactor test-retry-reopen-fail.sh tests: Enhance retry test to cover failed reopen server: Move prepare/finalize/close recursion to
2020 Aug 07
0
[nbdkit PATCH 1/3] server: Implement nbdkit_is_tls for use during .open
...readonly, const char *exportname) + int readonly, const char *exportname, int is_tls) { struct rate_handle *h; diff --git a/filters/retry/retry.c b/filters/retry/retry.c index be334c39..a2e57d77 100644 --- a/filters/retry/retry.c +++ b/filters/retry/retry.c @@ -113,7 +113,7 @@ struct retry_handle { static void * retry_open (nbdkit_next_open *next, void *nxdata, - int readonly, const char *exportname) + int readonly, const char *exportname, int is_tls) { struct retry_handle *h; diff --git a/filters/tar/tar.c b/filters/tar/tar.c index c04f09dd..ab041153 100644 --...
2019 Oct 04
6
[nbdkit PATCH 0/5] Another round of retry fixes
I still don't have .prepare/.finalize working cleanly across reopen, but did find a nasty bug where a botched assertion means we failed to notice reads beyond EOF in both the xz and retry filter. Refactoring backend.c will make .finalize work easier. Eric Blake (5): xz: Avoid reading beyond EOF retry: Check size before transactions tests: Test retry when get_size values change