summary refs log tree commit diff
path: root/fs
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-06-18 11:42:53 +0900
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-07-05 10:44:19 +0900
commit0cfae3d8795f388f9de78adb0171520d19da77e9 (patch)
tree4f4e447edc025cb1f96ac27da030b8b36164865b /fs
parent8e4a718ff38d8539938ec3421935904c27e00c39 (diff)
downloadlinux-0cfae3d8795f388f9de78adb0171520d19da77e9.tar.gz
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
Diffstat (limited to 'fs')
-rw-r--r--fs/nilfs2/segment.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index aa977549919e..c1824915c1c7 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -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;