diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-01-28 22:55:37 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-29 09:27:03 +0100 |
commit | c44997e621cfe190fe44523e6cbcb03fea21eb8c (patch) | |
tree | bfd907f6c2fcd6ee6073f1d48864df6644aa559a /fs/efi.c | |
parent | 6811cc0dbc04c71cdc1ff12efe0edc8660200563 (diff) | |
download | barebox-c44997e621cfe190fe44523e6cbcb03fea21eb8c.tar.gz barebox-c44997e621cfe190fe44523e6cbcb03fea21eb8c.tar.xz |
fs: Update FILE position in lseek()
Instead on relying on driver callbacks to update 'pos' in FILE, do it
as a part of lseek() code. This allows us to drop a bit of repeating
code as well as making lseek() implementation consistent with write()
and read().
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs/efi.c')
-rw-r--r-- | fs/efi.c | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -297,14 +297,12 @@ static loff_t efifs_lseek(struct device_d *dev, FILE *f, loff_t pos) struct efifs_file *ufile = f->priv; efi_status_t efiret; - f->pos = pos; - efiret = ufile->entry->set_position(ufile->entry, pos); if (EFI_ERROR(efiret)) { return -efi_errno(efiret); } - return f->pos; + return pos; } static int efifs_truncate(struct device_d *dev, FILE *f, unsigned long size) |