Browse Source

[GFS2] Make the new argument to gfs2_trans_add_bh() actually do something

Passes the flag through to ensure that the correct log operations are
invoked when the flag is set.

Signed-off-by: Steven Whitehouse: <swhiteho@redhat.com>
Steven Whitehouse 19 years ago
parent
commit
586dfdaaf3
3 changed files with 9 additions and 6 deletions
  1. 7 4
      fs/gfs2/meta_io.c
  2. 1 1
      fs/gfs2/meta_io.h
  3. 1 1
      fs/gfs2/trans.c

+ 7 - 4
fs/gfs2/meta_io.c

@@ -537,13 +537,13 @@ int gfs2_meta_reread(struct gfs2_sbd *sdp, struct buffer_head *bh, int flags)
 }
 
 /**
- * gfs2_meta_attach_bufdata - attach a struct gfs2_bufdata structure to a buffer
+ * gfs2_attach_bufdata - attach a struct gfs2_bufdata structure to a buffer
  * @gl: the glock the buffer belongs to
  * @bh: The buffer to be attached to
- *
+ * @meta: Flag to indicate whether its metadata or not
  */
 
-void gfs2_meta_attach_bufdata(struct gfs2_glock *gl, struct buffer_head *bh)
+void gfs2_attach_bufdata(struct gfs2_glock *gl, struct buffer_head *bh, int meta)
 {
 	struct gfs2_bufdata *bd;
 
@@ -563,7 +563,10 @@ void gfs2_meta_attach_bufdata(struct gfs2_glock *gl, struct buffer_head *bh)
 	bd->bd_gl = gl;
 
 	INIT_LIST_HEAD(&bd->bd_list_tr);
-	lops_init_le(&bd->bd_le, &gfs2_buf_lops);
+	if (meta)
+		lops_init_le(&bd->bd_le, &gfs2_buf_lops);
+	else
+		lops_init_le(&bd->bd_le, &gfs2_databuf_lops);
 
 	set_v2bd(bh, bd);
 

+ 1 - 1
fs/gfs2/meta_io.h

@@ -64,7 +64,7 @@ int gfs2_meta_read(struct gfs2_glock *gl, uint64_t blkno,
 		   int flags, struct buffer_head **bhp);
 int gfs2_meta_reread(struct gfs2_sbd *sdp, struct buffer_head *bh, int flags);
 
-void gfs2_meta_attach_bufdata(struct gfs2_glock *gl, struct buffer_head *bh);
+void gfs2_attach_bufdata(struct gfs2_glock *gl, struct buffer_head *bh, int meta);
 void gfs2_meta_pin(struct gfs2_sbd *sdp, struct buffer_head *bh);
 void gfs2_meta_unpin(struct gfs2_sbd *sdp, struct buffer_head *bh,
 		 struct gfs2_ail *ai);

+ 1 - 1
fs/gfs2/trans.c

@@ -151,7 +151,7 @@ void gfs2_trans_add_bh(struct gfs2_glock *gl, struct buffer_head *bh, int meta)
 	if (bd)
 		gfs2_assert(sdp, bd->bd_gl == gl);
 	else {
-		gfs2_meta_attach_bufdata(gl, bh);
+		gfs2_attach_bufdata(gl, bh, meta);
 		bd = get_v2bd(bh);
 	}