Skip to contentSkip to conversation

xfsdump: Compile with musl libc

PATCH In review Felix Janda 2 participants 15 messages Jan 12, 2016 – Jan 14, 2016

lore
Share & tools
lore
#0 lore raw

cover xfsdump: Compile with musl libc

Six simple patches fixing compilation on linux systems using the musl c library.

Felix Janda (6):
invutil/invidx: include <fcntl.h> for O_CREAT dump/content.c: Include <linux/limits.h> for XATTR_LIST_MAX common/main.c: Replace nonstandard SIGCLD by SIGCHLD librmt/rmtopen: Prefer <signal.h> over <sys/signal.h> dump/var.c: Include <limits.h> for PATH_MAX Prefer stdint types over __uint*_t and __int*_t

 common/content_inode.h | 4 ++--
 common/hsmapi.c        | 2 +-
 common/main.c          | 2 +-
 doc/xfsdump.html       | 8 ++++----
 dump/content.c         | 1 +
 dump/var.c             | 1 +
 inventory/inv_oref.h   | 2 +-
 inventory/inv_priv.h   | 4 ++--
 inventory/inventory.h  | 2 +-
 invutil/invidx.c       | 1 +
 librmt/rmtopen.c       | 2 +-
 11 files changed, 16 insertions(+), 13 deletions(-)
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#1 lore raw

PATCH 1/6 invutil/invidx: include <fcntl.h> for O_CREAT

---
 invutil/invidx.c | 1 +
 1 file changed, 1 insertion(+)
invutil/invidx.c +1 -0
index 67efdf7..82d89d9 100644
@@ -20,6 +20,7 @@
 #include <xfs/jdm.h>
 
 #include <stdio.h>
+#include <fcntl.h>
 #include <unistd.h>
 #include <stdlib.h>
 #include <ncurses.h>
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#3 lore raw

PATCH 2/6 dump/content.c: Include <linux/limits.h> for XATTR_LIST_MAX

In reply to Felix Janda
---
 dump/content.c | 1 +
 1 file changed, 1 insertion(+)
dump/content.c +1 -0
index 1e86292..97e42ab 100644
@@ -36,6 +36,7 @@
 #include <xfs/xfs.h>
 #include <xfs/jdm.h>
 #ifdef linux
+#include <linux/limits.h>
 #include <xfs/xqm.h>
 #endif
 
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#5 lore raw

PATCH 3/6 common/main.c: Replace nonstandard SIGCLD by SIGCHLD

In reply to Felix Janda
---
 common/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
common/main.c +1 -1
index 3848499..faa66ee 100644
@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = {
 	{SIGTERM,	"SIGTERM"},
 	{SIGUSR1,	"SIGUSR1"},
 	{SIGUSR2,	"SIGUSR2"},
-	{SIGCLD,	"SIGCLD"},
+	{SIGCHLD,	"SIGCHLD"},
 	{SIGPWR,	"SIGPWR"},
 	{SIGURG,	"SIGURG"},
 	{SIGPOLL,	"SIGPOLL"},
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#7 lore raw

PATCH 4/6 librmt/rmtopen: Prefer <signal.h> over <sys/signal.h>

In reply to Felix Janda
---
 librmt/rmtopen.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
librmt/rmtopen.c +1 -1
index 4bf9383..09ba3e4 100644
@@ -27,7 +27,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
-#include <sys/signal.h>
+#include <signal.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#9 lore raw

PATCH 5/6 dump/var.c: Include <limits.h> for PATH_MAX

In reply to Felix Janda
---
 dump/var.c | 1 +
 1 file changed, 1 insertion(+)
dump/var.c +1 -0
index 645caab..6e3ead0 100644
@@ -22,6 +22,7 @@
 #include <errno.h>
 #include <dirent.h>
 #include <string.h>
+#include <limits.h>
 #include <uuid/uuid.h>
 
 #include "config.h"
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#11 lore raw

PATCH 6/6 Prefer stdint types over __uint*_t and __int*_t

In reply to Felix Janda
---
 common/content_inode.h | 4 ++--
 common/hsmapi.c        | 2 +-
 doc/xfsdump.html       | 8 ++++----
 inventory/inv_oref.h   | 2 +-
 inventory/inv_priv.h   | 4 ++--
 inventory/inventory.h  | 2 +-
 6 files changed, 11 insertions(+), 11 deletions(-)
common/content_inode.h +2 -2
index a69a9a0..6936e05 100644
@@ -191,10 +191,10 @@ typedef struct bstat bstat_t;
  * and using two 16bit values to hold new 32bit projid was choosen
  * to retain compatibility with "old" filesystems).
  */
-static inline __uint32_t
+static inline uint32_t
 bstat_projid(struct bstat *bs)
 {
-        return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
+        return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
 }
 
 
common/hsmapi.c +1 -1
index 6054773..515d392 100644
@@ -585,7 +585,7 @@ HsmModifyExtentMap(
 	struct getbmapx	*bmap)
 {
 	dmf_f_ctxt_t	*dmf_f_ctxtp = (dmf_f_ctxt_t *)contextp;
-	__int64_t	length;
+	int64_t	length;
 
 	if (bmap[0].bmv_entries <= 0) {
 		return 1;	/* caller must already be at EOF */
doc/xfsdump.html +4 -4
index 9c6722e..f85128f 100644
@@ -1935,7 +1935,7 @@ The files are constructed like so:
 <pre>
 typedef struct invt_counter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t    ic_vernum;/* on disk version number for posterity */\
         u_int         ic_curnum;/* number of sessions/invindices recorded \
                                    so far */                              \
         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
 <pre>
 typedef struct invt_counter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t    ic_vernum;/* on disk version number for posterity */\
         u_int         ic_curnum;/* number of sessions/invindices recorded \
                                    so far */                              \
         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
 <pre>
 typedef struct invt_sescounter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t    ic_vernum;/* on disk version number for posterity */\
         u_int         ic_curnum;/* number of sessions/invindices recorded \
                                    so far */                              \
         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
     off64_t    sh_streams_off; /* offset to start of the set of
                                   stream hdrs */
     time_t     sh_time;        /* time of the dump */
-    __uint32_t sh_flag;        /* for misc flags */
+    uint32_t sh_flag;        /* for misc flags */
     u_char     sh_level;       /* dump level */
     u_char     sh_pruned;      /* pruned by invutil flag */
     char       sh_padding[22];
inventory/inv_oref.h +1 -1
index e16684d..38303a4 100644
@@ -46,7 +46,7 @@
 
 
 
-typedef __uint32_t	invt_objtype_t;
+typedef uint32_t	invt_objtype_t;
 
 #define INVT_LOCKED		0x0001
 
inventory/inv_priv.h +2 -2
index 1690271..364ffbc 100644
@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
 	off64_t		sh_streams_off; /* offset to start of the set of 
 					   stream hdrs */
 	time32_t	sh_time;        /* time of the dump */
-	__uint32_t	sh_flag;        /* for misc flags */
+	uint32_t	sh_flag;        /* for misc flags */
 	u_char		sh_level;       /* dump level */
 	u_char		sh_pruned;      /* pruned by invutil flag */
 	char		sh_padding[22];
@@ -184,7 +184,7 @@ typedef struct invt_entry {
 
 /* Cheap Inheritance, and an attempt to avoid a nested type */
 #define INVT_COUNTER_FIELDS  \
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t    ic_vernum;/* on disk version number for posterity */\
 	uint	      ic_curnum;/* number of sessions/invindices recorded \
 				   so far */				  \
 	uint	      ic_maxnum;/* maximum number of sessions/inv_indices \
inventory/inventory.h +1 -1
index 134b9ba..c1d7403 100644
@@ -43,7 +43,7 @@
 /* length of labels, mntpts, etc */
 #define INV_STRLEN              GLOBAL_HDR_STRING_SZ
 
-typedef __uint32_t		inv_version_t;
+typedef uint32_t		inv_version_t;
 
 /* This is the general inventory version. 
  */
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Reviewed-by on v1 6/6
#12 lore raw

Re: [PATCH 6/6] Prefer stdint types over __uint*_t and __int*_t

Quoted 11 lines
common/hsmapi.c +1 -1
 	dmf_f_ctxt_t	*dmf_f_ctxtp = (dmf_f_ctxt_t *)contextp;
-	__int64_t	length;
+	int64_t	length;
 
 	if (bmap[0].bmv_entries <= 0) {
 		return 1;	/* caller must already be at EOF */
doc/xfsdump.html +0 -0
index 9c6722e..f85128f 100644

doc/xfsdump.html The files are constructed like so: · line 1938

Quoted 5 lines
doc/xfsdump.html +1 -1
@@ -1935,7 +1935,7 @@ The files are constructed like so:
 <pre>
 typedef struct invt_counter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t    ic_vernum;/* on disk version number for posterity */\

please keep the existing alignments for variable declarations or structure members.

Otherwise this looks fine:

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#13 lore raw

PATCH v2 1/1 cleanup: Kill __[u]int*_t types

Replace them by the stdint [u]int*_t types.

---
v2: fix alignmentation

---
 common/content_inode.h | 4 ++--
 common/hsmapi.c        | 2 +-
 doc/xfsdump.html       | 8 ++++----
 inventory/inv_oref.h   | 2 +-
 inventory/inv_priv.h   | 4 ++--
 inventory/inventory.h  | 2 +-
 6 files changed, 11 insertions(+), 11 deletions(-)
common/content_inode.h +2 -2
index a69a9a0..6936e05 100644
@@ -191,10 +191,10 @@ typedef struct bstat bstat_t;
  * and using two 16bit values to hold new 32bit projid was choosen
  * to retain compatibility with "old" filesystems).
  */
-static inline __uint32_t
+static inline uint32_t
 bstat_projid(struct bstat *bs)
 {
-        return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
+        return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
 }
 
 
common/hsmapi.c +1 -1
index 6054773..0709dbe 100644
@@ -585,7 +585,7 @@ HsmModifyExtentMap(
 	struct getbmapx	*bmap)
 {
 	dmf_f_ctxt_t	*dmf_f_ctxtp = (dmf_f_ctxt_t *)contextp;
-	__int64_t	length;
+	int64_t		length;
 
 	if (bmap[0].bmv_entries <= 0) {
 		return 1;	/* caller must already be at EOF */
doc/xfsdump.html +4 -4
index 9c6722e..8cc02d4 100644
@@ -1935,7 +1935,7 @@ The files are constructed like so:
 <pre>
 typedef struct invt_counter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t      ic_vernum;/* on disk version number for posterity */\
         u_int         ic_curnum;/* number of sessions/invindices recorded \
                                    so far */                              \
         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
@@ -1975,7 +1975,7 @@ typedef struct invt_fstab {
 <pre>
 typedef struct invt_counter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t      ic_vernum;/* on disk version number for posterity */\
         u_int         ic_curnum;/* number of sessions/invindices recorded \
                                    so far */                              \
         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
@@ -2012,7 +2012,7 @@ typedef struct invt_entry {
 <pre>
 typedef struct invt_sescounter {
     INVT_COUNTER_FIELDS
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t      ic_vernum;/* on disk version number for posterity */\
         u_int         ic_curnum;/* number of sessions/invindices recorded \
                                    so far */                              \
         u_int         ic_maxnum;/* maximum number of sessions/inv_indices \
@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr {
     off64_t    sh_streams_off; /* offset to start of the set of
                                   stream hdrs */
     time_t     sh_time;        /* time of the dump */
-    __uint32_t sh_flag;        /* for misc flags */
+    uint32_t   sh_flag;        /* for misc flags */
     u_char     sh_level;       /* dump level */
     u_char     sh_pruned;      /* pruned by invutil flag */
     char       sh_padding[22];
inventory/inv_oref.h +1 -1
index e16684d..38303a4 100644
@@ -46,7 +46,7 @@
 
 
 
-typedef __uint32_t	invt_objtype_t;
+typedef uint32_t	invt_objtype_t;
 
 #define INVT_LOCKED		0x0001
 
inventory/inv_priv.h +2 -2
index 1690271..157e1dd 100644
@@ -120,7 +120,7 @@ typedef struct invt_seshdr {
 	off64_t		sh_streams_off; /* offset to start of the set of 
 					   stream hdrs */
 	time32_t	sh_time;        /* time of the dump */
-	__uint32_t	sh_flag;        /* for misc flags */
+	uint32_t	sh_flag;        /* for misc flags */
 	u_char		sh_level;       /* dump level */
 	u_char		sh_pruned;      /* pruned by invutil flag */
 	char		sh_padding[22];
@@ -184,7 +184,7 @@ typedef struct invt_entry {
 
 /* Cheap Inheritance, and an attempt to avoid a nested type */
 #define INVT_COUNTER_FIELDS  \
-        __uint32_t    ic_vernum;/* on disk version number for posterity */\
+        uint32_t      ic_vernum;/* on disk version number for posterity */\
 	uint	      ic_curnum;/* number of sessions/invindices recorded \
 				   so far */				  \
 	uint	      ic_maxnum;/* maximum number of sessions/inv_indices \
inventory/inventory.h +1 -1
index 134b9ba..c1d7403 100644
@@ -43,7 +43,7 @@
 /* length of labels, mntpts, etc */
 #define INV_STRLEN              GLOBAL_HDR_STRING_SZ
 
-typedef __uint32_t		inv_version_t;
+typedef uint32_t		inv_version_t;
 
 /* This is the general inventory version. 
  */
Signature · 6 lines
2.4.10

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs