From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] gfs2-utils: Remove unused exported functions
Date: Wed, 04 Jul 2012 16:44:48 +0100 [thread overview]
Message-ID: <1341416688.2739.23.camel@menhir> (raw)
In-Reply-To: <1341415831-31839-1-git-send-email-anprice@redhat.com>
Hi,
ACK,
Steve.
On Wed, 2012-07-04 at 16:30 +0100, Andrew Price wrote:
> These symbols are now unused within the gfs2-utils tree:
>
> $ findunused.sh | grep -v '^group/'
> gfs2/libgfs2/libgfs2.h:712 find_debugfs_mount
> gfs2/libgfs2/misc.c:314 find_debugfs_mount
> gfs2/libgfs2/libgfs2.h:395 gfs2_bitcount
> gfs2/libgfs2/fs_bits.c:109 gfs2_bitcount
> gfs2/libgfs2/libgfs2.h:835 gfs2_dirent_print
> gfs2/libgfs2/ondisk.c:418 gfs2_dirent_print
> gfs2/libgfs2/libgfs2.h:810 gfs2_ea_header_out
> gfs2/libgfs2/ondisk.c:481 gfs2_ea_header_out
> gfs2/libgfs2/fs_ops.c:1371 init_gfs_dinode
> gfs2/libgfs2/libgfs2.h:451 init_gfs_dinode
> gfs2/libgfs2/libgfs2.h:713 mp2fsname
> gfs2/libgfs2/misc.c:365 mp2fsname
> gfs2/libgfs2/libgfs2.h:705 get_sysfs
> gfs2/libgfs2/misc.c:273 get_sysfs
>
> So it's safe to remove them. The idea is to simplify libgfs2 for now but
> if these are required in future they can be brought back.
>
> Signed-off-by: Andrew Price <anprice@redhat.com>
> ---
> gfs2/libgfs2/fs_bits.c | 32 -------------
> gfs2/libgfs2/fs_ops.c | 8 ----
> gfs2/libgfs2/libgfs2.h | 12 -----
> gfs2/libgfs2/misc.c | 124 ------------------------------------------------
> gfs2/libgfs2/ondisk.c | 28 -----------
> 5 files changed, 204 deletions(-)
>
> diff --git a/gfs2/libgfs2/fs_bits.c b/gfs2/libgfs2/fs_bits.c
> index d3ac048..5eeb920 100644
> --- a/gfs2/libgfs2/fs_bits.c
> +++ b/gfs2/libgfs2/fs_bits.c
> @@ -98,38 +98,6 @@ unsigned long gfs2_bitfit(const unsigned char *buf, const unsigned int len,
> return (((const unsigned char *)ptr - buf) * GFS2_NBBY) + bit;
> }
>
> -/**
> - * fs_bitcount - count the number of bits in a certain state
> - * @buffer: the buffer that holds the bitmaps
> - * @buflen: the length (in bytes) of the buffer
> - * @state: the state of the block we're looking for
> - *
> - * Returns: The number of bits
> - */
> -uint32_t gfs2_bitcount(unsigned char *buffer, unsigned int buflen,
> - unsigned char state)
> -{
> - unsigned char *byte, *end;
> - unsigned int bit;
> - uint32_t count = 0;
> -
> - byte = buffer;
> - bit = 0;
> - end = buffer + buflen;
> -
> - while (byte < end){
> - if (((*byte >> bit) & GFS2_BIT_MASK) == state)
> - count++;
> -
> - bit += GFS2_BIT_SIZE;
> - if (bit >= 8){
> - bit = 0;
> - byte++;
> - }
> - }
> - return count;
> -}
> -
> /*
> * check_range - check if blkno is within FS limits
> * @sdp: super block
> diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
> index 470916c..9409332 100644
> --- a/gfs2/libgfs2/fs_ops.c
> +++ b/gfs2/libgfs2/fs_ops.c
> @@ -1368,14 +1368,6 @@ struct gfs2_buffer_head *init_dinode(struct gfs2_sbd *sdp,
> return __init_dinode(sdp, inum, mode, flags, parent, 0);
> }
>
> -struct gfs2_buffer_head *init_gfs_dinode(struct gfs2_sbd *sdp,
> - struct gfs2_inum *inum,
> - unsigned int mode, uint32_t flags,
> - struct gfs2_inum *parent)
> -{
> - return __init_dinode(sdp, inum, mode, flags, parent, 1);
> -}
> -
> static struct gfs2_inode *__createi(struct gfs2_inode *dip,
> const char *filename, unsigned int mode,
> uint32_t flags, int if_gfs1)
> diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
> index 2fc47de..09f0b1d 100644
> --- a/gfs2/libgfs2/libgfs2.h
> +++ b/gfs2/libgfs2/libgfs2.h
> @@ -392,8 +392,6 @@ extern void fix_device_geometry(struct gfs2_sbd *sdp);
> #define BFITNOENT (0xFFFFFFFF)
>
> /* functions with blk #'s that are buffer relative */
> -extern uint32_t gfs2_bitcount(unsigned char *buffer, unsigned int buflen,
> - unsigned char state);
> extern unsigned long gfs2_bitfit(const unsigned char *buffer,
> const unsigned int buflen,
> unsigned long goal, unsigned char old_state);
> @@ -448,11 +446,6 @@ extern struct gfs2_buffer_head *init_dinode(struct gfs2_sbd *sdp,
> struct gfs2_inum *inum,
> unsigned int mode, uint32_t flags,
> struct gfs2_inum *parent);
> -extern struct gfs2_buffer_head *init_gfs_dinode(struct gfs2_sbd *sdp,
> - struct gfs2_inum *inum,
> - unsigned int mode,
> - uint32_t flags,
> - struct gfs2_inum *parent);
> extern struct gfs2_inode *createi(struct gfs2_inode *dip, const char *filename,
> unsigned int mode, uint32_t flags);
> extern struct gfs2_inode *gfs_createi(struct gfs2_inode *dip,
> @@ -709,9 +702,6 @@ extern int dir_exists(const char *dir);
> extern int check_for_gfs2(struct gfs2_sbd *sdp);
> extern int mount_gfs2_meta(struct gfs2_sbd *sdp);
> extern void cleanup_metafs(struct gfs2_sbd *sdp);
> -extern char *find_debugfs_mount(void);
> -extern char *mp2fsname(char *mp);
> -extern char *get_sysfs(const char *fsname, const char *filename);
> extern int set_sysfs(const char *fsname, const char *filename, const char *val);
> extern int is_fsname(char *name);
> extern void get_random_bytes(void *buf, int nbytes);
> @@ -807,7 +797,6 @@ extern void gfs2_dirent_out(struct gfs2_dirent *de, char *buf);
> extern void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh);
> extern void gfs2_leaf_out(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh);
> extern void gfs2_ea_header_in(struct gfs2_ea_header *ea, char *buf);
> -extern void gfs2_ea_header_out(struct gfs2_ea_header *ea, char *buf);
> extern void gfs2_log_header_in(struct gfs2_log_header *lh,
> struct gfs2_buffer_head *bh);
> extern void gfs2_log_header_out(struct gfs2_log_header *lh,
> @@ -832,7 +821,6 @@ extern void gfs2_rindex_print(struct gfs2_rindex *ri);
> extern void gfs2_rgrp_print(struct gfs2_rgrp *rg);
> extern void gfs2_quota_print(struct gfs2_quota *qu);
> extern void gfs2_dinode_print(struct gfs2_dinode *di);
> -extern void gfs2_dirent_print(struct gfs2_dirent *de, char *name);
> extern void gfs2_leaf_print(struct gfs2_leaf *lf);
> extern void gfs2_ea_header_print(struct gfs2_ea_header *ea, char *name);
> extern void gfs2_log_header_print(struct gfs2_log_header *lh);
> diff --git a/gfs2/libgfs2/misc.c b/gfs2/libgfs2/misc.c
> index 13ef972..a68da4a 100644
> --- a/gfs2/libgfs2/misc.c
> +++ b/gfs2/libgfs2/misc.c
> @@ -248,42 +248,6 @@ void cleanup_metafs(struct gfs2_sbd *sdp)
> rmdir(sdp->metafs_path);
> }
>
> -static char *__get_sysfs(const char *fsname, const char *filename)
> -{
> - char path[PATH_MAX];
> - int fd, rv;
> -
> - memset(path, 0, PATH_MAX);
> - memset(sysfs_buf, 0, PAGE_SIZE);
> - snprintf(path, PATH_MAX - 1, "%s/%s/%s", SYS_BASE, fsname, filename);
> -
> - fd = open(path, O_RDONLY);
> - if (fd < 0)
> - return NULL;
> - rv = read(fd, sysfs_buf, PAGE_SIZE);
> - if (rv < 0) {
> - close(fd);
> - return NULL;
> - }
> -
> - close(fd);
> - return sysfs_buf;
> -}
> -
> -char *get_sysfs(const char *fsname, const char *filename)
> -{
> - char *s;
> - char *p;
> -
> - s = __get_sysfs(fsname, filename);
> - if (!s)
> - return NULL;
> - p = strchr(s, '\n');
> - if (p)
> - *p = '\0';
> - return sysfs_buf;
> -}
> -
> int set_sysfs(const char *fsname, const char *filename, const char *val)
> {
> char path[PATH_MAX];
> @@ -311,94 +275,6 @@ int set_sysfs(const char *fsname, const char *filename, const char *val)
> return 0;
> }
>
> -char *find_debugfs_mount(void)
> -{
> - FILE *file;
> - char line[PATH_MAX];
> - char device[PATH_MAX], type[PATH_MAX];
> - char *path;
> -
> - file = fopen("/proc/mounts", "rt");
> - if (!file)
> - return NULL;
> -
> - path = malloc(PATH_MAX);
> - if (!path) {
> - fclose(file);
> - return NULL;
> - }
> - while (fgets(line, PATH_MAX, file)) {
> -
> - if (sscanf(line, "%s %s %s", device, path, type) != 3)
> - continue;
> - if (!strcmp(type, "debugfs")) {
> - fclose(file);
> - return path;
> - }
> - }
> -
> - free(path);
> - fclose(file);
> - return NULL;
> -}
> -
> -/**
> - * mp2fsname - Find the name for a filesystem given its mountpoint
> - *
> - * We do this by iterating through gfs2 dirs in /sys/fs/gfs2/ looking for
> - * one where the "id" attribute matches the device id returned by stat for
> - * the mount point. The reason we go through all this is simple: the
> - * kernel's sysfs is named after the VFS s_id, not the device name.
> - * So it's perfectly legal to do something like this to simulate user
> - * conditions without the proper hardware:
> - * # rm /dev/sdb1
> - * # mkdir /dev/cciss
> - * # mknod /dev/cciss/c0d0p1 b 8 17
> - * # mount -tgfs2 /dev/cciss/c0d0p1 /mnt/gfs2
> - * # gfs2_tool gettune /mnt/gfs2
> - * In this example the tuning variables are in a directory named after the
> - * VFS s_id, which in this case would be /sys/fs/gfs2/sdb1/
> - *
> - * Returns: the fsname
> - */
> -
> -char *mp2fsname(char *mp)
> -{
> - char device_id[PATH_MAX], *fsname = NULL;
> - struct stat statbuf;
> - DIR *d;
> - struct dirent *de;
> - char *id;
> -
> - if (stat(mp, &statbuf))
> - return NULL;
> -
> - memset(device_id, 0, sizeof(device_id));
> - sprintf(device_id, "%i:%i", major(statbuf.st_dev),
> - minor(statbuf.st_dev));
> -
> - d = opendir(SYS_BASE);
> - if (!d)
> - return NULL;
> -
> - while ((de = readdir(d))) {
> - if (de->d_name[0] == '.')
> - continue;
> -
> - id = get_sysfs(de->d_name, "id");
> - if (!id)
> - continue;
> - if (strcmp(id, device_id) == 0) {
> - fsname = strdup(de->d_name);
> - break;
> - }
> - }
> -
> - closedir(d);
> -
> - return fsname;
> -}
> -
> /*
> * get_random_bytes - Generate a series of random bytes using /dev/urandom.
> *
> diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
> index 73b2b0f..301d92d 100644
> --- a/gfs2/libgfs2/ondisk.c
> +++ b/gfs2/libgfs2/ondisk.c
> @@ -415,21 +415,6 @@ void gfs2_dirent_out(struct gfs2_dirent *de, char *buf)
> memset(str->__pad, 0, sizeof(str->__pad));
> }
>
> -void gfs2_dirent_print(struct gfs2_dirent *de, char *name)
> -{
> - char buf[GFS2_FNAMESIZE + 1];
> -
> - gfs2_inum_print(&de->de_inum);
> - pv(de, de_hash, "0x%.8X", NULL);
> - pv(de, de_rec_len, "%u", "0x%x");
> - pv(de, de_name_len, "%u", "0x%x");
> - pv(de, de_type, "%u", "0x%x");
> -
> - memset(buf, 0, GFS2_FNAMESIZE + 1);
> - memcpy(buf, name, de->de_name_len);
> - print_it(" name", "%s", NULL, buf);
> -}
> -
> void gfs2_leaf_in(struct gfs2_leaf *lf, struct gfs2_buffer_head *bh)
> {
> struct gfs2_leaf *str = (struct gfs2_leaf *)bh->b_data;
> @@ -478,19 +463,6 @@ void gfs2_ea_header_in(struct gfs2_ea_header *ea, char *buf)
> ea->ea_num_ptrs = str->ea_num_ptrs;
> }
>
> -void gfs2_ea_header_out(struct gfs2_ea_header *ea, char *buf)
> -{
> - struct gfs2_ea_header *str = (struct gfs2_ea_header *)buf;
> -
> - CPOUT_32(ea, str, ea_rec_len);
> - CPOUT_32(ea, str, ea_data_len);
> - str->ea_name_len = ea->ea_name_len;
> - str->ea_type = ea->ea_type;
> - str->ea_flags = ea->ea_flags;
> - str->ea_num_ptrs = ea->ea_num_ptrs;
> - str->__pad = 0;
> -}
> -
> void gfs2_ea_header_print(struct gfs2_ea_header *ea, char *name)
> {
> char buf[GFS2_EA_MAX_NAME_LEN + 1];
prev parent reply other threads:[~2012-07-04 15:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-04 15:30 [Cluster-devel] [PATCH] gfs2-utils: Remove unused exported functions Andrew Price
2012-07-04 15:44 ` Steven Whitehouse [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1341416688.2739.23.camel@menhir \
--to=swhiteho@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).