mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
gfs2: Remove duplicate check in do_xmote
In do_xmote(), remove the duplicate check for the ->go_sync and ->go_inval glock operations. They are either both defined, or none of them are. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Reviewed-by: Andrew Price <anprice@redhat.com>
This commit is contained in:
parent
0c23e24164
commit
9b54770b68
|
|
@ -714,25 +714,24 @@ __acquires(&gl->gl_lockref.lock)
|
|||
&gl->gl_flags))
|
||||
return;
|
||||
}
|
||||
if (!glops->go_inval && !glops->go_sync)
|
||||
if (!glops->go_inval || !glops->go_sync)
|
||||
goto skip_inval;
|
||||
|
||||
spin_unlock(&gl->gl_lockref.lock);
|
||||
if (glops->go_sync) {
|
||||
ret = glops->go_sync(gl);
|
||||
/* If we had a problem syncing (due to io errors or whatever,
|
||||
* we should not invalidate the metadata or tell dlm to
|
||||
* release the glock to other nodes.
|
||||
*/
|
||||
if (ret) {
|
||||
if (cmpxchg(&sdp->sd_log_error, 0, ret)) {
|
||||
fs_err(sdp, "Error %d syncing glock\n", ret);
|
||||
gfs2_dump_glock(NULL, gl, true);
|
||||
}
|
||||
spin_lock(&gl->gl_lockref.lock);
|
||||
goto skip_inval;
|
||||
ret = glops->go_sync(gl);
|
||||
/* If we had a problem syncing (due to io errors or whatever,
|
||||
* we should not invalidate the metadata or tell dlm to
|
||||
* release the glock to other nodes.
|
||||
*/
|
||||
if (ret) {
|
||||
if (cmpxchg(&sdp->sd_log_error, 0, ret)) {
|
||||
fs_err(sdp, "Error %d syncing glock\n", ret);
|
||||
gfs2_dump_glock(NULL, gl, true);
|
||||
}
|
||||
spin_lock(&gl->gl_lockref.lock);
|
||||
goto skip_inval;
|
||||
}
|
||||
|
||||
if (test_bit(GLF_INVALIDATE_IN_PROGRESS, &gl->gl_flags)) {
|
||||
/*
|
||||
* The call to go_sync should have cleared out the ail list.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user