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>