[GFS2] Another list_del bug

Another case where list_del should be list_del_init.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
Steven Whitehouse 2006-08-22 16:25:50 -04:00
parent 08867605e1
commit b8e1aabf21
2 changed files with 5 additions and 8 deletions

View File

@ -737,7 +737,7 @@ static void databuf_lo_after_commit(struct gfs2_sbd *sdp, struct gfs2_ail *ai)
while (!list_empty(head)) { while (!list_empty(head)) {
bd = list_entry(head->next, struct gfs2_bufdata, bd_le.le_list); bd = list_entry(head->next, struct gfs2_bufdata, bd_le.le_list);
list_del(&bd->bd_le.le_list); list_del_init(&bd->bd_le.le_list);
sdp->sd_log_num_databuf--; sdp->sd_log_num_databuf--;
sdp->sd_log_num_jdata--; sdp->sd_log_num_jdata--;
gfs2_unpin(sdp, bd->bd_bh, ai); gfs2_unpin(sdp, bd->bd_bh, ai);

View File

@ -857,8 +857,7 @@ static struct gfs2_rgrpd *forward_rgrp_get(struct gfs2_sbd *sdp)
if (sdp->sd_rgrps >= journals) if (sdp->sd_rgrps >= journals)
rg = sdp->sd_rgrps * sdp->sd_jdesc->jd_jid / journals; rg = sdp->sd_rgrps * sdp->sd_jdesc->jd_jid / journals;
for (x = 0, rgd = gfs2_rgrpd_get_first(sdp); for (x = 0, rgd = gfs2_rgrpd_get_first(sdp); x < rg;
x < rg;
x++, rgd = gfs2_rgrpd_get_next(rgd)) x++, rgd = gfs2_rgrpd_get_next(rgd))
/* Do Nothing */; /* Do Nothing */;
@ -909,9 +908,8 @@ static int get_local_rgrp(struct gfs2_inode *ip)
rgd = recent_rgrp_first(sdp, ip->i_last_rg_alloc); rgd = recent_rgrp_first(sdp, ip->i_last_rg_alloc);
while (rgd) { while (rgd) {
error = gfs2_glock_nq_init(rgd->rd_gl, error = gfs2_glock_nq_init(rgd->rd_gl, LM_ST_EXCLUSIVE,
LM_ST_EXCLUSIVE, LM_FLAG_TRY, LM_FLAG_TRY, &al->al_rgd_gh);
&al->al_rgd_gh);
switch (error) { switch (error) {
case 0: case 0:
if (try_rgrp_fit(rgd, al)) if (try_rgrp_fit(rgd, al))
@ -934,8 +932,7 @@ static int get_local_rgrp(struct gfs2_inode *ip)
begin = rgd = forward_rgrp_get(sdp); begin = rgd = forward_rgrp_get(sdp);
for (;;) { for (;;) {
error = gfs2_glock_nq_init(rgd->rd_gl, error = gfs2_glock_nq_init(rgd->rd_gl, LM_ST_EXCLUSIVE, flags,
LM_ST_EXCLUSIVE, flags,
&al->al_rgd_gh); &al->al_rgd_gh);
switch (error) { switch (error) {
case 0: case 0: