Revision bef13315e990fd3d3fb4c39013aefd53f06c3657 authored by Christoph Hellwig on 13 January 2017, 22:18:16 UTC, committed by Jens Axboe on 13 January 2017, 22:18:16 UTC
Discard can return -EIO asynchronously if the alignment for the request
isn't suitable for the driver, which makes a proper fallback to other
methods in __blkdev_issue_zeroout impossible.  Thus only issue a sync
discard from blkdev_issue_zeroout an don't try discard at all from
__blkdev_issue_zeroout as a non-invasive workaround.

One more reason why abusing discard for zeroing must die..

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Eryu Guan <eguan@redhat.com>
Fixes: e73c23ff ("block: add async variant of blkdev_issue_zeroout")
Signed-off-by: Jens Axboe <axboe@fb.com>
1 parent f80de88
History
File Mode Size
blocklayout
filelayout
flexfilelayout
objlayout
Kconfig -rw-r--r-- 5.9 KB
Makefile -rw-r--r-- 1.3 KB
cache_lib.c -rw-r--r-- 3.8 KB
cache_lib.h -rw-r--r-- 1016 bytes
callback.c -rw-r--r-- 10.7 KB
callback.h -rw-r--r-- 5.1 KB
callback_proc.c -rw-r--r-- 17.7 KB
callback_xdr.c -rw-r--r-- 27.5 KB
client.c -rw-r--r-- 34.2 KB
delegation.c -rw-r--r-- 29.0 KB
delegation.h -rw-r--r-- 2.9 KB
dir.c -rw-r--r-- 64.5 KB
direct.c -rw-r--r-- 28.9 KB
dns_resolve.c -rw-r--r-- 10.0 KB
dns_resolve.h -rw-r--r-- 812 bytes
file.c -rw-r--r-- 21.7 KB
fscache-index.c -rw-r--r-- 9.3 KB
fscache.c -rw-r--r-- 11.9 KB
fscache.h -rw-r--r-- 6.5 KB
getroot.c -rw-r--r-- 3.5 KB
inode.c -rw-r--r-- 58.3 KB
internal.h -rw-r--r-- 23.9 KB
io.c -rw-r--r-- 4.0 KB
iostat.h -rw-r--r-- 1.8 KB
mount_clnt.c -rw-r--r-- 12.2 KB
namespace.c -rw-r--r-- 7.3 KB
netns.h -rw-r--r-- 903 bytes
nfs.h -rw-r--r-- 993 bytes
nfs2super.c -rw-r--r-- 569 bytes
nfs2xdr.c -rw-r--r-- 25.9 KB
nfs3_fs.h -rw-r--r-- 1.1 KB
nfs3acl.c -rw-r--r-- 8.0 KB
nfs3client.c -rw-r--r-- 3.1 KB
nfs3proc.c -rw-r--r-- 23.8 KB
nfs3super.c -rw-r--r-- 649 bytes
nfs3xdr.c -rw-r--r-- 54.9 KB
nfs42.h -rw-r--r-- 804 bytes
nfs42proc.c -rw-r--r-- 14.1 KB
nfs42xdr.c -rw-r--r-- 15.2 KB
nfs4_fs.h -rw-r--r-- 19.0 KB
nfs4client.c -rw-r--r-- 34.3 KB
nfs4file.c -rw-r--r-- 6.2 KB
nfs4getroot.c -rw-r--r-- 1.0 KB
nfs4idmap.c -rw-r--r-- 19.2 KB
nfs4idmap.h -rw-r--r-- 2.7 KB
nfs4namespace.c -rw-r--r-- 12.8 KB
nfs4proc.c -rw-r--r-- 254.6 KB
nfs4renewd.c -rw-r--r-- 4.8 KB
nfs4session.c -rw-r--r-- 16.6 KB
nfs4session.h -rw-r--r-- 5.0 KB
nfs4state.c -rw-r--r-- 65.8 KB
nfs4super.c -rw-r--r-- 8.7 KB
nfs4sysctl.c -rw-r--r-- 1.4 KB
nfs4trace.c -rw-r--r-- 435 bytes
nfs4trace.h -rw-r--r-- 42.9 KB
nfs4xdr.c -rw-r--r-- 197.7 KB
nfsroot.c -rw-r--r-- 9.5 KB
nfstrace.c -rw-r--r-- 292 bytes
nfstrace.h -rw-r--r-- 18.0 KB
pagelist.c -rw-r--r-- 33.0 KB
pnfs.c -rw-r--r-- 71.8 KB
pnfs.h -rw-r--r-- 23.2 KB
pnfs_dev.c -rw-r--r-- 9.6 KB
pnfs_nfs.c -rw-r--r-- 23.6 KB
proc.c -rw-r--r-- 18.8 KB
read.c -rw-r--r-- 11.5 KB
super.c -rw-r--r-- 75.1 KB
symlink.c -rw-r--r-- 1.8 KB
sysctl.c -rw-r--r-- 1.3 KB
unlink.c -rw-r--r-- 13.5 KB
write.c -rw-r--r-- 55.1 KB

back to top