mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
gfs2: fix freeze error handling
After commitb77b4a4815("gfs2: Rework freeze / thaw logic"), the freeze error handling is broken because gfs2_do_thaw() overwrites the 'error' variable, causing incorrect processing of the original freeze error. Fix this by calling gfs2_do_thaw() when gfs2_lock_fs_check_clean() fails but ignoring its return value to preserve the original freeze error for proper reporting. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes:b77b4a4815("gfs2: Rework freeze / thaw logic") Cc: stable@vger.kernel.org # v6.5+ Signed-off-by: Alexey Velichayshiy <a.velichayshiy@ispras.ru> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
This commit is contained in:
parent
2c5f4a5347
commit
4cfc7d5a4a
|
|
@ -749,9 +749,7 @@ static int gfs2_freeze_super(struct super_block *sb, enum freeze_holder who,
|
|||
break;
|
||||
}
|
||||
|
||||
error = gfs2_do_thaw(sdp, who, freeze_owner);
|
||||
if (error)
|
||||
goto out;
|
||||
(void)gfs2_do_thaw(sdp, who, freeze_owner);
|
||||
|
||||
if (error == -EBUSY)
|
||||
fs_err(sdp, "waiting for recovery before freeze\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user