Message ID | 1422607337-25335-2-git-send-email-den@openvz.org |
---|---|
State | New |
Headers | show |
Am 30.01.2015 um 09:42 schrieb Denis V. Lunev: > actually the code > if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP || > ret == -ENOTTY) { > ret = -ENOTSUP; > } > is present twice and will be added a couple more times. Create helper > for this. > > Signed-off-by: Denis V. Lunev <den@openvz.org> > Reviewed-by: Max Reitz <mreitz@redhat.com> > CC: Kevin Wolf <kwolf@redhat.com> > CC: Stefan Hajnoczi <stefanha@redhat.com> > CC: Peter Lieven <pl@kamp.de> > CC: Fam Zheng <famz@redhat.com> > --- > block/raw-posix.c | 19 +++++++++++++------ > 1 file changed, 13 insertions(+), 6 deletions(-) > > diff --git a/block/raw-posix.c b/block/raw-posix.c > index e51293a..24300d0 100644 > --- a/block/raw-posix.c > +++ b/block/raw-posix.c > @@ -893,6 +893,15 @@ static int xfs_discard(BDRVRawState *s, int64_t offset, uint64_t bytes) > } > #endif > > +static int translate_err(int err) > +{ > + if (err == -ENODEV || err == -ENOSYS || err == -EOPNOTSUPP || > + err == -ENOTTY) { > + err = -ENOTSUP; > + } > + return err; > +} > + > static ssize_t handle_aiocb_write_zeroes(RawPosixAIOData *aiocb) > { > int ret = -EOPNOTSUPP; > @@ -921,10 +930,9 @@ static ssize_t handle_aiocb_write_zeroes(RawPosixAIOData *aiocb) > #endif > } > > - if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP || > - ret == -ENOTTY) { > + ret = translate_err(ret); > + if (ret == -ENOTSUP) { > s->has_write_zeroes = false; > - ret = -ENOTSUP; > } > return ret; > } > @@ -968,10 +976,9 @@ static ssize_t handle_aiocb_discard(RawPosixAIOData *aiocb) > #endif > } > > - if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP || > - ret == -ENOTTY) { > + ret = translate_err(ret); > + if (ret == -ENOTSUP) { > s->has_discard = false; > - ret = -ENOTSUP; > } > return ret; > } Reviewed-by: Peter Lieven <pl@kamp.de>
diff --git a/block/raw-posix.c b/block/raw-posix.c index e51293a..24300d0 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -893,6 +893,15 @@ static int xfs_discard(BDRVRawState *s, int64_t offset, uint64_t bytes) } #endif +static int translate_err(int err) +{ + if (err == -ENODEV || err == -ENOSYS || err == -EOPNOTSUPP || + err == -ENOTTY) { + err = -ENOTSUP; + } + return err; +} + static ssize_t handle_aiocb_write_zeroes(RawPosixAIOData *aiocb) { int ret = -EOPNOTSUPP; @@ -921,10 +930,9 @@ static ssize_t handle_aiocb_write_zeroes(RawPosixAIOData *aiocb) #endif } - if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP || - ret == -ENOTTY) { + ret = translate_err(ret); + if (ret == -ENOTSUP) { s->has_write_zeroes = false; - ret = -ENOTSUP; } return ret; } @@ -968,10 +976,9 @@ static ssize_t handle_aiocb_discard(RawPosixAIOData *aiocb) #endif } - if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP || - ret == -ENOTTY) { + ret = translate_err(ret); + if (ret == -ENOTSUP) { s->has_discard = false; - ret = -ENOTSUP; } return ret; }