XSLoader::load('PVE::RADOS', $VERSION);
sub new {
+ my ($class, %params) = @_;
+
my $conn = pve_rados_create() ||
die "unable to create RADOS object\n";
+ my $timeout = delete $params{timeout} || 5;
+
+ pve_rados_conf_set($conn, 'client_mount_timeout', $timeout);
+
+ foreach my $k (keys %params) {
+ pve_rados_conf_set($conn, $k, $params{$k});
+ }
+
pve_rados_connect($conn);
my $self = bless { conn => $conn };
MODULE = PVE::RADOS PACKAGE = PVE::RADOS
-rados_t pve_rados_create()
+rados_t
+pve_rados_create()
PROTOTYPE:
CODE:
{
}
OUTPUT: RETVAL
+int
+pve_rados_conf_set(cluster, key, value)
+rados_t cluster
+char *key
+char *value
+PROTOTYPE: $$$
+CODE:
+{
+ RETVAL = rados_conf_set(cluster, key, value);
+ if (RETVAL < 0) {
+ die("rados_conf_set failed - %s\n", strerror(-RETVAL));
+ }
+}
+OUTPUT: RETVAL
+
+
int pve_rados_connect(cluster)
rados_t cluster
PROTOTYPE: $