Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 2010 15:49:13 +0300
From:      Jaakko Heinonen <jh@FreeBSD.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r206560 - head/sys/fs/devfs
Message-ID:  <20100414124912.GA2950@a91-153-117-195.elisa-laajakaista.fi>
In-Reply-To: <20100414084037.GK2415@deviant.kiev.zoral.com.ua>
References:  <201004131853.o3DIrdOT035078@svn.freebsd.org> <20100414084037.GK2415@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

Thank you for your comments.

On 2010-04-14, Kostik Belousov wrote:
> The make_dev_credf() signature can be changed to return int error code
> instead of void, and a flag, lets call it MAKEDEV_CHECKNAME, added,

make_dev_credf() returns struct cdev *, not void.

> that specifies that make_dev_credf() is allowed to fail with error
> EINVAL if supplied name is not sane. If flag is not supplied,
> make_dev_credf() should KASSERT or even just panic(9) if name
> does not pass internal validation.

Otherwise sounds reasonable suggestion. However changes are needed in
devfs. Currently devfs_populate_loop() is not along the make_dev*()
code path but make_dev(9) increases a generation counter and
devfs_populate_loop() gets called sometimes later. To make things more
complex there may be several devfs mounts with different symlinks (files).

Actually my change doesn't work correctly in all cases with multiple
devfs mounts and has another bug with cdp use counts. I am considering
reverting the change.

-- 
Jaakko



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100414124912.GA2950>