X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzvol.c;h=04c885f68e225958065518c960108f13ed9249e0;hb=5d0265c0dd54d798a35babe587ad5138392fe807;hp=6e929429252a269179a4eae150f981d3c90371f1;hpb=60101509ee73c6e61e50c0a4079097f31bb39f4b;p=zfs.git diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c index 6e92942..04c885f 100644 --- a/module/zfs/zvol.c +++ b/module/zfs/zvol.c @@ -1002,6 +1002,8 @@ static int zvol_ioctl_by_inode(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { + if (file == NULL || inode == NULL) + return -EINVAL; return zvol_ioctl(inode->i_bdev, file->f_mode, cmd, arg); } @@ -1010,6 +1012,8 @@ static long zvol_compat_ioctl_by_inode(struct file *file, unsigned int cmd, unsigned long arg) { + if (file == NULL) + return -EINVAL; return zvol_compat_ioctl(file->f_dentry->d_inode->i_bdev, file->f_mode, cmd, arg); } @@ -1058,6 +1062,8 @@ zvol_alloc(dev_t dev, const char *name) mutex_init(&zv->zv_znode.z_range_lock, NULL, MUTEX_DEFAULT, NULL); avl_create(&zv->zv_znode.z_range_avl, zfs_range_compare, sizeof (rl_t), offsetof(rl_t, r_node)); + zv->zv_znode.z_is_zvol = TRUE; + spin_lock_init(&zv->zv_lock); list_link_init(&zv->zv_next); @@ -1224,7 +1230,8 @@ zvol_create_minors_cb(spa_t *spa, uint64_t dsobj, if (strchr(dsname, '/') == NULL) return 0; - return __zvol_create_minor(dsname); + (void) __zvol_create_minor(dsname); + return (0); } /*