From owner-svn-src-all@freebsd.org Mon Mar 28 09:41:59 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CD49ADFE9B; Mon, 28 Mar 2016 09:41:59 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0A22B1087; Mon, 28 Mar 2016 09:41:58 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u2S9frFM084156 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 28 Mar 2016 12:41:53 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u2S9frFM084156 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u2S9frma084155; Mon, 28 Mar 2016 12:41:53 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 28 Mar 2016 12:41:53 +0300 From: Konstantin Belousov To: Alexander Motin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r297337 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs Message-ID: <20160328094153.GD1741@kib.kiev.ua> References: <201603280812.u2S8CTde080966@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201603280812.u2S8CTde080966@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Mar 2016 09:41:59 -0000 On Mon, Mar 28, 2016 at 08:12:29AM +0000, Alexander Motin wrote: > Author: mav > Date: Mon Mar 28 08:12:29 2016 > New Revision: 297337 > URL: https://svnweb.freebsd.org/changeset/base/297337 > > Log: > Pass through error code from make_dev_p(). > > ENAMETOOLONG is much more informative in logs then ENXIO. > > MFC after: 1 week > > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Mon Mar 28 08:01:38 2016 (r297336) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Mon Mar 28 08:12:29 2016 (r297337) > @@ -688,13 +688,14 @@ zvol_create_minor(const char *name) > bioq_init(&zv->zv_queue); > mtx_init(&zv->zv_queue_mtx, "zvol", NULL, MTX_DEF); > } else if (zv->zv_volmode == ZFS_VOLMODE_DEV) { > - if (make_dev_p(MAKEDEV_CHECKNAME | MAKEDEV_WAITOK, > + error = make_dev_p(MAKEDEV_CHECKNAME | MAKEDEV_WAITOK, > &dev, &zvol_cdevsw, NULL, UID_ROOT, GID_OPERATOR, > - 0640, "%s/%s", ZVOL_DRIVER, name) != 0) { > + 0640, "%s/%s", ZVOL_DRIVER, name); > + if (error != 0) { > kmem_free(zv, sizeof(*zv)); > dmu_objset_disown(os, FTAG); > mutex_exit(&zfsdev_state_lock); > - return (SET_ERROR(ENXIO)); > + return (error); > } > zv->zv_dev = dev; > dev->si_iosize_max = MAXPHYS; Did you considered switching to make_dev_s(9) KPI ? The next line, not shown in the diff, is dev->si_drv2 = zv; The make_dev_s() use would solve an issue where user mode request might be executed before si_drv2 is assigned.