ocfs2: for SEEK_DATA/SEEK_HOLE, return internal error unchanged if ocfs2_get_clusters_nocache() or ocfs2_inode_lock() call failed.

Hello,

Since ENXIO only means "offset beyond EOF" for SEEK_DATA/SEEK_HOLE,
Hence we should return the internal error unchanged if ocfs2_inode_lock() or
ocfs2_get_clusters_nocache() call failed rather than ENXIO.
Otherwise, it will confuse the user applications when they trying to understand the root cause.

Thanks Dave for pointing this out.

Thanks,
-Jeff

Cc: Dave Chinner <david@fromorbit.com>
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Joel Becker <jlbec@evilplan.org>
This commit is contained in:
Jeff Liu 2012-02-09 14:42:22 +08:00 committed by Joel Becker
parent a75e9ccabd
commit 65622e647b

View File

@ -923,8 +923,6 @@ out_unlock:
ocfs2_inode_unlock(inode, 0); ocfs2_inode_unlock(inode, 0);
out: out:
if (ret && ret != -ENXIO)
ret = -ENXIO;
return ret; return ret;
} }