mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
nilfs2: fix hang-up of cleaner after log writer returned with error
According to the report from Andreas Beckmann (Message-ID: <[email protected]>), nilfs in 2.6.33 kernel got stuck after a disk full error. This turned out to be a regression by log writer updates merged at kernel 2.6.33. nilfs_segctor_abort_construction, which is a cleanup function for erroneous cases, was skipping writeback completion for some logs. This fixes the bug and would resolve the hang issue. Reported-by: Andreas Beckmann <[email protected]> Signed-off-by: Ryusuke Konishi <[email protected]> Tested-by: Ryusuke Konishi <[email protected]> Cc: stable <[email protected]> [2.6.33.x]
This commit is contained in:
parent
2d8428acae
commit
110d735a0a
1 changed files with 1 additions and 2 deletions
|
|
@ -1897,8 +1897,7 @@ static void nilfs_segctor_abort_construction(struct nilfs_sc_info *sci,
|
|||
|
||||
list_splice_tail_init(&sci->sc_write_logs, &logs);
|
||||
ret = nilfs_wait_on_logs(&logs);
|
||||
if (ret)
|
||||
nilfs_abort_logs(&logs, NULL, sci->sc_super_root, ret);
|
||||
nilfs_abort_logs(&logs, NULL, sci->sc_super_root, ret ? : err);
|
||||
|
||||
list_splice_tail_init(&sci->sc_segbufs, &logs);
|
||||
nilfs_cancel_segusage(&logs, nilfs->ns_sufile);
|
||||
|
|
|
|||
Loading…
Reference in a new issue