diff options
Diffstat (limited to 'extent_io.c')
-rw-r--r-- | extent_io.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/extent_io.c b/extent_io.c index d59f2070..987452e1 100644 --- a/extent_io.c +++ b/extent_io.c @@ -665,13 +665,14 @@ struct extent_buffer *alloc_extent_buffer(struct extent_io_tree *tree, return eb; } -int read_extent_from_disk(struct extent_buffer *eb) +int read_extent_from_disk(struct extent_buffer *eb, + unsigned long offset, unsigned long len) { int ret; - ret = pread(eb->fd, eb->data, eb->len, eb->dev_bytenr); + ret = pread(eb->fd, eb->data + offset, len, eb->dev_bytenr); if (ret < 0) goto out; - if (ret != eb->len) { + if (ret != len) { ret = -EIO; goto out; } |