KVM: selftests: test KVM_GET_SUPPORTED_HV_CPUID as a system ioctl
[linux-2.6-microblaze.git] / fs / ceph / metric.c
index 2466b26..fee4c47 100644 (file)
@@ -192,11 +192,23 @@ int ceph_metric_init(struct ceph_client_metric *m)
        m->total_metadatas = 0;
        m->metadata_latency_sum = 0;
 
+       atomic64_set(&m->opened_files, 0);
+       ret = percpu_counter_init(&m->opened_inodes, 0, GFP_KERNEL);
+       if (ret)
+               goto err_opened_inodes;
+       ret = percpu_counter_init(&m->total_inodes, 0, GFP_KERNEL);
+       if (ret)
+               goto err_total_inodes;
+
        m->session = NULL;
        INIT_DELAYED_WORK(&m->delayed_work, metric_delayed_work);
 
        return 0;
 
+err_total_inodes:
+       percpu_counter_destroy(&m->opened_inodes);
+err_opened_inodes:
+       percpu_counter_destroy(&m->i_caps_mis);
 err_i_caps_mis:
        percpu_counter_destroy(&m->i_caps_hit);
 err_i_caps_hit:
@@ -212,6 +224,8 @@ void ceph_metric_destroy(struct ceph_client_metric *m)
        if (!m)
                return;
 
+       percpu_counter_destroy(&m->total_inodes);
+       percpu_counter_destroy(&m->opened_inodes);
        percpu_counter_destroy(&m->i_caps_mis);
        percpu_counter_destroy(&m->i_caps_hit);
        percpu_counter_destroy(&m->d_lease_mis);