Displaying 4 results from an estimated 4 matches for "tar_can_cach".
Did you mean:
tar_can_cache
2020 Jun 28
5
[PATCH nbdkit 0/2] tar: Rewrite the tar plugin (again), this time in C.
For context see these threads:
https://lists.gnu.org/archive/html/qemu-discuss/2020-06/threads.html#00053
https://lists.gnu.org/archive/html/qemu-block/2020-06/threads.html#01496
Rich.
2020 Jul 06
2
Re: [PATCH nbdkit 2/2] tar: Rewrite the tar plugin (again), this time in C.
...> +tar_get_size (void *handle)
> +{
> + return size;
> +}
> +
> +/* Serves the same data over multiple connections. */
> +static int
> +tar_can_multi_conn (void *handle)
> +{
> + return 1;
> +}
Needs a tweak if we add exportname=on
> +
> +static int
> +tar_can_cache (void *handle)
> +{
> + /* Let nbdkit call pread to populate the file system cache. */
> + return NBDKIT_CACHE_EMULATE;
> +}
> +
> +/* Read data from the file. */
> +static int
> +tar_pread (void *handle, void *buf, uint32_t count, uint64_t offs)
> +{
> + struct ha...
2020 Jun 28
2
Re: [PATCH nbdkit 2/2] tar: Rewrite the tar plugin (again), this time in C.
...t the file size. */
> +static int64_t
> +tar_get_size (void *handle)
> +{
> + return size;
> +}
> +
> +/* Serves the same data over multiple connections. */
> +static int
> +tar_can_multi_conn (void *handle)
> +{
> + return 1;
> +}
> +
> +static int
> +tar_can_cache (void *handle)
> +{
> + /* Let nbdkit call pread to populate the file system cache. */
> + return NBDKIT_CACHE_EMULATE;
> +}
> +
> +/* Read data from the file. */
> +static int
> +tar_pread (void *handle, void *buf, uint32_t count, uint64_t offs)
This should be identical...
2020 Jun 28
0
[PATCH nbdkit 2/2] tar: Rewrite the tar plugin (again), this time in C.
...return h;
+}
+
+#define THREAD_MODEL NBDKIT_THREAD_MODEL_PARALLEL
+
+/* Get the file size. */
+static int64_t
+tar_get_size (void *handle)
+{
+ return size;
+}
+
+/* Serves the same data over multiple connections. */
+static int
+tar_can_multi_conn (void *handle)
+{
+ return 1;
+}
+
+static int
+tar_can_cache (void *handle)
+{
+ /* Let nbdkit call pread to populate the file system cache. */
+ return NBDKIT_CACHE_EMULATE;
+}
+
+/* Read data from the file. */
+static int
+tar_pread (void *handle, void *buf, uint32_t count, uint64_t offs)
+{
+ struct handle *h = handle;
+
+ offs += offset;
+
+ while...