diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2022-06-02 15:15:02 -0500 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2022-06-29 16:54:59 +0200 |
commit | de3f906f0af0c3f5d862b07df4d020c9322cd9c3 (patch) | |
tree | d3357624a5f0cd3f9377a14b6c7e3ae7365d2004 /fs/gfs2/glops.c | |
parent | 53d69132958f7e144973d02ad0f0798386219efd (diff) |
gfs2: Revert 'Fix "truncate in progress" hang'
Now that interrupted truncates are completed in the context of the
process taking the glock, there is no need for the glock state engine to
delegate that task to gfs2_quotad or for quotad to perform those
truncates anymore. Get rid of the obsolete associated infrastructure.
Reverts commit 813e0c46c9e2 ("GFS2: Fix "truncate in progress" hang").
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2/glops.c')
-rw-r--r-- | fs/gfs2/glops.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index 6bc096610654..c387f80ca65e 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c @@ -488,7 +488,6 @@ int gfs2_inode_refresh(struct gfs2_inode *ip) static int inode_go_instantiate(struct gfs2_holder *gh) { struct gfs2_glock *gl = gh->gh_gl; - struct gfs2_sbd *sdp = gl->gl_name.ln_sbd; struct gfs2_inode *ip = gl->gl_object; int error = 0; @@ -504,14 +503,8 @@ static int inode_go_instantiate(struct gfs2_holder *gh) if ((ip->i_diskflags & GFS2_DIF_TRUNC_IN_PROG) && (gl->gl_state == LM_ST_EXCLUSIVE) && - (gh->gh_state == LM_ST_EXCLUSIVE)) { - spin_lock(&sdp->sd_trunc_lock); - if (list_empty(&ip->i_trunc_list)) - list_add(&ip->i_trunc_list, &sdp->sd_trunc_list); - spin_unlock(&sdp->sd_trunc_lock); - wake_up(&sdp->sd_quota_wait); - gfs2_wait_truncate(ip); - } + (gh->gh_state == LM_ST_EXCLUSIVE)) + error = gfs2_truncatei_resume(ip); out: return error; |