On Thu, Feb 09, 2012 at 12:08:47PM +0800, Jeff Liu wrote: > On 02/09/2012 11:46 AM, Jeff Liu wrote: > > > By referring to http://linux.die.net/man/2/lseek, return ENXIO only > > when "offset beyond EOF" for either SEEK_DATA or SEEK_HOLE inquiry. > > But we return it in case of internal issue too if btrfs_get_extent_fiemap() > > failed > > due to other issues. This will confuse the user applications to be > > expecting ENXIO when > > trying to find a specific data or hole location once it has occurred. > > > > Thanks Dave for pointing that out in XFS thread. > > > > This patch fix it to return EUCLEAN, or maybe another particular errno is > > more reasonable in Btrfs to indicate this fatal error? > > Or maybe just return the error that was happened at internal routine, to > give user more accurate error info, which is better?
Return the internal error unchanged - a failure to read the extent list (EIO) is different to a corruption detected in the extent map read from disk (EUCLEAN). Having a user report the appropriate error makes our life much simpler when it comes to trying to understand their problem.... Cheers, Dave. -- Dave Chinner da...@fromorbit.com -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html