diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-04-08 10:17:15 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-04-08 10:17:15 +0200 |
commit | d44e3d642171fa506dcc5a6c1b2babe6b4b813bf (patch) | |
tree | f07ca08305b99b0c01ddd4775fd15b38ed7d0a67 /common/state/backend_bucket_direct.c | |
parent | c239b65fc2bc779343d7b8f0afd1c4cac1dd0beb (diff) | |
parent | 14ad13bfc3e83e7b9befb78b837d28427d8eacdf (diff) | |
download | barebox-d44e3d642171fa506dcc5a6c1b2babe6b4b813bf.tar.gz barebox-d44e3d642171fa506dcc5a6c1b2babe6b4b813bf.tar.xz |
Merge branch 'for-next/lseek'
Diffstat (limited to 'common/state/backend_bucket_direct.c')
-rw-r--r-- | common/state/backend_bucket_direct.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/common/state/backend_bucket_direct.c b/common/state/backend_bucket_direct.c index 1f00b0fb2f..95ddb93106 100644 --- a/common/state/backend_bucket_direct.c +++ b/common/state/backend_bucket_direct.c @@ -56,10 +56,9 @@ static int state_backend_bucket_direct_read(struct state_backend_storage_bucket void *buf; int ret; - ret = lseek(direct->fd, direct->offset, SEEK_SET); - if (ret < 0) { - dev_err(direct->dev, "Failed to seek file, %d\n", ret); - return ret; + if (lseek(direct->fd, direct->offset, SEEK_SET) != direct->offset) { + dev_err(direct->dev, "Failed to seek file, %d\n", -errno); + return -errno; } ret = read_full(direct->fd, &meta, sizeof(meta)); if (ret < 0) { @@ -77,10 +76,11 @@ static int state_backend_bucket_direct_read(struct state_backend_storage_bucket return -EINVAL; } read_len = direct->max_size; - ret = lseek(direct->fd, direct->offset, SEEK_SET); - if (ret < 0) { - dev_err(direct->dev, "Failed to seek file, %d\n", ret); - return ret; + if (lseek(direct->fd, direct->offset, SEEK_SET) != + direct->offset) { + dev_err(direct->dev, "Failed to seek file, %d\n", + -errno); + return -errno; } } @@ -113,10 +113,9 @@ static int state_backend_bucket_direct_write(struct state_backend_storage_bucket if (len > direct->max_size - sizeof(meta)) return -E2BIG; - ret = lseek(direct->fd, direct->offset, SEEK_SET); - if (ret < 0) { - dev_err(direct->dev, "Failed to seek file, %d\n", ret); - return ret; + if (lseek(direct->fd, direct->offset, SEEK_SET) != direct->offset) { + dev_err(direct->dev, "Failed to seek file, %d\n", -errno); + return -errno; } /* write the meta data only if there is head room */ |