file-posix: Fix EINTR handling
commitc436e3d0145a3952aacf1a4014434b82d7157633
authorFam Zheng <famz@redhat.com>
Fri, 29 Jun 2018 06:03:28 +0000 (29 14:03 +0800)
committerKevin Wolf <kwolf@redhat.com>
Fri, 29 Jun 2018 12:20:56 +0000 (29 14:20 +0200)
treeae0c39e4ca43e8252d4749ccedbcc29ca2347521
parent1439b9c11002348eb80fcd3c90f07bf0f4f088dc
file-posix: Fix EINTR handling

EINTR should be checked against errno, not ret. While fixing the bug,
collect the branches with a switch block.

Also, change the return value from -ENOSTUP to -ENOSPC when the actual
issue is request range passes EOF, which should be distinguishable from
the case of error == ENOSYS by the caller, so that it could still retry
with other byte ranges, whereas it shouldn't retry anymore upon ENOSYS.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/file-posix.c