Since we aren't modifying the data when decompressing, we are inherently consistent between connections. --- filters/gzip/gzip.c | 11 ++++++++++- filters/xz/xz.c | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/filters/gzip/gzip.c b/filters/gzip/gzip.c index 20b533b9..03e023e5 100644 --- a/filters/gzip/gzip.c +++ b/filters/gzip/gzip.c @@ -1,5 +1,5 @@ /* nbdkit - * Copyright (C) 2018-2020 Red Hat Inc. + * Copyright (C) 2018-2021 Red Hat Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -266,6 +266,14 @@ gzip_can_write (struct nbdkit_next_ops *next_ops, void *nxdata, return 0; } +/* Whatever the plugin says, this filter is consistent across connections. */ +static int +gzip_can_multi_conn (struct nbdkit_next_ops *next_ops, void *nxdata, + void *handle) +{ + return 1; +} + /* Similar to above, whatever the plugin says, extents are not * supported. */ @@ -360,6 +368,7 @@ static struct nbdkit_filter filter = { .can_write = gzip_can_write, .can_extents = gzip_can_extents, .can_cache = gzip_can_cache, + .can_multi_conn = gzip_can_multi_conn, .prepare = gzip_prepare, .export_description = gzip_export_description, .get_size = gzip_get_size, diff --git a/filters/xz/xz.c b/filters/xz/xz.c index 72801536..63adb37e 100644 --- a/filters/xz/xz.c +++ b/filters/xz/xz.c @@ -1,5 +1,5 @@ /* nbdkit - * Copyright (C) 2013-2020 Red Hat Inc. + * Copyright (C) 2013-2021 Red Hat Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -190,6 +190,14 @@ xz_can_write (struct nbdkit_next_ops *next_ops, void *nxdata, return 0; } +/* Whatever the plugin says, this filter is consistent across connections. */ +static int +xz_can_multi_conn (struct nbdkit_next_ops *next_ops, void *nxdata, + void *handle) +{ + return 1; +} + /* Similar to above. However xz files themselves do support * sparseness so in future we should generate extents information. XXX */ @@ -271,6 +279,7 @@ static struct nbdkit_filter filter = { .can_write = xz_can_write, .can_extents = xz_can_extents, .can_cache = xz_can_cache, + .can_multi_conn = xz_can_multi_conn, .pread = xz_pread, }; -- 2.30.1