@cryptotaxi247 / netdata-1 / commits / 527c1afc2

Fix compilation errors for FreeBSD 12.0

Vladimir Kobal committed Oct 12, 2017 at 16:04 UTC 527c1afc2bd8f558492572d5d3f63696390e02e1
2 files changed +73
src/apps_plugin.c
+8
@@ -1572,14 +1572,22 @@ static inline int read_pid_file_descriptors(struct pid_stat *p, void *ptr) {
1572 break;
1573 default:
1574 /* print protocol number and socket address */
1575 +#if __FreeBSD_version < 1200031
1576 sprintf(fdsname, "socket: other: %d %s %s", fds->kf_sock_protocol, fds->kf_sa_local.__ss_pad1, fds->kf_sa_local.__ss_pad2);
1577 +#else
1578 + sprintf(fdsname, "socket: other: %d %s %s", fds->kf_sock_protocol, fds->kf_un.kf_sock.kf_sa_local.__ss_pad1, fds->kf_un.kf_sock.kf_sa_local.__ss_pad2);
1579 +#endif
1580 }
1581 break;
1582 case KF_TYPE_PIPE:
1583 sprintf(fdsname, "pipe: %lu %lu", fds->kf_un.kf_pipe.kf_pipe_addr, fds->kf_un.kf_pipe.kf_pipe_peer);
1584 break;
1585 case KF_TYPE_PTS:
1586 +#if __FreeBSD_version < 1200031
1587 sprintf(fdsname, "other: pts: %u", fds->kf_un.kf_pts.kf_pts_dev);
1588 +#else
1589 + sprintf(fdsname, "other: pts: %lu", fds->kf_un.kf_pts.kf_pts_dev);
1590 +#endif
1591 break;
1592 case KF_TYPE_SHM:
1593 sprintf(fdsname, "other: shm: %s size: %lu", fds->kf_path, fds->kf_un.kf_file.kf_file_size);
src/freebsd_sysctl.c
+65
@@ -27,6 +27,59 @@
27
28 int system_pagesize = PAGE_SIZE;
29 int number_of_cpus = 1;
30 +#if __FreeBSD_version >= 1200029
31 +struct __vmmeter {
32 + uint64_t v_swtch;
33 + uint64_t v_trap;
34 + uint64_t v_syscall;
35 + uint64_t v_intr;
36 + uint64_t v_soft;
37 + uint64_t v_vm_faults;
38 + uint64_t v_io_faults;
39 + uint64_t v_cow_faults;
40 + uint64_t v_cow_optim;
41 + uint64_t v_zfod;
42 + uint64_t v_ozfod;
43 + uint64_t v_swapin;
44 + uint64_t v_swapout;
45 + uint64_t v_swappgsin;
46 + uint64_t v_swappgsout;
47 + uint64_t v_vnodein;
48 + uint64_t v_vnodeout;
49 + uint64_t v_vnodepgsin;
50 + uint64_t v_vnodepgsout;
51 + uint64_t v_intrans;
52 + uint64_t v_reactivated;
53 + uint64_t v_pdwakeups;
54 + uint64_t v_pdpages;
55 + uint64_t v_pdshortfalls;
56 + uint64_t v_dfree;
57 + uint64_t v_pfree;
58 + uint64_t v_tfree;
59 + uint64_t v_forks;
60 + uint64_t v_vforks;
61 + uint64_t v_rforks;
62 + uint64_t v_kthreads;
63 + uint64_t v_forkpages;
64 + uint64_t v_vforkpages;
65 + uint64_t v_rforkpages;
66 + uint64_t v_kthreadpages;
67 + u_int v_page_size;
68 + u_int v_page_count;
69 + u_int v_free_reserved;
70 + u_int v_free_target;
71 + u_int v_free_min;
72 + u_int v_free_count;
73 + u_int v_wire_count;
74 + u_int v_active_count;
75 + u_int v_inactive_target;
76 + u_int v_inactive_count;
77 + u_int v_laundry_count;
78 + u_int v_pageout_free_min;
79 + u_int v_interrupt_free_min;
80 + u_int v_free_severe;
81 +};
82 +#endif
83
84 // --------------------------------------------------------------------------------------------------------------------
85 // FreeBSD plugin initialization
@@ -856,7 +909,11 @@ int do_system_ram(int update_every, usec_t dt) {
909 (void)dt;
910 static int mib_active_count[4] = {0, 0, 0, 0}, mib_inactive_count[4] = {0, 0, 0, 0}, mib_wire_count[4] = {0, 0, 0, 0},
911 mib_cache_count[4] = {0, 0, 0, 0}, mib_vfs_bufspace[2] = {0, 0}, mib_free_count[4] = {0, 0, 0, 0};
912 +#if __FreeBSD_version < 1200029
913 struct vmmeter vmmeter_data;
914 +#else
915 + struct __vmmeter vmmeter_data;
916 +#endif
917 int vfs_bufspace_count;
918
919 if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_active_count", mib_active_count, vmmeter_data.v_active_count) ||
@@ -923,7 +980,11 @@ int do_system_ram(int update_every, usec_t dt) {
980 int do_vm_stats_sys_v_swappgs(int update_every, usec_t dt) {
981 (void)dt;
982 static int mib_swappgsin[4] = {0, 0, 0, 0}, mib_swappgsout[4] = {0, 0, 0, 0};
983 +#if __FreeBSD_version < 1200029
984 struct vmmeter vmmeter_data;
985 +#else
986 + struct __vmmeter vmmeter_data;
987 +#endif
988
989 if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_swappgsin", mib_swappgsin, vmmeter_data.v_swappgsin) ||
990 GETSYSCTL_SIMPLE("vm.stats.vm.v_swappgsout", mib_swappgsout, vmmeter_data.v_swappgsout))) {
@@ -970,7 +1031,11 @@ int do_vm_stats_sys_v_pgfaults(int update_every, usec_t dt) {
1031 (void)dt;
1032 static int mib_vm_faults[4] = {0, 0, 0, 0}, mib_io_faults[4] = {0, 0, 0, 0}, mib_cow_faults[4] = {0, 0, 0, 0},
1033 mib_cow_optim[4] = {0, 0, 0, 0}, mib_intrans[4] = {0, 0, 0, 0};
1034 +#if __FreeBSD_version < 1200029
1035 struct vmmeter vmmeter_data;
1036 +#else
1037 + struct __vmmeter vmmeter_data;
1038 +#endif
1039
1040 if (unlikely(GETSYSCTL_SIMPLE("vm.stats.vm.v_vm_faults", mib_vm_faults, vmmeter_data.v_vm_faults) ||
1041 GETSYSCTL_SIMPLE("vm.stats.vm.v_io_faults", mib_io_faults, vmmeter_data.v_io_faults) ||