aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Peterson <rpeterso@redhat.com>2007-05-14 13:42:18 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2007-07-09 03:22:19 -0400
commitcd81a4bac67d44742ab0aa1848f4a78e9d7e1093 (patch)
tree0cc323d20ff2cc8faffc99ee5a998409cb4f165d
parent0507ecf50f22e433592f5ec3a36dc831aaec2e02 (diff)
[GFS2] Addendum patch 2 for gfs2_grow
This addendum patch 2 corrects three things: 1. It fixes a stupid mistake in the previous addendum that broke gfs2. Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html 2. It fixes a problem that Dave Teigland pointed out regarding the external declarations in ops_address.h being in the wrong place. 3. It recasts a couple more %llu printks to (unsigned long long) as requested by Steve Whitehouse. I would have loved to put this all in one revised patch, but there was a rush to get some patches for RHEL5. Therefore, the previous patches were applied to the git tree "as is" and therefore, I'm posting another addendum. Sorry. Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/glock.c7
-rw-r--r--fs/gfs2/ops_address.c1
-rw-r--r--fs/gfs2/ops_address.h3
-rw-r--r--fs/gfs2/rgrp.c6
-rw-r--r--fs/gfs2/rgrp.h1
5 files changed, 9 insertions, 9 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 1815429a2978..c66c718013ef 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1823,7 +1823,8 @@ static int dump_inode(struct glock_iter *gi, struct gfs2_inode *ip)
1823 1823
1824 print_dbg(gi, " Inode:\n"); 1824 print_dbg(gi, " Inode:\n");
1825 print_dbg(gi, " num = %llu/%llu\n", 1825 print_dbg(gi, " num = %llu/%llu\n",
1826 ip->i_num.no_formal_ino, ip->i_num.no_addr); 1826 (unsigned long long)ip->i_num.no_formal_ino,
1827 (unsigned long long)ip->i_num.no_addr);
1827 print_dbg(gi, " type = %u\n", IF2DT(ip->i_inode.i_mode)); 1828 print_dbg(gi, " type = %u\n", IF2DT(ip->i_inode.i_mode));
1828 print_dbg(gi, " i_flags ="); 1829 print_dbg(gi, " i_flags =");
1829 for (x = 0; x < 32; x++) 1830 for (x = 0; x < 32; x++)
@@ -1909,8 +1910,8 @@ static int dump_glock(struct glock_iter *gi, struct gfs2_glock *gl)
1909 } 1910 }
1910 if (test_bit(GLF_DEMOTE, &gl->gl_flags)) { 1911 if (test_bit(GLF_DEMOTE, &gl->gl_flags)) {
1911 print_dbg(gi, " Demotion req to state %u (%llu uS ago)\n", 1912 print_dbg(gi, " Demotion req to state %u (%llu uS ago)\n",
1912 gl->gl_demote_state, 1913 gl->gl_demote_state, (unsigned long long)
1913 (u64)(jiffies - gl->gl_demote_time)*(1000000/HZ)); 1914 (jiffies - gl->gl_demote_time)*(1000000/HZ));
1914 } 1915 }
1915 if (gl->gl_ops == &gfs2_inode_glops && gl->gl_object) { 1916 if (gl->gl_ops == &gfs2_inode_glops && gl->gl_object) {
1916 if (!test_bit(GLF_LOCK, &gl->gl_flags) && 1917 if (!test_bit(GLF_LOCK, &gl->gl_flags) &&
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index e0b4e8c2b68d..4913ef57b095 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -32,6 +32,7 @@
32#include "trans.h" 32#include "trans.h"
33#include "rgrp.h" 33#include "rgrp.h"
34#include "ops_file.h" 34#include "ops_file.h"
35#include "super.h"
35#include "util.h" 36#include "util.h"
36#include "glops.h" 37#include "glops.h"
37 38
diff --git a/fs/gfs2/ops_address.h b/fs/gfs2/ops_address.h
index 56c30daf895b..fa1b5b3d28b9 100644
--- a/fs/gfs2/ops_address.h
+++ b/fs/gfs2/ops_address.h
@@ -18,8 +18,5 @@ extern const struct address_space_operations gfs2_file_aops;
18extern int gfs2_get_block(struct inode *inode, sector_t lblock, 18extern int gfs2_get_block(struct inode *inode, sector_t lblock,
19 struct buffer_head *bh_result, int create); 19 struct buffer_head *bh_result, int create);
20extern int gfs2_releasepage(struct page *page, gfp_t gfp_mask); 20extern int gfs2_releasepage(struct page *page, gfp_t gfp_mask);
21extern u64 gfs2_ri_total(struct gfs2_sbd *sdp);
22extern void gfs2_statfs_change(struct gfs2_sbd *sdp, s64 total, s64 free,
23 s64 dinodes);
24 21
25#endif /* __OPS_ADDRESS_DOT_H__ */ 22#endif /* __OPS_ADDRESS_DOT_H__ */
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 48a6461d601c..a62c0f2d26d3 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -527,10 +527,10 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
527 struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); 527 struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
528 struct inode *inode = &ip->i_inode; 528 struct inode *inode = &ip->i_inode;
529 struct file_ra_state ra_state; 529 struct file_ra_state ra_state;
530 u64 junk = ip->i_di.di_size; 530 u64 rgrp_count = ip->i_di.di_size;
531 int error; 531 int error;
532 532
533 if (do_div(junk, sizeof(struct gfs2_rindex))) { 533 if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) {
534 gfs2_consist_inode(ip); 534 gfs2_consist_inode(ip);
535 return -EIO; 535 return -EIO;
536 } 536 }
@@ -538,7 +538,7 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
538 clear_rgrpdi(sdp); 538 clear_rgrpdi(sdp);
539 539
540 file_ra_state_init(&ra_state, inode->i_mapping); 540 file_ra_state_init(&ra_state, inode->i_mapping);
541 for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) { 541 for (sdp->sd_rgrps = 0; sdp->sd_rgrps < rgrp_count; sdp->sd_rgrps++) {
542 error = read_rindex_entry(ip, &ra_state); 542 error = read_rindex_entry(ip, &ra_state);
543 if (error) { 543 if (error) {
544 clear_rgrpdi(sdp); 544 clear_rgrpdi(sdp);
diff --git a/fs/gfs2/rgrp.h b/fs/gfs2/rgrp.h
index b01e0cfc99b5..b4c6adfc6f2e 100644
--- a/fs/gfs2/rgrp.h
+++ b/fs/gfs2/rgrp.h
@@ -65,5 +65,6 @@ void gfs2_rlist_add(struct gfs2_sbd *sdp, struct gfs2_rgrp_list *rlist,
65void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist, unsigned int state, 65void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist, unsigned int state,
66 int flags); 66 int flags);
67void gfs2_rlist_free(struct gfs2_rgrp_list *rlist); 67void gfs2_rlist_free(struct gfs2_rgrp_list *rlist);
68u64 gfs2_ri_total(struct gfs2_sbd *sdp);
68 69
69#endif /* __RGRP_DOT_H__ */ 70#endif /* __RGRP_DOT_H__ */