nilfs_sync() API function is wrongly checking EROFS error.  It sees
the return value of ioctl instead of errno variable.  This removes the
broken error check from nilfs_sync() instead of fixing it because
EROFS should by rights be used or ignored by callers.

Signed-off-by: Ryusuke Konishi <[email protected]>
---
 lib/nilfs.c |    9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/lib/nilfs.c b/lib/nilfs.c
index 05b9b03..c1771e8 100644
--- a/lib/nilfs.c
+++ b/lib/nilfs.c
@@ -688,19 +688,12 @@ int nilfs_clean_segments(struct nilfs *nilfs,
  */
 int nilfs_sync(const struct nilfs *nilfs, nilfs_cno_t *cnop)
 {
-       int ret;
-
        if (nilfs->n_iocfd < 0) {
                errno = EBADF;
                return -1;
        }
 
-       ret = ioctl(nilfs->n_iocfd, NILFS_IOCTL_SYNC, cnop);
-       if (ret < 0 && ret == -EROFS)
-               /* syncing read-only filesystem */
-               ret = 0;
-
-       return ret;
+       return ioctl(nilfs->n_iocfd, NILFS_IOCTL_SYNC, cnop);
 }
 
 /**
-- 
1.7.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to