Commit 5f38a4d3 authored by Andreas Gruenbacher's avatar Andreas Gruenbacher
Browse files

gfs2: Make go_instantiate take a glock



Make go_instantiate take a glock instead of a glock holder as its argument:
this handler is supposed to instantiate the object associated with the glock.

Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
parent 86c30a01
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -507,7 +507,7 @@ int gfs2_instantiate(struct gfs2_holder *gh)
		goto again;
	}

	ret = glops->go_instantiate(gh);
	ret = glops->go_instantiate(gl);
	if (!ret)
		clear_bit(GLF_INSTANTIATE_NEEDED, &gl->gl_flags);
	clear_and_wake_up_bit(GLF_INSTANTIATE_IN_PROG, &gl->gl_flags);
+1 −2
Original line number Diff line number Diff line
@@ -485,9 +485,8 @@ int gfs2_inode_refresh(struct gfs2_inode *ip)
 * Returns: errno
 */

static int inode_go_instantiate(struct gfs2_holder *gh)
static int inode_go_instantiate(struct gfs2_glock *gl)
{
	struct gfs2_glock *gl = gh->gh_gl;
	struct gfs2_inode *ip = gl->gl_object;

	if (!ip) /* no inode to populate - read it in later */
+1 −1
Original line number Diff line number Diff line
@@ -219,7 +219,7 @@ struct gfs2_glock_operations {
	int (*go_xmote_bh)(struct gfs2_glock *gl);
	void (*go_inval) (struct gfs2_glock *gl, int flags);
	int (*go_demote_ok) (const struct gfs2_glock *gl);
	int (*go_instantiate) (struct gfs2_holder *gh);
	int (*go_instantiate) (struct gfs2_glock *gl);
	int (*go_held)(struct gfs2_holder *gh);
	void (*go_dump)(struct seq_file *seq, struct gfs2_glock *gl,
			const char *fs_id_buf);
+1 −2
Original line number Diff line number Diff line
@@ -1196,9 +1196,8 @@ static void rgrp_set_bitmap_flags(struct gfs2_rgrpd *rgd)
 * Returns: errno
 */

int gfs2_rgrp_go_instantiate(struct gfs2_holder *gh)
int gfs2_rgrp_go_instantiate(struct gfs2_glock *gl)
{
	struct gfs2_glock *gl = gh->gh_gl;
	struct gfs2_rgrpd *rgd = gl->gl_object;
	struct gfs2_sbd *sdp = rgd->rd_sbd;
	unsigned int length = rgd->rd_length;
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ extern struct gfs2_rgrpd *gfs2_rgrpd_get_next(struct gfs2_rgrpd *rgd);
extern void gfs2_clear_rgrpd(struct gfs2_sbd *sdp);
extern int gfs2_rindex_update(struct gfs2_sbd *sdp);
extern void gfs2_free_clones(struct gfs2_rgrpd *rgd);
extern int gfs2_rgrp_go_instantiate(struct gfs2_holder *gh);
extern int gfs2_rgrp_go_instantiate(struct gfs2_glock *gl);
extern void gfs2_rgrp_brelse(struct gfs2_rgrpd *rgd);

extern struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip);