diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-09-12 12:03:21 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-09-12 12:03:21 -0400 |
| commit | 97148ba2235e334e57d05fa07045cf3e6629763c (patch) | |
| tree | a04504e7d4feb0dacfe1862a59abecaf99997f09 /fs/ext3/inode.c | |
| parent | 76ff3c6e3b389a5a7692811dd456e0ff58340cac (diff) | |
| parent | 05ff0e291af086f4325bac76abad250690bbbd63 (diff) | |
Merge branch 'master' into upstream
Diffstat (limited to 'fs/ext3/inode.c')
| -rw-r--r-- | fs/ext3/inode.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index c5ee9f0691e..0f0b1eadb98 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -1009,11 +1009,14 @@ struct buffer_head *ext3_getblk(handle_t *handle, struct inode *inode, buffer_trace_init(&dummy.b_history); err = ext3_get_blocks_handle(handle, inode, block, 1, &dummy, create, 1); - if (err == 1) { + /* + * ext3_get_blocks_handle() returns number of blocks + * mapped. 0 in case of a HOLE. + */ + if (err > 0) { + if (err > 1) + WARN_ON(1); err = 0; - } else if (err >= 0) { - WARN_ON(1); - err = -EIO; } *errp = err; if (!err && buffer_mapped(&dummy)) { |
