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

Kevin Lo kevlo at FreeBSD.org
Fri May 18 10:10:06 UTC 2012


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...





More information about the svn-src-head mailing list