+
+/*
+ * rra_update informs us about the RRAs being updated
+ * The low level storage API may use this information for
+ * aligning RRAs within stripes, or other performance enhancements
+ */
+void rrd_notify_row(
+ rrd_file_t *rrd_file __attribute__((unused)),
+ int rra_idx __attribute__((unused)),
+ unsigned long rra_row __attribute__((unused)),
+ time_t rra_time __attribute__((unused)))
+{
+}
+
+/*
+ * This function is called when creating a new RRD
+ * The storage implementation can use this opportunity to select
+ * a sensible starting row within the file.
+ * The default implementation is random, to ensure that all RRAs
+ * don't change to a new disk block at the same time
+ */
+unsigned long rrd_select_initial_row(
+ rrd_file_t *rrd_file __attribute__((unused)),
+ int rra_idx __attribute__((unused)),
+ rra_def_t *rra
+ )
+{
+ return rrd_random() % rra->row_cnt;
+}