Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=544e8ad99a…
Commit: 544e8ad99a5d47eaad9e027e52bb6cc1e85075d2
Parent: 885d165e685456f6c8fa4bab43c502e469ceded7
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Wed Oct 31 11:11:22 2012 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Oct 31 11:11:22 2012 +0000
fsck.gfs2: Fix build failure
gfs2/fsck/pass2.c:264: undefined reference to `inode_read'
Update the call to lgfs2_inode_read()
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/pass2.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c
index 177b01a..7935f8b 100644
--- a/gfs2/fsck/pass2.c
+++ b/gfs2/fsck/pass2.c
@@ -261,7 +261,7 @@ static int bad_formal_ino(struct gfs2_inode *ip, struct gfs2_dirent *dent,
/* We have a directory pointing to another directory, but the
formal inode number still doesn't match. If that directory
has a '..' pointing back, just fix up the no_formal_ino. */
- child_ip = inode_read(sdp, entry.no_addr);
+ child_ip = lgfs2_inode_read(sdp, entry.no_addr);
error = dir_search(child_ip, "..", 2, NULL, &childs_dotdot);
if (!error && childs_dotdot.no_addr == ip->i_di.di_num.no_addr) {
log_err( _("The entry points to another directory with intact "
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=31710448d3…
Commit: 31710448d37825078494fb63c4af1f9dd83bcb24
Parent: ad15965a9449e68dc83aa21190262c493089f05d
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Thu Oct 18 14:43:53 2012 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Thu Oct 18 14:43:53 2012 +0100
libgfs2: Move valid_block into fsck.gfs2
valid_block() is only used by fsck.gfs2 as none of the other utils
require the same level of paranoia so we can move it into fsck.h and
make it static inline.
In my (small) tests the speedup effect is barely noticeable but it
should make a difference for larger file systems, particularly those
with very large directories.
Also fsck/fs_bits.h is no longer used so this patch removes it.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/Makefile.am | 2 +-
gfs2/fsck/fs_bits.h | 17 -----------------
gfs2/fsck/fsck.h | 6 ++++++
gfs2/fsck/util.c | 1 -
gfs2/libgfs2/fs_bits.c | 17 -----------------
gfs2/libgfs2/libgfs2.h | 1 -
6 files changed, 7 insertions(+), 37 deletions(-)
diff --git a/gfs2/fsck/Makefile.am b/gfs2/fsck/Makefile.am
index 261f6b1..b92c745 100644
--- a/gfs2/fsck/Makefile.am
+++ b/gfs2/fsck/Makefile.am
@@ -10,7 +10,7 @@ sbindir := $(shell rpl=0; test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \
sbin_PROGRAMS = fsck.gfs2
-noinst_HEADERS = eattr.h fs_bits.h fsck.h fs_recovery.h \
+noinst_HEADERS = eattr.h fsck.h fs_recovery.h \
inode_hash.h link.h lost_n_found.h metawalk.h util.h
fsck_gfs2_SOURCES = eattr.c fs_recovery.c initialize.c \
diff --git a/gfs2/fsck/fs_bits.h b/gfs2/fsck/fs_bits.h
deleted file mode 100644
index d4f262e..0000000
--- a/gfs2/fsck/fs_bits.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __FS_BITS_H__
-#define __FS_BITS_H__
-
-#include "libgfs2.h"
-#include "fsck.h"
-
-#define BFITNOENT (0xFFFFFFFF)
-
-struct fs_bitmap
-{
- uint32_t bi_offset; /* The offset in the buffer of the first byte */
- uint32_t bi_start; /* The position of the first byte in this block */
- uint32_t bi_len; /* The number of bytes in this block */
-};
-typedef struct fs_bitmap fs_bitmap_t;
-
-#endif /* __FS_BITS_H__ */
diff --git a/gfs2/fsck/fsck.h b/gfs2/fsck/fsck.h
index 70fc3d7..dd49280 100644
--- a/gfs2/fsck/fsck.h
+++ b/gfs2/fsck/fsck.h
@@ -148,4 +148,10 @@ extern int dups_found_first; /* How many duplicates have we found the original
reference for? */
extern struct gfs_sb *sbd1;
+static inline int valid_block(struct gfs2_sbd *sdp, uint64_t blkno)
+{
+ return !((blkno > sdp->fssize) || (blkno <= sdp->sb_addr) ||
+ (gfs2_get_bitmap(sdp, blkno, NULL) < 0));
+}
+
#endif /* _FSCK_H */
diff --git a/gfs2/fsck/util.c b/gfs2/fsck/util.c
index 6c80ae8..eff7382 100644
--- a/gfs2/fsck/util.c
+++ b/gfs2/fsck/util.c
@@ -13,7 +13,6 @@
#define _(String) gettext(String)
#include "libgfs2.h"
-#include "fs_bits.h"
#include "metawalk.h"
#include "util.h"
diff --git a/gfs2/libgfs2/fs_bits.c b/gfs2/libgfs2/fs_bits.c
index 5eeb920..fdc3bb3 100644
--- a/gfs2/libgfs2/fs_bits.c
+++ b/gfs2/libgfs2/fs_bits.c
@@ -113,23 +113,6 @@ int gfs2_check_range(struct gfs2_sbd *sdp, uint64_t blkno)
}
/*
- * valid_block - check if blkno is valid and not part of our rgrps or bitmaps
- * @sdp: super block
- * @blkno: block number
- *
- * Returns: 1 if ok, 0 if out of bounds
- */
-int valid_block(struct gfs2_sbd *sdp, uint64_t blkno)
-{
- if((blkno > sdp->fssize) || (blkno <= sdp->sb_addr))
- return 0;
- /* Check if the block is one of our rgrp or bitmap blocks */
- if (gfs2_get_bitmap(sdp, blkno, NULL) < 0)
- return 0;
- return 1;
-}
-
-/*
* gfs2_set_bitmap
* @sdp: super block
* @blkno: block number relative to file system
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 3045337..bf65922 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -408,7 +408,6 @@ extern uint32_t gfs2_blkalloc_internal(struct rgrp_tree *rgd, uint32_t goal,
extern int gfs2_check_range(struct gfs2_sbd *sdp, uint64_t blkno);
/* functions with blk #'s that are file system relative */
-extern int valid_block(struct gfs2_sbd *sdp, uint64_t blkno);
extern int gfs2_get_bitmap(struct gfs2_sbd *sdp, uint64_t blkno,
struct rgrp_tree *rgd);
extern int gfs2_set_bitmap(struct gfs2_sbd *sdp, uint64_t blkno, int state);