go-ceph/rbd
Niels de Vos a9ce294dbb rbd: let CloneImageByID check for rbd_clone4 at runtime
Some versions of librbd provide the rbd_clone4 function, and others do
not. Squid will have the function backported in the 1st update, the
initial release of Squid does not have it. This makes checking for the
function based on the named Ceph version impractical.

With the new dlsym.LookupSymbol() function, it is now possible to check
the availability of rbd_clone4 during runtime. If the symbol is not
found ErrNotImplemented is returned, which can be used to detect the
unavailability of the function.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-07-25 12:03:15 +00:00
..
admin gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
clone_image_by_id.go rbd: let CloneImageByID check for rbd_clone4 at runtime 2024-07-25 12:03:15 +00:00
clone_image_by_id_test.go rbd: let CloneImageByID check for rbd_clone4 at runtime 2024-07-25 12:03:15 +00:00
diff_iterate.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
diff_iterate_test.go Code Lint: Fix lint errors caused by revive check for unused parameters 2024-02-13 07:22:13 +00:00
doc.go rbd: use correct style for package doc comment 2019-12-12 11:34:51 -05:00
encryption.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
encryption_test.go rbd: add a test to verify that encrypted volumes can be resized 2024-03-21 15:52:09 +00:00
errors.go rbd: let CloneImageByID check for rbd_clone4 at runtime 2024-07-25 12:03:15 +00:00
errors_test.go rbd: use FormatErrorCode for formatting rbd errors 2020-08-10 13:03:24 -04:00
features.go rbd: remove features_nautilus.go 2024-04-05 14:05:43 +00:00
features_test.go rbd: remove features_nautilus.go 2024-04-05 14:05:43 +00:00
group.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
group_snap.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
group_snap_test.go Code Lint: Fix lint errors caused by revive check for unused parameters 2024-02-13 07:22:13 +00:00
group_test.go rbd: add GetGroup implementing rbd_get_group 2021-02-02 15:48:00 +00:00
locks.go rbd: promote lock apis to stable 2023-10-05 11:22:38 +00:00
locks_test.go rbd: promote lock apis to stable 2023-10-05 11:22:38 +00:00
metadata.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
metadata_test.go rbd: add ListMetadata implementing rbd_metadata_list 2020-11-04 14:01:51 +00:00
migration.go rbd: Make migration APIs stable 2023-06-08 17:35:55 +00:00
migration_test.go rbd: Make migration APIs stable 2023-06-08 17:35:55 +00:00
mirror.go rbd: get mirror image status from correct array element 2023-10-02 13:48:12 +00:00
mirror_desc_status.go rbd: promote preview API for release v0.23.0 2023-08-14 14:43:57 +00:00
mirror_desc_status_test.go rbd: promote preview API for release v0.23.0 2023-08-14 14:43:57 +00:00
mirror_nautilus.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
mirror_nautilus_test.go rbd: add mirroring support for nautilus 2022-07-13 13:00:48 +00:00
mirror_peer_site.go rbd: promote preview API for release v0.23.0 2023-08-14 14:43:57 +00:00
mirror_peer_site_test.go rbd: promote preview API for release v0.23.0 2023-08-14 14:43:57 +00:00
mirror_test.go rbd: test for image GlobalID inequality 2023-10-02 13:48:12 +00:00
namespace_nautilus.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
namespace_nautilus_test.go rbd: remove luminous and mimic build tags 2021-11-09 01:24:01 +00:00
options.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
options_octopus.go format: run gofmt on all files 2021-10-04 18:58:35 +00:00
options_test.go rbd: rename uses of RbdImageOptions to ImageOptions 2020-03-23 10:09:25 -04:00
pool_nautilus.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
pool_nautilus_test.go rbd: remove luminous and mimic build tags 2021-11-09 01:24:01 +00:00
rbd.go rbd: trigger an error on invalid max snaps value 2024-04-05 17:33:05 +00:00
rbd_nautilus.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
rbd_nautilus_test.go rbd: include details for parent image in the trash 2023-08-02 13:56:45 +00:00
rbd_test.go rbd: export image name 2021-11-09 02:31:09 +00:00
resize.go rbd: promote Image.Resize2 api to stable 2024-04-09 13:13:56 +00:00
resize_test.go rbd: promote Image.Resize2 api to stable 2024-04-09 13:13:56 +00:00
snap_group_namespace.go rbd: add GetSnapGroupNamespace() to get details about group snapshots 2024-03-06 12:42:29 +00:00
snap_group_namespace_test.go rbd: add GetSnapGroupNamespace() to get details about group snapshots 2024-03-06 12:42:29 +00:00
snapshot.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
snapshot_namespace.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
snapshot_namespace_test.go rbd: remove luminous and mimic build tags 2021-11-09 01:24:01 +00:00
snapshot_nautilus.go rbd: include details for parent image in the trash 2023-08-02 13:56:45 +00:00
snapshot_octopus.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
snapshot_octopus_test.go format: run gofmt on all files 2021-10-04 18:58:35 +00:00
snapshot_rename.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
snapshot_rename_test.go rbd: make Snapshot.Remove stable 2022-10-17 17:18:49 +00:00
snapshot_test.go rbd: add SetSnapshot (re)implementing rbd_snap_set 2021-06-01 10:28:25 +00:00
sparsify.go rbd: promote preview API for release v0.23.0 2023-08-14 14:43:57 +00:00
sparsify_test.go Code Lint: Fix lint errors caused by revive check for unused parameters 2024-02-13 07:22:13 +00:00
watchers.go gofmt: reformat everything with new gofmt of go 1.19 2023-02-20 20:50:24 +00:00
watchers_test.go Code Lint: Fix lint errors caused by revive check for unused parameters 2024-02-13 07:22:13 +00:00