Re: [Libguestfs] [libnbd PATCH v5 00/12] Rust Bindings for Libnbd
On Mon, Aug 14, 2023 at 08:31:51AM +, Tage Johansson wrote: ... > > None of these touched top-level README.md, which should now list cargo > > and any other new optional build dependencies that must be installed > > for enabling Rust bindings. > > > True, I'll add that in an upcoming patch. > > > An unrelated question: Should the patch which adds cargo as an optional > build dependency to README be a reply to this message or should I send it as > a new thread? I'll send it as a new thread now, but what is the best way to > do it? For a quick patch that can be applied out-of-order, a separate thread is probably easiest. At some point, it boils down to a judgment call on what's easier for the person writing the code (the notion of rebasing and maintaining parallel patches is not trivial for a new coder) as well as those reviewing and applying the code (tracking multiple threads may make it easier to apply quick patches, but also means more threads to track in the long run). At any rate, I see that thread already landed, so in the end you chose well on this case. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org ___ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs
Re: [Libguestfs] [libnbd PATCH v5 00/12] Rust Bindings for Libnbd
On 8/11/2023 10:54 PM, Eric Blake wrote: On Thu, Aug 03, 2023 at 03:36:04PM +, Tage Johansson wrote: A new version of the Rust bindings for Libnbd. Most changes have been mentioned as replies to the comments I got on v4. But the most significant change is probably that the patches have been reordered. Best regards, Tage Tage Johansson (12): rust: create basic Rust bindings rust: Add a couple of integration tests rust: Make it possible to run tests with Valgrind rust: Add some examples generator: Add information about asynchronous handle calls generator: Add information about the lifetime of closures rust: Use more specific closure traits rust: async: Create an async friendly handle type generator: Add `modifies_fd` flag to the [call] structure rust: async: Use the modifies_fd flag to exclude calls rust: async: Add a couple of integration tests rust: async: Add an example .gitignore| 10 + .ocamlformat | 4 + Makefile.am | 2 + configure.ac | 30 + generator/API.ml | 84 ++ ... rust/tests/test_log/mod.rs| 86 ++ rustfmt.toml | 19 + scripts/git.orderfile | 12 + 68 files changed, 4851 insertions(+) None of these touched top-level README.md, which should now list cargo and any other new optional build dependencies that must be installed for enabling Rust bindings. True, I'll add that in an upcoming patch. An unrelated question: Should the patch which adds cargo as an optional build dependency to README be a reply to this message or should I send it as a new thread? I'll send it as a new thread now, but what is the best way to do it? -- Best regards, Tage ___ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs
Re: [Libguestfs] [libnbd PATCH v5 00/12] Rust Bindings for Libnbd
On Thu, Aug 03, 2023 at 03:36:04PM +, Tage Johansson wrote: > A new version of the Rust bindings for Libnbd. Most changes have been > mentioned as replies to the comments I got on v4. But the most significant > change is probably that the patches have been reordered. > > Best regards, > Tage > > > Tage Johansson (12): > rust: create basic Rust bindings > rust: Add a couple of integration tests > rust: Make it possible to run tests with Valgrind > rust: Add some examples > generator: Add information about asynchronous handle calls > generator: Add information about the lifetime of closures > rust: Use more specific closure traits > rust: async: Create an async friendly handle type > generator: Add `modifies_fd` flag to the [call] structure > rust: async: Use the modifies_fd flag to exclude calls > rust: async: Add a couple of integration tests > rust: async: Add an example > > .gitignore| 10 + > .ocamlformat | 4 + > Makefile.am | 2 + > configure.ac | 30 + > generator/API.ml | 84 ++ ... > rust/tests/test_log/mod.rs| 86 ++ > rustfmt.toml | 19 + > scripts/git.orderfile | 12 + > 68 files changed, 4851 insertions(+) None of these touched top-level README.md, which should now list cargo and any other new optional build dependencies that must be installed for enabling Rust bindings. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org ___ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs
[Libguestfs] [libnbd PATCH v5 00/12] Rust Bindings for Libnbd
A new version of the Rust bindings for Libnbd. Most changes have been mentioned as replies to the comments I got on v4. But the most significant change is probably that the patches have been reordered. Best regards, Tage Tage Johansson (12): rust: create basic Rust bindings rust: Add a couple of integration tests rust: Make it possible to run tests with Valgrind rust: Add some examples generator: Add information about asynchronous handle calls generator: Add information about the lifetime of closures rust: Use more specific closure traits rust: async: Create an async friendly handle type generator: Add `modifies_fd` flag to the [call] structure rust: async: Use the modifies_fd flag to exclude calls rust: async: Add a couple of integration tests rust: async: Add an example .gitignore| 10 + .ocamlformat | 4 + Makefile.am | 2 + configure.ac | 30 + generator/API.ml | 84 ++ generator/API.mli | 35 + generator/Makefile.am | 4 + generator/Rust.ml | 794 ++ generator/Rust.mli| 22 + generator/RustSys.ml | 167 generator/RustSys.mli | 19 + generator/generator.ml| 4 + rust/Cargo.toml | 59 ++ rust/Makefile.am | 106 +++ rust/cargo_test/Cargo.toml| 23 + rust/cargo_test/README.md | 3 + rust/cargo_test/src/lib.rs| 31 + rust/examples/concurrent-read-write.rs| 135 +++ rust/examples/connect-command.rs | 39 + rust/examples/fetch-first-sector.rs | 38 + rust/examples/get-size.rs | 29 + rust/libnbd-sys/Cargo.toml| 32 + rust/libnbd-sys/build.rs | 26 + rust/libnbd-sys/src/.keep | 0 rust/run-tests.sh.in | 39 + rust/src/async_handle.rs | 268 ++ rust/src/error.rs | 157 rust/src/handle.rs| 67 ++ rust/src/lib.rs | 36 + rust/src/types.rs | 20 + rust/src/utils.rs | 23 + rust/tests/nbdkit_pattern/mod.rs | 28 + rust/tests/test_100_handle.rs | 25 + rust/tests/test_110_defaults.rs | 33 + rust/tests/test_120_set_non_defaults.rs | 53 ++ rust/tests/test_130_private_data.rs | 28 + rust/tests/test_140_explicit_close.rs | 31 + rust/tests/test_200_connect_command.rs| 32 + rust/tests/test_210_opt_abort.rs | 31 + rust/tests/test_220_opt_list.rs | 86 ++ rust/tests/test_230_opt_info.rs | 120 +++ rust/tests/test_240_opt_list_meta.rs | 147 rust/tests/test_245_opt_list_meta_queries.rs | 93 ++ rust/tests/test_250_opt_set_meta.rs | 123 +++ rust/tests/test_255_opt_set_meta_queries.rs | 109 +++ rust/tests/test_300_get_size.rs | 35 + rust/tests/test_400_pread.rs | 39 + rust/tests/test_405_pread_structured.rs | 79 ++ rust/tests/test_410_pwrite.rs | 58 ++ rust/tests/test_460_block_status.rs | 92 ++ rust/tests/test_620_stats.rs | 75 ++ rust/tests/test_async_100_handle.rs | 25 + rust/tests/test_async_200_connect_command.rs | 33 + rust/tests/test_async_210_opt_abort.rs| 32 + rust/tests/test_async_220_opt_list.rs | 81 ++ rust/tests/test_async_230_opt_info.rs | 122 +++ rust/tests/test_async_240_opt_list_meta.rs| 147 .../test_async_245_opt_list_meta_queries.rs | 91 ++ rust/tests/test_async_250_opt_set_meta.rs | 122 +++ .../test_async_255_opt_set_meta_queries.rs| 107 +++ rust/tests/test_async_400_pread.rs| 40 + rust/tests/test_async_405_pread_structured.rs | 84 ++ rust/tests/test_async_410_pwrite.rs | 59 ++ rust/tests/test_async_460_block_status.rs | 92 ++ rust/tests/test_async_620_stats.rs| 76 ++ rust/tests/test_log/mod.rs| 86 ++ rustfmt.toml | 19 + scripts/git.orderfile | 12 + 68 files changed, 4851 insertions(+) create mode 100644 .ocamlformat create mode 100644 generator/Rust.ml create mode 100644 generator/Rust.mli create mode 100644 generator/RustSys.ml create mode 100644 generator/RustSys.mli create mode 100644 rust/Cargo.toml create mode 100644 rust/Makefile.am create mode 100644 rust/cargo_test/Cargo.toml create mode 100644