From b158e372663117a1cdeff1344c9b9eeedf819f63 Mon Sep 17 00:00:00 2001 From: Badari Pulavarty Date: Fri, 8 Sep 2006 09:48:21 -0700 Subject: [PATCH] --- yaml --- r: 33813 b: refs/heads/master c: 3665d0e58fa44f50c744f85c7e8ad21d5b10e206 h: refs/heads/master i: 33811: 3340988154ee69b3fdea1f95d8709d4ff4b38a66 v: v3 --- [refs] | 2 +- trunk/fs/ext3/inode.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 6dbe493bd1db..f1e8310e34b6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47d4b9066df023670a61e74565a75293cf15a441 +refs/heads/master: 3665d0e58fa44f50c744f85c7e8ad21d5b10e206 diff --git a/trunk/fs/ext3/inode.c b/trunk/fs/ext3/inode.c index c5ee9f0691e3..0f0b1eadb98d 100644 --- a/trunk/fs/ext3/inode.c +++ b/trunk/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)) {