lkml.org 
[lkml]   [2007]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] [GFS2] Addendum patch 2 for gfs2_grow
    Date
    From: Robert Peterson <rpeterso@redhat.com>

    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>

    diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
    index 1815429..c66c718 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)

    print_dbg(gi, " Inode:\n");
    print_dbg(gi, " num = %llu/%llu\n",
    - ip->i_num.no_formal_ino, ip->i_num.no_addr);
    + (unsigned long long)ip->i_num.no_formal_ino,
    + (unsigned long long)ip->i_num.no_addr);
    print_dbg(gi, " type = %u\n", IF2DT(ip->i_inode.i_mode));
    print_dbg(gi, " i_flags =");
    for (x = 0; x < 32; x++)
    @@ -1909,8 +1910,8 @@ static int dump_glock(struct glock_iter *gi, struct gfs2_glock *gl)
    }
    if (test_bit(GLF_DEMOTE, &gl->gl_flags)) {
    print_dbg(gi, " Demotion req to state %u (%llu uS ago)\n",
    - gl->gl_demote_state,
    - (u64)(jiffies - gl->gl_demote_time)*(1000000/HZ));
    + gl->gl_demote_state, (unsigned long long)
    + (jiffies - gl->gl_demote_time)*(1000000/HZ));
    }
    if (gl->gl_ops == &gfs2_inode_glops && gl->gl_object) {
    if (!test_bit(GLF_LOCK, &gl->gl_flags) &&
    diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
    index e0b4e8c..4913ef5 100644
    --- a/fs/gfs2/ops_address.c
    +++ b/fs/gfs2/ops_address.c
    @@ -32,6 +32,7 @@
    #include "trans.h"
    #include "rgrp.h"
    #include "ops_file.h"
    +#include "super.h"
    #include "util.h"
    #include "glops.h"

    diff --git a/fs/gfs2/ops_address.h b/fs/gfs2/ops_address.h
    index 56c30da..fa1b5b3 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;
    extern int gfs2_get_block(struct inode *inode, sector_t lblock,
    struct buffer_head *bh_result, int create);
    extern int gfs2_releasepage(struct page *page, gfp_t gfp_mask);
    -extern u64 gfs2_ri_total(struct gfs2_sbd *sdp);
    -extern void gfs2_statfs_change(struct gfs2_sbd *sdp, s64 total, s64 free,
    - s64 dinodes);

    #endif /* __OPS_ADDRESS_DOT_H__ */
    diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
    index 48a6461..a62c0f2 100644
    --- a/fs/gfs2/rgrp.c
    +++ b/fs/gfs2/rgrp.c
    @@ -527,10 +527,10 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
    struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
    struct inode *inode = &ip->i_inode;
    struct file_ra_state ra_state;
    - u64 junk = ip->i_di.di_size;
    + u64 rgrp_count = ip->i_di.di_size;
    int error;

    - if (do_div(junk, sizeof(struct gfs2_rindex))) {
    + if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) {
    gfs2_consist_inode(ip);
    return -EIO;
    }
    @@ -538,7 +538,7 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
    clear_rgrpdi(sdp);

    file_ra_state_init(&ra_state, inode->i_mapping);
    - for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) {
    + for (sdp->sd_rgrps = 0; sdp->sd_rgrps < rgrp_count; sdp->sd_rgrps++) {
    error = read_rindex_entry(ip, &ra_state);
    if (error) {
    clear_rgrpdi(sdp);
    diff --git a/fs/gfs2/rgrp.h b/fs/gfs2/rgrp.h
    index b01e0cf..b4c6adf 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,
    void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist, unsigned int state,
    int flags);
    void gfs2_rlist_free(struct gfs2_rgrp_list *rlist);
    +u64 gfs2_ri_total(struct gfs2_sbd *sdp);

    #endif /* __RGRP_DOT_H__ */
    --
    1.5.1.2
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-07-09 18:29    [W:3.165 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site