Displaying 13 results from an estimated 13 matches for "nbd_connection_st".
2019 Aug 14
3
[libnbd PATCH 0/2] Drop generated file from git
Rich recently patched things to generate one man page per function
rather than libnbd-api.3 (nice), but in doing so got stumped by a
problem with a fresh git clone (automake fails for any 'include'
directive that does not already exist). I've figured out how to hack
around it, but the hack requires GNU make. We already use GNU make
constructs elsewhere (such as $(wildcard)), but
2019 Jun 05
1
Re: [PATCH libnbd 4/4] lib: Atomically update h->state when leaving the locked region.
...+#define get_next_state(h) ((h)->next_state)
>>> #define get_state(h) ((h)->state)
>>
>> So I wonder if it's better to rename get_state as get_last_state or
>> get_visible_state?
>
> Or even get_public_state?
get_public_state sounds nice (the state that nbd_connection_state will
return).
>
>> And/or rename get_next_state/set_next_state to
>> get_state/set_state?
If we rename the public state (which implies that it is frozen while the
lock is held), using 'set_state' to adjust the next state is reasonable.
>>
>> Ideas welcome t...
2019 Jun 05
2
Re: [PATCH libnbd 4/4] lib: Atomically update h->state when leaving the locked region.
On Wed, Jun 05, 2019 at 12:15:37PM +0100, Richard W.M. Jones wrote:
> -#define set_state(h,next_state) ((h)->state) = (next_state)
> +#define set_next_state(h,_next_state) ((h)->next_state) = (_next_state)
> +#define get_next_state(h) ((h)->next_state)
> #define get_state(h) ((h)->state)
So I wonder if it's better to rename get_state as get_last_state or
2019 Aug 14
0
[libnbd PATCH 2/2] docs: Drop docs/Makefile.inc from git
...nbd_aio_get_direction \
- nbd_aio_notify_read \
- nbd_aio_notify_write \
- nbd_aio_is_created \
- nbd_aio_is_connecting \
- nbd_aio_is_ready \
- nbd_aio_is_processing \
- nbd_aio_is_dead \
- nbd_aio_is_closed \
- nbd_aio_command_completed \
- nbd_aio_peek_command_completed \
- nbd_aio_in_flight \
- nbd_connection_state \
- nbd_get_package_name \
- nbd_get_version \
- nbd_kill_command \
- nbd_supports_tls \
- nbd_supports_uri \
- $(NULL)
diff --git a/generator/generator b/generator/generator
index 257303f..9fe98f5 100755
--- a/generator/generator
+++ b/generator/generator
@@ -3733,9 +3733,10 @@ let generate_lib...
2019 Aug 15
1
[PATCH libnbd] docs: Change docs/Makefile.inc back to a regular include, readd to git.
...nbd_aio_get_direction \
+ nbd_aio_notify_read \
+ nbd_aio_notify_write \
+ nbd_aio_is_created \
+ nbd_aio_is_connecting \
+ nbd_aio_is_ready \
+ nbd_aio_is_processing \
+ nbd_aio_is_dead \
+ nbd_aio_is_closed \
+ nbd_aio_command_completed \
+ nbd_aio_peek_command_completed \
+ nbd_aio_in_flight \
+ nbd_connection_state \
+ nbd_get_package_name \
+ nbd_get_version \
+ nbd_kill_subprocess \
+ nbd_supports_tls \
+ nbd_supports_uri \
+ $(NULL)
diff --git a/generator/generator b/generator/generator
index 6cc06cc..437f432 100755
--- a/generator/generator
+++ b/generator/generator
@@ -3766,7 +3766,7 @@ let generate_l...
2019 Jul 01
0
[nbdkit PATCH 2/2] nbd: Use nbdkit aio_*_notify variants
...nbdkit_error ("failed to post semaphore: %m");
- abort ();
- }
- }
- else
- prev = &trans->next;
- trans = *prev;
- }
}
- /* Clean up any stranded in-flight requests */
nbdkit_debug ("state machine changed to %s", nbd_connection_state (h->nbd));
- while (1) {
- struct transaction *trans;
-
- {
- ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&h->trans_lock);
- trans = h->trans;
- h->trans = trans ? trans->next : NULL;
- }
- if (!trans)
- break;
- r = nbd_aio_command_completed (h->nbd...
2019 Jul 01
3
[nbdkit PATCH 0/2] Use new libnbd _notify functions
I'm not observing any noticeable performance differences, but I'm
liking the diffstat. I can't push this patch until we release a new
libnbd version with the _notify API addition, but am posting it now
for playing with things.
Eric Blake (2):
nbd: Move transaction info from heap to stack
nbd: Use nbdkit aio_*_notify variants
plugins/nbd/nbd.c | 217
2019 May 30
0
[nbdkit PATCH 3/4] nbd: Use libnbd 0.1
...}
+ else
+ prev = &trans->next;
+ trans = *prev;
}
- ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&h->trans_lock);
- done = h->dead;
}
/* Clean up any stranded in-flight requests */
- r = ESHUTDOWN;
+ nbdkit_debug ("state machine changed to %s", nbd_connection_state (h->nbd));
while (1) {
struct transaction *trans;
@@ -673,15 +288,63 @@ nbdplug_reader (void *handle)
}
if (!trans)
break;
- trans->err = r;
+ r = nbd_aio_command_completed (h->nbd, trans->cookie);
+ if (r == -1) {
+ nbdkit_debug ("transac...
2019 Jun 12
0
[nbdkit PATCH v3 3/5] nbd: Use libnbd 0.1.3+
...}
+ else
+ prev = &trans->next;
+ trans = *prev;
}
- ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&h->trans_lock);
- done = h->dead;
}
/* Clean up any stranded in-flight requests */
- r = ESHUTDOWN;
+ nbdkit_debug ("state machine changed to %s", nbd_connection_state (h->nbd));
while (1) {
struct transaction *trans;
@@ -676,15 +276,63 @@ nbdplug_reader (void *handle)
}
if (!trans)
break;
- trans->err = r;
+ r = nbd_aio_command_completed (h->nbd, trans->cookie);
+ if (r == -1) {
+ nbdkit_debug ("transac...
2020 Jul 01
15
[PATCH nbdkit 0/9] nbd: Implement command= and socket-fd= parameters.
I fixed the deadlock - turned out to be an actual bug in the nbd
plugin (see patch 8).
I changed the command syntax so it's now:
nbdkit nbd command=qemu arg=-f arg=qcow2 arg=/path/to/disk.qcow2
Nir wrote:
18:08 < nsoffer> rwmjones: regarding the nbd proxy patches, did you have specific flow that help us?
18:08 < nsoffer> rwmjones: or this is just a way to support qcow2 in the
2019 May 30
5
[nbdkit PATCH 0/4] Play with libnbd for nbdkit-add
Patch 1 played with an early draft of Rich's Fedora 30 libnbd package:
https://bugzilla.redhat.com/show_bug.cgi?id=1713767#c17
Note that comment 21 provides a newer package 0.1.1-1 with a different
API; and that libnbd has more unreleased API changes in the pipeline
(whether that will be called 0.2 or 0.1.2); so we'll have to tweak
things based on what is actually available in distros.
2019 Jun 02
5
[nbdkit PATCH v2 0/5] Play with libnbd for nbdkit-nbd
libnbd-0.1.2-1 is now available in Fedora 29/30 updates-testing,
although it was not compiled against libxml2 so it lacks uri support
(I ended up testing patch 4 with a self-built libnbd).
Diffs since v1 - rebase to master, bump from libnbd 0.1 to 0.1.2, add
URI support, better timing results
Still not done - patch 5 needs associated tests
Eric Blake (5):
nbd: Check for libnbd
nbd:
2019 Jun 12
8
[nbdkit PATCH v3 0/5] Play with libnbd for nbdkit-nbd
libnbd-0.1.4-1 is now available in Fedora 29/30 updates testing.
Diffs since v2 - rebase to master, bump from libnbd 0.1.2 to 0.1.3+,
add tests to TLS usage which flushed out the need to turn relative
pathnames into absolute, doc tweaks
Now that the testsuite covers TLS and libnbd has been fixed to provide
the things I found lacking when developing v2, I'm leaning towards
pushing this on