mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
gfs2: Revert "introduce qd_bh_get_or_undo"
The qd_bh_get_or_undo() helper introduced by that commit doesn't improve
the code much, so revert it and clean things up in a more useful way in
the next commit.
This reverts commit 7dbc6ae60d
.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
This commit is contained in:
parent
de0d95c26c
commit
2aedfe847b
@ -491,20 +491,6 @@ static int qd_check_sync(struct gfs2_sbd *sdp, struct gfs2_quota_data *qd,
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int qd_bh_get_or_undo(struct gfs2_sbd *sdp, struct gfs2_quota_data *qd)
|
||||
{
|
||||
int error;
|
||||
|
||||
error = bh_get(qd);
|
||||
if (!error)
|
||||
return 0;
|
||||
|
||||
clear_bit(QDF_LOCKED, &qd->qd_flags);
|
||||
slot_put(qd);
|
||||
qd_put(qd);
|
||||
return error;
|
||||
}
|
||||
|
||||
static int qd_fish(struct gfs2_sbd *sdp, struct gfs2_quota_data **qdp)
|
||||
{
|
||||
struct gfs2_quota_data *qd = NULL, *iter;
|
||||
@ -527,12 +513,17 @@ static int qd_fish(struct gfs2_sbd *sdp, struct gfs2_quota_data **qdp)
|
||||
spin_unlock(&qd_lock);
|
||||
|
||||
if (qd) {
|
||||
error = qd_bh_get_or_undo(sdp, qd);
|
||||
if (error)
|
||||
error = bh_get(qd);
|
||||
if (error) {
|
||||
clear_bit(QDF_LOCKED, &qd->qd_flags);
|
||||
slot_put(qd);
|
||||
qd_put(qd);
|
||||
return error;
|
||||
*qdp = qd;
|
||||
}
|
||||
}
|
||||
|
||||
*qdp = qd;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1189,8 +1180,15 @@ void gfs2_quota_unlock(struct gfs2_inode *ip)
|
||||
if (!found)
|
||||
continue;
|
||||
|
||||
if (!qd_bh_get_or_undo(sdp, qd))
|
||||
qda[count++] = qd;
|
||||
gfs2_assert_warn(sdp, qd->qd_change_sync);
|
||||
if (bh_get(qd)) {
|
||||
clear_bit(QDF_LOCKED, &qd->qd_flags);
|
||||
slot_put(qd);
|
||||
qd_put(qd);
|
||||
continue;
|
||||
}
|
||||
|
||||
qda[count++] = qd;
|
||||
}
|
||||
|
||||
if (count) {
|
||||
|
Loading…
Reference in New Issue
Block a user