diff options
author | James Morris | 2008-12-04 07:16:36 +0100 |
---|---|---|
committer | James Morris | 2008-12-04 07:16:36 +0100 |
commit | ec98ce480ada787f2cfbd696980ff3564415505b (patch) | |
tree | 1a4d644b38f9f1e4b4e086fde0b195df4a92cf84 /block/blk-map.c | |
parent | Merge branch 'serge-next' into next (diff) | |
parent | Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block (diff) | |
download | kernel-qcow2-linux-ec98ce480ada787f2cfbd696980ff3564415505b.tar.gz kernel-qcow2-linux-ec98ce480ada787f2cfbd696980ff3564415505b.tar.xz kernel-qcow2-linux-ec98ce480ada787f2cfbd696980ff3564415505b.zip |
Merge branch 'master' into next
Conflicts:
fs/nfsd/nfs4recover.c
Manually fixed above to use new creds API functions, e.g.
nfs4_save_creds().
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'block/blk-map.c')
-rw-r--r-- | block/blk-map.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/block/blk-map.c b/block/blk-map.c index 4849fa36161e..2990447f45e9 100644 --- a/block/blk-map.c +++ b/block/blk-map.c @@ -217,8 +217,14 @@ int blk_rq_map_user_iov(struct request_queue *q, struct request *rq, return PTR_ERR(bio); if (bio->bi_size != len) { + /* + * Grab an extra reference to this bio, as bio_unmap_user() + * expects to be able to drop it twice as it happens on the + * normal IO completion path + */ + bio_get(bio); bio_endio(bio, 0); - bio_unmap_user(bio); + __blk_rq_unmap_user(bio); return -EINVAL; } |