Date: Fri, 18 May 2012 18:10:04 +0800 From: Kevin Lo <kevlo@FreeBSD.org> To: Garrett Cooper <yanegomi@gmail.com> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r227650 - in head: lib/libkiconv sys/conf sys/fs/msdosfs sys/fs/smbfs sys/kern sys/libkern sys/modules/libiconv sys/modules/libmchain sys/netsmb sys/sys Message-ID: <1337335804.2286.28.camel@nsl> In-Reply-To: <1337334980.2286.24.camel@nsl> References: <201111180305.pAI35LtC045952@svn.freebsd.org> <9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF@gmail.com> <1337334980.2286.24.camel@nsl>
next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Lo wrote: > Garrett Cooper wrote: > > On Nov 17, 2011, at 7:05 PM, Kevin Lo wrote: > > > > > Author: kevlo > > > Date: Fri Nov 18 03:05:20 2011 > > > New Revision: 227650 > > > URL: http://svn.freebsd.org/changeset/base/227650 > > > > > > Log: > > > Add unicode support to msdosfs and smbfs; original pathes from imura, > > > bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>. > > > > > > Tested by me in production for several days at work. > > > > Some of the code in this commit breaks unloading of the libiconv module (it hard locks on unload). In particular if I do the following… > > Hmm, I have a machine running FreeBSD but not included r227650. > Trying to unload libiconv.ko, I get the message: > > kldunload: attempt to unload file that was loaded by the kernel > kldunload: can't unload file: Device busy Ah I spoke too soon. It seems this commit does break unloading libiconv. I'll take a look at it, thanks. > > > > Index: /root/current/sys/libkern/iconv_ucs.c > > =================================================================== > > --- /root/current/sys/libkern/iconv_ucs.c (revision 235066) > > +++ /root/current/sys/libkern/iconv_ucs.c (working copy) > > @@ -373,6 +373,7 @@ > > static int > > iconv_ucs_init(struct iconv_converter_class *dcp) > > { > > +#if 0 > > int error; > > > > error = iconv_add(ENCODING_UNICODE, ENCODING_UNICODE, ENCODING_UTF8); > > @@ -381,6 +382,7 @@ > > error = iconv_add(ENCODING_UNICODE, ENCODING_UTF8, ENCODING_UNICODE); > > if (error) > > return (error); > > +#endif > > return (0); > > } > > > > Then unload works (maybe at the cost of leaking a converter or two). It seems that iconv_unregister_handler succeeds when it's called (I inserted some printfs just because), but it might be doing bad things because of restructuring that took place in this commit. > > Thanks! > > -Garrett > > > > PS Committing kern/168095 beforehand may or may not help...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1337335804.2286.28.camel>