-
- df_submit_one (disk_name, "df_inodes", "free",
- (gauge_t) inode_free);
- df_submit_one (disk_name, "df_inodes", "reserved",
- (gauge_t) inode_reserved);
- df_submit_one (disk_name, "df_inodes", "used",
- (gauge_t) inode_used);
+
+ if (report_percentage && (statbuf.f_files > 0))
+ {
+ uint64_t inode_total = (uint64_t) statbuf.f_files;
+ char plugin_instance[DATA_MAX_NAME_LEN];
+
+ ssnprintf (plugin_instance, sizeof (plugin_instance),
+ "%s-inodes", disk_name);
+
+ df_submit_one (plugin_instance, "percent", "free",
+ 100.0 * ((gauge_t) inode_free) / ((gauge_t) inode_total));
+ df_submit_one (plugin_instance, "percent", "reserved",
+ 100.0 * ((gauge_t) inode_reserved) / ((gauge_t) inode_total));
+ df_submit_one (plugin_instance, "percent", "used",
+ 100.0 * ((gauge_t) inode_used) / ((gauge_t) inode_total));
+ }
+ else if (!report_percentage)
+ {
+ df_submit_one (disk_name, "df_inodes", "free",
+ (gauge_t) inode_free);
+ df_submit_one (disk_name, "df_inodes", "reserved",
+ (gauge_t) inode_reserved);
+ df_submit_one (disk_name, "df_inodes", "used",
+ (gauge_t) inode_used);
+ }