summaryrefslogtreecommitdiff
blob: 868ba73e4421940885fb593f339ae47c62f04401 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From e245cac2b3c18015dee8caddd449532785d15c2b Mon Sep 17 00:00:00 2001
From: Jason Carey <jcarey@argv.me>
Date: Mon, 26 Jun 2017 11:09:10 -0400
Subject: [PATCH] SERVER-29855 Pull major/minor from sys/sysmacros.h

Per newer versions of glibc:

----
error: In the GNU C Library, "major" is defined
 by <sys/sysmacros.h>. For historical compatibility, it is
 currently defined by <sys/types.h> as well, but we plan to
 remove this soon. To use "major", include <sys/sysmacros.h>
 directly. If you did not intend to use a system-defined macro
 "major", you should undefine it after including <sys/types.h>. [-Werror]
         string path = str::stream() << "/sys/dev/block/" << major(dev) << ':' << minor(dev)
----

Including <sys/sysmacros.h> appears to be the correct solution to quiet
the warning
---
 src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
index 5a784b25dc7..c43e148d3f4 100644
--- a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
+++ b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
@@ -36,6 +36,10 @@
 #include <boost/filesystem/path.hpp>
 #include <fstream>
 
+#ifdef __linux__
+#include <sys/sysmacros.h>
+#endif
+
 #include "mongo/db/mongod_options.h"
 #include "mongo/db/storage/mmap_v1/data_file_sync.h"
 #include "mongo/db/storage/mmap_v1/dur.h"