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:
parent
8e4a718ff3
commit
0cfae3d879
|
@ -1829,8 +1829,8 @@ static int nilfs_segctor_write(struct nilfs_sc_info *sci,
|
|||
err = nilfs_segbuf_write(segbuf, &wi);
|
||||
|
||||
res = nilfs_segbuf_wait(segbuf, &wi);
|
||||
err = unlikely(err) ? : res;
|
||||
if (unlikely(err))
|
||||
err = err ? : res;
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue