summaryrefslogtreecommitdiff
path: root/extent_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'extent_io.c')
-rw-r--r--extent_io.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/extent_io.c b/extent_io.c
index ebb35b28..45fa6bf6 100644
--- a/extent_io.c
+++ b/extent_io.c
@@ -663,13 +663,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;
}