Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 May 2012 17:56:20 +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:  <1337334980.2286.24.camel@nsl>
In-Reply-To: <9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF@gmail.com>
References:  <201111180305.pAI35LtC045952@svn.freebsd.org> <9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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

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

	Kevin





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