summaryrefslogtreecommitdiffstats
path: root/common/state/backend_bucket_direct.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-04-08 10:17:15 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-04-08 10:17:15 +0200
commitd44e3d642171fa506dcc5a6c1b2babe6b4b813bf (patch)
treef07ca08305b99b0c01ddd4775fd15b38ed7d0a67 /common/state/backend_bucket_direct.c
parentc239b65fc2bc779343d7b8f0afd1c4cac1dd0beb (diff)
parent14ad13bfc3e83e7b9befb78b837d28427d8eacdf (diff)
downloadbarebox-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.c23
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 */