nilfs2: remove unlikely directive causing mis-conversion of error code
The following error code handling in nilfs_segctor_write() function wrongly converted negative error codes to a truth value (i.e. 1): err = unlikely(err) ? : res; which originaly meant to be err = err ? : res; This mis-conversion caused that write or sync functions receive the unexpected error code. This fixes the bug by removing the unlikely directive. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Cc: stable@kernel.org
This commit is contained in:
@@ -1829,8 +1829,8 @@ static int nilfs_segctor_write(struct nilfs_sc_info *sci,
|
|||||||
err = nilfs_segbuf_write(segbuf, &wi);
|
err = nilfs_segbuf_write(segbuf, &wi);
|
||||||
|
|
||||||
res = nilfs_segbuf_wait(segbuf, &wi);
|
res = nilfs_segbuf_wait(segbuf, &wi);
|
||||||
err = unlikely(err) ? : res;
|
err = err ? : res;
|
||||||
if (unlikely(err))
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user