Fix lseek result when dnode is dirty
Fixup commit 66aca24
. We should have equivalent return
values as generic_file_llseek() and advance to end of file.
Reviewed-by: Richard Yao <ryao@gentoo.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Tested-by: bunder2015 <omfgbunder@gmail.com>
Signed-off-by: Debabrata Banerjee <dbanerje@akamai.com>
Closes #6050
Closes #6053
This commit is contained in:
parent
b717b11cb0
commit
6e03ec4fa2
|
@ -278,9 +278,13 @@ zfs_holey_common(struct inode *ip, int cmd, loff_t *off)
|
||||||
if (error == ESRCH)
|
if (error == ESRCH)
|
||||||
return (SET_ERROR(ENXIO));
|
return (SET_ERROR(ENXIO));
|
||||||
|
|
||||||
/* file was dirty, so fall back to using file_sz logic */
|
/* file was dirty, so fall back to using generic logic */
|
||||||
if (error == EBUSY)
|
if (error == EBUSY) {
|
||||||
error = 0;
|
if (hole)
|
||||||
|
*off = file_sz;
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We could find a hole that begins after the logical end-of-file,
|
* We could find a hole that begins after the logical end-of-file,
|
||||||
|
|
Loading…
Reference in New Issue