[GFS2] Add generation number
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / fs / gfs2 / rgrp.c
index 75df79eb50ba1cc09841c2ab34779ff2e0e3e6f0..65eea0b88bf7d858b54fef6095f12cdb5073e830 100644 (file)
@@ -447,8 +447,6 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
        uint64_t junk = ip->i_di.di_size;
        int error;
 
-       printk(KERN_INFO "gfs2_ri_update inode=%p\n", inode);
-
        if (do_div(junk, sizeof(struct gfs2_rindex))) {
                gfs2_consist_inode(ip);
                return -EIO;
@@ -456,12 +454,9 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
 
        clear_rgrpdi(sdp);
 
-       printk(KERN_INFO "rgrps cleared\n");
-
        file_ra_state_init(&ra_state, inode->i_mapping);
        for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) {
                loff_t pos = sdp->sd_rgrps * sizeof(struct gfs2_rindex);
-               printk(KERN_INFO "reading rgrp %d\n", sdp->sd_rgrps);
                error = gfs2_internal_read(ip, &ra_state, buf, &pos,
                                            sizeof(struct gfs2_rindex));
                if (!error)
@@ -485,15 +480,12 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
                list_add_tail(&rgd->rd_list_mru, &sdp->sd_rindex_mru_list);
 
                gfs2_rindex_in(&rgd->rd_ri, buf);
-               printk(KERN_INFO "compute bitstructs\n");
                error = compute_bitstructs(rgd);
                if (error)
                        goto fail;
 
-               printk(KERN_INFO "gfs2_glock_get\n");
                error = gfs2_glock_get(sdp, rgd->rd_ri.ri_addr,
                                       &gfs2_rgrp_glops, CREATE, &rgd->rd_gl);
-               printk(KERN_INFO "gfs2_glock_got one\n");
                if (error)
                        goto fail;
 
@@ -501,14 +493,11 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
                rgd->rd_rg_vn = rgd->rd_gl->gl_vn - 1;
        }
 
-       printk(KERN_INFO "ok, finished\n");
        sdp->sd_rindex_vn = ip->i_gl->gl_vn;
        return 0;
 
 fail:
-       printk(KERN_INFO "fail\n");
        clear_rgrpdi(sdp);
-       printk(KERN_INFO "cleared rgrps\n");
        return error;
 }
 
@@ -1216,7 +1205,7 @@ static struct gfs2_rgrpd *rgblk_free(struct gfs2_sbd *sdp, uint64_t bstart,
  * Returns: the allocated block
  */
 
-uint64_t gfs2_alloc_data(struct gfs2_inode *ip)
+u64 gfs2_alloc_data(struct gfs2_inode *ip)
 {
        struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
        struct gfs2_alloc *al = &ip->i_alloc;
@@ -1260,7 +1249,7 @@ uint64_t gfs2_alloc_data(struct gfs2_inode *ip)
  * Returns: the allocated block
  */
 
-uint64_t gfs2_alloc_meta(struct gfs2_inode *ip)
+u64 gfs2_alloc_meta(struct gfs2_inode *ip)
 {
        struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
        struct gfs2_alloc *al = &ip->i_alloc;
@@ -1305,13 +1294,13 @@ uint64_t gfs2_alloc_meta(struct gfs2_inode *ip)
  * Returns: the block allocated
  */
 
-uint64_t gfs2_alloc_di(struct gfs2_inode *dip)
+u64 gfs2_alloc_di(struct gfs2_inode *dip, u64 *generation)
 {
        struct gfs2_sbd *sdp = GFS2_SB(&dip->i_inode);
        struct gfs2_alloc *al = &dip->i_alloc;
        struct gfs2_rgrpd *rgd = al->al_rgd;
-       uint32_t blk;
-       uint64_t block;
+       u32 blk;
+       u64 block;
 
        blk = rgblk_search(rgd, rgd->rd_last_alloc_meta,
                           GFS2_BLKST_FREE, GFS2_BLKST_DINODE);
@@ -1323,7 +1312,7 @@ uint64_t gfs2_alloc_di(struct gfs2_inode *dip)
        gfs2_assert_withdraw(sdp, rgd->rd_rg.rg_free);
        rgd->rd_rg.rg_free--;
        rgd->rd_rg.rg_dinodes++;
-
+       *generation = rgd->rd_rg.rg_igeneration++;
        gfs2_trans_add_bh(rgd->rd_gl, rgd->rd_bits[0].bi_bh, 1);
        gfs2_rgrp_out(&rgd->rd_rg, rgd->rd_bits[0].bi_bh->b_data);
 
@@ -1412,7 +1401,7 @@ void gfs2_unlink_di(struct inode *inode)
        gfs2_trans_add_rg(rgd);
 }
 
-void gfs2_free_uninit_di(struct gfs2_rgrpd *rgd, uint64_t blkno)
+static void gfs2_free_uninit_di(struct gfs2_rgrpd *rgd, uint64_t blkno)
 {
        struct gfs2_sbd *sdp = rgd->rd_sbd;
        struct gfs2_rgrpd *tmp_rgd;