Commit 65622e64 authored by Jeff Liu's avatar Jeff Liu Committed by Joel Becker

ocfs2: for SEEK_DATA/SEEK_HOLE, return internal error unchanged if...

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


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.


Cc: Dave Chinner <>
Signed-off-by: default avatarJie Liu <>
Signed-off-by: default avatarJoel Becker <>
parent a75e9cca
......@@ -923,8 +923,6 @@ int ocfs2_seek_data_hole_offset(struct file *file, loff_t *offset, int origin)
ocfs2_inode_unlock(inode, 0);
if (ret && ret != -ENXIO)
ret = -ENXIO;
return ret;
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment