[Cluster-devel] [PATCH 2/2] libgfs2: Push down die() into the utils and remove it
Andrew Price
anprice at redhat.com
Wed Dec 14 16:20:37 UTC 2011
This patch removes the definition of die() from libgfs2.h and pushes it
down into the utils which still require it. In the case of gfs2_convert,
which only had a few die() calls, it was dropped altogether.
Signed-off-by: Andrew Price <anprice at redhat.com>
---
gfs2/convert/gfs2_convert.c | 18 ++++++++++++------
gfs2/edit/hexedit.h | 12 ++++++++++++
gfs2/fsck/util.c | 1 +
gfs2/libgfs2/libgfs2.h | 12 ------------
gfs2/mkfs/gfs2_mkfs.h | 13 +++++++++++++
gfs2/quota/gfs2_quota.h | 13 +++++++++++++
gfs2/tool/gfs2_tool.h | 13 +++++++++++++
7 files changed, 64 insertions(+), 18 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index 09a689c..ff5f50f 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -1847,8 +1847,10 @@ static void update_inode_file(struct gfs2_sbd *sdp)
buf = cpu_to_be64(sdp->md.next_inum);
count = gfs2_writei(ip, &buf, 0, sizeof(uint64_t));
- if (count != sizeof(uint64_t))
- die("update_inode_file\n");
+ if (count != sizeof(uint64_t)) {
+ fprintf(stderr, "update_inode_file\n");
+ exit(1);
+ }
log_debug(_("\nNext Inum: %llu\n"), (unsigned long long)sdp->md.next_inum);
}/* update_inode_file */
@@ -1869,8 +1871,10 @@ static void write_statfs_file(struct gfs2_sbd *sdp)
gfs2_statfs_change_out(&sc, buf);
count = gfs2_writei(ip, buf, 0, sizeof(struct gfs2_statfs_change));
- if (count != sizeof(struct gfs2_statfs_change))
- die("do_init (2)\n");
+ if (count != sizeof(struct gfs2_statfs_change)) {
+ fprintf(stderr, "do_init (2)\n");
+ exit(1);
+ }
}/* write_statfs_file */
/* ------------------------------------------------------------------------- */
@@ -2043,8 +2047,10 @@ static void copy_quotas(struct gfs2_sbd *sdp)
int err;
err = gfs2_lookupi(sdp->master_dir, "quota", 5, &nq_ip);
- if (err)
- die(_("Couldn't lookup new quota file: %d\n"), err);
+ if (err) {
+ fprintf(stderr, _("Couldn't lookup new quota file: %d\n"), err);
+ exit(1);
+ }
gfs2_inum_in(&inum, (char *)&raw_gfs1_ondisk_sb.sb_quota_di);
oq_ip = inode_read(sdp, inum.no_addr);
diff --git a/gfs2/edit/hexedit.h b/gfs2/edit/hexedit.h
index 27950b0..b05b5c0 100644
--- a/gfs2/edit/hexedit.h
+++ b/gfs2/edit/hexedit.h
@@ -124,6 +124,18 @@ static inline int block_is_rgtree(void)
#define SCREEN_HEIGHT (16)
#define SCREEN_WIDTH (16)
+/* die() used to be in libgfs2.h */
+static __inline__ __attribute__((noreturn, format (printf, 1, 2)))
+void die(const char *fmt, ...)
+{
+ va_list ap;
+ fprintf(stderr, "%s: ", __FILE__);
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ exit(-1);
+}
+
/* Memory macros */
#define type_alloc(ptr, type, count) \
diff --git a/gfs2/fsck/util.c b/gfs2/fsck/util.c
index d912920..f37fe7d 100644
--- a/gfs2/fsck/util.c
+++ b/gfs2/fsck/util.c
@@ -6,6 +6,7 @@
#include <unistd.h>
#include <sys/time.h>
#include <stdio.h>
+#include <stdarg.h>
#include <termios.h>
#include <libintl.h>
#include <ctype.h>
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index c356bbf..0e521fb 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -3,7 +3,6 @@
#include <features.h>
#include <inttypes.h>
-#include <stdarg.h>
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
@@ -86,17 +85,6 @@ struct lgfs2_dev_info {
uint64_t size;
};
-static __inline__ __attribute__((noreturn, format (printf, 1, 2)))
-void die(const char *fmt, ...)
-{
- va_list ap;
- fprintf(stderr, "%s: ", __FILE__);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- exit(-1);
-}
-
struct device {
uint64_t length;
};
diff --git a/gfs2/mkfs/gfs2_mkfs.h b/gfs2/mkfs/gfs2_mkfs.h
index 6f0ac2b..d7d7da7 100644
--- a/gfs2/mkfs/gfs2_mkfs.h
+++ b/gfs2/mkfs/gfs2_mkfs.h
@@ -1,6 +1,7 @@
#ifndef __GFS2_MKFS_DOT_H__
#define __GFS2_MKFS_DOT_H__
+#include <stdarg.h>
#include <linux/gfs2_ondisk.h>
#include "osi_list.h"
#include "copyright.cf"
@@ -18,6 +19,18 @@ extern void main_mkfs(int argc, char *argv[]);
/* main_shrink */
extern void main_shrink(int argc, char *argv[]);
+/* die() used to be in libgfs2.h */
+static __inline__ __attribute__((noreturn, format (printf, 1, 2)))
+void die(const char *fmt, ...)
+{
+ va_list ap;
+ fprintf(stderr, "%s: ", __FILE__);
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ exit(-1);
+}
+
/*
* The following inode IOCTL macros and inode flags
* are copied from linux/fs.h, because we have duplicate
diff --git a/gfs2/quota/gfs2_quota.h b/gfs2/quota/gfs2_quota.h
index 80c0d3f..744f02b 100644
--- a/gfs2/quota/gfs2_quota.h
+++ b/gfs2/quota/gfs2_quota.h
@@ -1,6 +1,7 @@
#ifndef __GFS2_QUOTA_DOT_H__
#define __GFS2_QUOTA_DOT_H__
+#include <stdarg.h>
#include "libgfs2.h"
#include <linux/gfs2_ondisk.h>
@@ -79,4 +80,16 @@ void do_quota_init(struct gfs2_sbd *sdp, commandline_t *comline);
uint32_t name_to_id(int user, char *name, int numbers);
char *id_to_name(int user, uint32_t id, int numbers);
+/* die() used to be in libgfs2.h */
+static __inline__ __attribute__((noreturn, format (printf, 1, 2)))
+void die(const char *fmt, ...)
+{
+ va_list ap;
+ fprintf(stderr, "%s: ", __FILE__);
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ exit(-1);
+}
+
#endif /* __GFS2_QUOTA_DOT_H__ */
diff --git a/gfs2/tool/gfs2_tool.h b/gfs2/tool/gfs2_tool.h
index 884856f..3a181ff 100644
--- a/gfs2/tool/gfs2_tool.h
+++ b/gfs2/tool/gfs2_tool.h
@@ -1,6 +1,7 @@
#ifndef __GFS2_TOOL_DOT_H__
#define __GFS2_TOOL_DOT_H__
+#include <stdarg.h>
#define OUTPUT_BLOCKS 0
#define OUTPUT_K 1
@@ -48,4 +49,16 @@ void do_sb(int argc, char **argv);
void get_tune(int argc, char **argv);
void set_tune(int argc, char **argv);
+/* die() used to be in libgfs2.h */
+static __inline__ __attribute__((noreturn, format (printf, 1, 2)))
+void die(const char *fmt, ...)
+{
+ va_list ap;
+ fprintf(stderr, "%s: ", __FILE__);
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ exit(-1);
+}
+
#endif /* __GFS2_TOOL_DOT_H__ */
--
1.7.6.4
More information about the Cluster-devel
mailing list