From d8d10fa335320a3e8e0783b8a74346364b08614a Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Thu, 17 Jun 2010 11:14:58 +0200 Subject: check disk existence in open_block_dev. --- libdde_linux26/lib/src/mach_glue/block.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libdde_linux26') diff --git a/libdde_linux26/lib/src/mach_glue/block.c b/libdde_linux26/lib/src/mach_glue/block.c index 7eac7e46..a856cc9b 100644 --- a/libdde_linux26/lib/src/mach_glue/block.c +++ b/libdde_linux26/lib/src/mach_glue/block.c @@ -9,8 +9,12 @@ void dde_page_cache_add (struct page *); struct block_device *open_block_dev (char *name, int part, fmode_t mode) { struct gendisk *disk = find_disk_by_name (name); - dev_t devid = MKDEV (disk->major, disk->first_minor + part); - return open_by_devnum (devid, mode); + if (disk) + { + dev_t devid = MKDEV (disk->major, disk->first_minor + part); + return open_by_devnum (devid, mode); + } + return ERR_PTR(-ENXIO); } /* write a piece of data to a block device. -- cgit v1.2.3