]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfsprogs: kill EXTERN macro
authorEric Sandeen <sandeen@redhat.com>
Tue, 9 Oct 2018 16:49:48 +0000 (11:49 -0500)
committerEric Sandeen <sandeen@redhat.com>
Tue, 9 Oct 2018 16:49:48 +0000 (11:49 -0500)
The EXTERN macro was a too-clever hack to allow a header file to both
declare global variables and export them.  Get rid of the hack and do
things the predictable way.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
repair/globals.c
repair/globals.h
repair/versions.c
repair/versions.h

index d00e96499c87896d40ac5214bbc02a0477bdb4e7..ae9d55b4881623424b5d675b82bd6d45b537ab99 100644 (file)
@@ -4,7 +4,122 @@
  * All Rights Reserved.
  */
 
-#include "libxfs.h"
-
-#define EXTERN
 #include "globals.h"
+
+/* global variables for xfs_repair */
+
+/* arguments and argument flag variables */
+
+char   *fs_name;               /* name of filesystem */
+int    verbose;                /* verbose flag, mostly for debugging */
+
+
+/* for reading stuff in manually (bypassing libsim) */
+
+char   *iobuf;                 /* large buffer */
+int    iobuf_size;
+char   *smallbuf;              /* small (1-4 page) buffer */
+int    smallbuf_size;
+int    sbbuf_size;
+
+/* direct I/O info */
+
+int    minio_align;            /* min I/O size and alignment */
+int    mem_align;              /* memory alignment */
+int    max_iosize;             /* max I/O size */
+
+/* file descriptors */
+
+int    fs_fd;                  /* filesystem fd */
+
+/* command-line flags */
+
+int    verbose;
+int    no_modify;
+int    dangerously;            /* live dangerously ... fix ro mount */
+int    isa_file;
+int    zap_log;
+int    dumpcore;               /* abort, not exit on fatal errs */
+int    force_geo;              /* can set geo on low confidence info */
+int    assume_xfs;             /* assume we have an xfs fs */
+char   *log_name;              /* Name of log device */
+int    log_spec;               /* Log dev specified as option */
+char   *rt_name;               /* Name of realtime device */
+int    rt_spec;                /* Realtime dev specified as option */
+int    convert_lazy_count;     /* Convert lazy-count mode on/off */
+int    lazy_count;             /* What to set if to if converting */
+
+/* misc status variables */
+
+int    primary_sb_modified;
+int    bad_ino_btree;
+int    copied_sunit;
+int    fs_is_dirty;
+
+/* for hunting down the root inode */
+
+int    need_root_inode;
+int    need_root_dotdot;
+
+int    need_rbmino;
+int    need_rsumino;
+
+int    lost_quotas;
+int    have_uquotino;
+int    have_gquotino;
+int    have_pquotino;
+int    lost_uquotino;
+int    lost_gquotino;
+int    lost_pquotino;
+
+xfs_agino_t    first_prealloc_ino;
+xfs_agino_t    last_prealloc_ino;
+xfs_agblock_t  bnobt_root;
+xfs_agblock_t  bcntbt_root;
+xfs_agblock_t  inobt_root;
+
+/* configuration vars -- fs geometry dependent */
+
+int            inodes_per_block;
+int            inodes_per_cluster;
+unsigned int   glob_agcount;
+int            chunks_pblock;  /* # of 64-ino chunks per allocation */
+int            max_symlink_blocks;
+int64_t                fs_max_file_offset;
+
+/* realtime info */
+
+xfs_rtword_t   *btmcompute;
+xfs_suminfo_t  *sumcompute;
+
+/* inode tree records have full or partial backptr fields ? */
+
+int    full_ino_ex_data;       /*
+                                * if 1, use ino_ex_data_t component
+                                * of ino_un union, if 0, use
+                                * parent_list_t component.  see
+                                * incore.h for more details
+                                */
+
+#define ORPHANAGE      "lost+found"
+
+/* superblock counters */
+
+uint64_t       sb_icount;      /* allocated (made) inodes */
+uint64_t       sb_ifree;       /* free inodes */
+uint64_t       sb_fdblocks;    /* free data blocks */
+uint64_t       sb_frextents;   /* free realtime extents */
+
+/* superblock geometry info */
+
+xfs_extlen_t   sb_inoalignmt;
+uint32_t       sb_unit;
+uint32_t       sb_width;
+
+struct aglock  *ag_locks;
+
+int            report_interval;
+uint64_t       *prog_rpt_done;
+
+int            ag_stride;
+int            thread_count;
index 9a9465f59bddbf2298335df27fa7d50a20c6377c..05121d4fe2d61800b6b61ec57411aa7038832a50 100644 (file)
@@ -7,9 +7,7 @@
 #ifndef _XFS_REPAIR_GLOBAL_H
 #define _XFS_REPAIR_GLOBAL_H
 
-#ifndef EXTERN
-#define EXTERN extern
-#endif
+#include "libxfs.h"
 
 /* useful macros */
 
 
 /* arguments and argument flag variables */
 
-EXTERN char    *fs_name;               /* name of filesystem */
-EXTERN int     verbose;                /* verbose flag, mostly for debugging */
+extern char    *fs_name;               /* name of filesystem */
+extern int     verbose;                /* verbose flag, mostly for debugging */
 
 
 /* for reading stuff in manually (bypassing libsim) */
 
-EXTERN char    *iobuf;                 /* large buffer */
-EXTERN int     iobuf_size;
-EXTERN char    *smallbuf;              /* small (1-4 page) buffer */
-EXTERN int     smallbuf_size;
-EXTERN int     sbbuf_size;
+extern char    *iobuf;                 /* large buffer */
+extern int     iobuf_size;
+extern char    *smallbuf;              /* small (1-4 page) buffer */
+extern int     smallbuf_size;
+extern int     sbbuf_size;
 
 /* direct I/O info */
 
-EXTERN int     minio_align;            /* min I/O size and alignment */
-EXTERN int     mem_align;              /* memory alignment */
-EXTERN int     max_iosize;             /* max I/O size */
+extern int     minio_align;            /* min I/O size and alignment */
+extern int     mem_align;              /* memory alignment */
+extern int     max_iosize;             /* max I/O size */
 
 /* file descriptors */
 
-EXTERN int     fs_fd;                  /* filesystem fd */
+extern int     fs_fd;                  /* filesystem fd */
 
 /* command-line flags */
 
-EXTERN int     verbose;
-EXTERN int     no_modify;
-EXTERN int     dangerously;            /* live dangerously ... fix ro mount */
-EXTERN int     isa_file;
-EXTERN int     zap_log;
-EXTERN int     dumpcore;               /* abort, not exit on fatal errs */
-EXTERN int     force_geo;              /* can set geo on low confidence info */
-EXTERN int     assume_xfs;             /* assume we have an xfs fs */
-EXTERN char    *log_name;              /* Name of log device */
-EXTERN int     log_spec;               /* Log dev specified as option */
-EXTERN char    *rt_name;               /* Name of realtime device */
-EXTERN int     rt_spec;                /* Realtime dev specified as option */
-EXTERN int     convert_lazy_count;     /* Convert lazy-count mode on/off */
-EXTERN int     lazy_count;             /* What to set if to if converting */
+extern int     verbose;
+extern int     no_modify;
+extern int     dangerously;            /* live dangerously ... fix ro mount */
+extern int     isa_file;
+extern int     zap_log;
+extern int     dumpcore;               /* abort, not exit on fatal errs */
+extern int     force_geo;              /* can set geo on low confidence info */
+extern int     assume_xfs;             /* assume we have an xfs fs */
+extern char    *log_name;              /* Name of log device */
+extern int     log_spec;               /* Log dev specified as option */
+extern char    *rt_name;               /* Name of realtime device */
+extern int     rt_spec;                /* Realtime dev specified as option */
+extern int     convert_lazy_count;     /* Convert lazy-count mode on/off */
+extern int     lazy_count;             /* What to set if to if converting */
 
 /* misc status variables */
 
-EXTERN int             primary_sb_modified;
-EXTERN int             bad_ino_btree;
-EXTERN int             copied_sunit;
-EXTERN int             fs_is_dirty;
+extern int             primary_sb_modified;
+extern int             bad_ino_btree;
+extern int             copied_sunit;
+extern int             fs_is_dirty;
 
 /* for hunting down the root inode */
 
-EXTERN int             need_root_inode;
-EXTERN int             need_root_dotdot;
+extern int             need_root_inode;
+extern int             need_root_dotdot;
 
-EXTERN int             need_rbmino;
-EXTERN int             need_rsumino;
+extern int             need_rbmino;
+extern int             need_rsumino;
 
-EXTERN int             lost_quotas;
-EXTERN int             have_uquotino;
-EXTERN int             have_gquotino;
-EXTERN int             have_pquotino;
-EXTERN int             lost_uquotino;
-EXTERN int             lost_gquotino;
-EXTERN int             lost_pquotino;
+extern int             lost_quotas;
+extern int             have_uquotino;
+extern int             have_gquotino;
+extern int             have_pquotino;
+extern int             lost_uquotino;
+extern int             lost_gquotino;
+extern int             lost_pquotino;
 
-EXTERN xfs_agino_t     first_prealloc_ino;
-EXTERN xfs_agino_t     last_prealloc_ino;
-EXTERN xfs_agblock_t   bnobt_root;
-EXTERN xfs_agblock_t   bcntbt_root;
-EXTERN xfs_agblock_t   inobt_root;
+extern xfs_agino_t     first_prealloc_ino;
+extern xfs_agino_t     last_prealloc_ino;
+extern xfs_agblock_t   bnobt_root;
+extern xfs_agblock_t   bcntbt_root;
+extern xfs_agblock_t   inobt_root;
 
 /* configuration vars -- fs geometry dependent */
 
-EXTERN int             inodes_per_block;
-EXTERN int             inodes_per_cluster;
-EXTERN unsigned int    glob_agcount;
-EXTERN int             chunks_pblock;  /* # of 64-ino chunks per allocation */
-EXTERN int             max_symlink_blocks;
-EXTERN int64_t         fs_max_file_offset;
+extern int             inodes_per_block;
+extern int             inodes_per_cluster;
+extern unsigned int    glob_agcount;
+extern int             chunks_pblock;  /* # of 64-ino chunks per allocation */
+extern int             max_symlink_blocks;
+extern int64_t         fs_max_file_offset;
 
 /* realtime info */
 
-EXTERN xfs_rtword_t    *btmcompute;
-EXTERN xfs_suminfo_t   *sumcompute;
+extern xfs_rtword_t    *btmcompute;
+extern xfs_suminfo_t   *sumcompute;
 
 /* inode tree records have full or partial backptr fields ? */
 
-EXTERN int             full_ino_ex_data;/*
+extern int             full_ino_ex_data;/*
                                          * if 1, use ino_ex_data_t component
                                          * of ino_un union, if 0, use
                                          * parent_list_t component.  see
@@ -148,26 +146,26 @@ EXTERN int                full_ino_ex_data;/*
 
 /* superblock counters */
 
-EXTERN uint64_t        sb_icount;      /* allocated (made) inodes */
-EXTERN uint64_t        sb_ifree;       /* free inodes */
-EXTERN uint64_t        sb_fdblocks;    /* free data blocks */
-EXTERN uint64_t        sb_frextents;   /* free realtime extents */
+extern uint64_t        sb_icount;      /* allocated (made) inodes */
+extern uint64_t        sb_ifree;       /* free inodes */
+extern uint64_t        sb_fdblocks;    /* free data blocks */
+extern uint64_t        sb_frextents;   /* free realtime extents */
 
 /* superblock geometry info */
 
-EXTERN xfs_extlen_t    sb_inoalignmt;
-EXTERN uint32_t        sb_unit;
-EXTERN uint32_t        sb_width;
+extern xfs_extlen_t    sb_inoalignmt;
+extern uint32_t        sb_unit;
+extern uint32_t        sb_width;
 
 struct aglock {
        pthread_mutex_t lock __attribute__((__aligned__(64)));
 };
-EXTERN struct aglock   *ag_locks;
+extern struct aglock   *ag_locks;
 
-EXTERN int             report_interval;
-EXTERN uint64_t                *prog_rpt_done;
+extern int             report_interval;
+extern uint64_t                *prog_rpt_done;
 
-EXTERN int             ag_stride;
-EXTERN int             thread_count;
+extern int             ag_stride;
+extern int             thread_count;
 
 #endif /* _XFS_REPAIR_GLOBAL_H */
index 9766e9292179cb5360821b197954787238507a96..8fad41fa3c98e71ec78d70b190c9787cdf9ff880 100644 (file)
@@ -6,11 +6,28 @@
 
 #include "libxfs.h"
 
-#define EXTERN
-#include "versions.h"
-#undef EXTERN
 #include "err_protos.h"
 #include "globals.h"
+#include "versions.h"
+
+/*
+ * filesystem feature global vars, set to 1 if the feature
+ * is on, 0 otherwise
+ */
+
+int fs_attributes;
+int fs_attributes2;
+int fs_inode_nlink;
+int fs_quotas;
+int fs_aligned_inodes;
+int fs_sb_feature_bits;
+int fs_has_extflgbit;
+
+/*
+ * inode chunk alignment, fsblocks
+ */
+
+xfs_extlen_t   fs_ino_alignment;
 
 void
 update_sb_version(xfs_mount_t *mp)
index 0cecf164ffa6901e33d0bfc97e408204ad13cc24..e1e2521ccb525ebabfcfea379609b641b73454d5 100644 (file)
  * is on, 0 otherwise
  */
 
-EXTERN int             fs_attributes;
-EXTERN int             fs_attributes2;
-EXTERN int             fs_inode_nlink;
-EXTERN int             fs_quotas;
-EXTERN int             fs_aligned_inodes;
-EXTERN int             fs_sb_feature_bits;
-EXTERN int             fs_has_extflgbit;
+extern int             fs_attributes;
+extern int             fs_attributes2;
+extern int             fs_inode_nlink;
+extern int             fs_quotas;
+extern int             fs_aligned_inodes;
+extern int             fs_sb_feature_bits;
+extern int             fs_has_extflgbit;
 
 /*
  * inode chunk alignment, fsblocks
  */
 
-EXTERN xfs_extlen_t    fs_ino_alignment;
+extern xfs_extlen_t    fs_ino_alignment;
 
 /*
  * modify superblock to reflect current state of global fs