From owner-svn-src-head@FreeBSD.ORG Fri May 18 09:56:23 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14E3E1065670; Fri, 18 May 2012 09:56:23 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from ns.kevlo.org (kevlo.org [220.128.136.52]) by mx1.freebsd.org (Postfix) with ESMTP id 996178FC0C; Fri, 18 May 2012 09:56:22 +0000 (UTC) Received: from [127.0.0.1] (git.kevlo.org [220.128.136.52]) by ns.kevlo.org (8.14.5/8.14.5) with ESMTP id q4I9uIlE006475; Fri, 18 May 2012 17:56:19 +0800 (CST) (envelope-from kevlo@FreeBSD.org) Message-ID: <1337334980.2286.24.camel@nsl> From: Kevin Lo To: Garrett Cooper Date: Fri, 18 May 2012 17:56:20 +0800 In-Reply-To: <9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF@gmail.com> References: <201111180305.pAI35LtC045952@svn.freebsd.org> <9AD9BD15-BC6A-4A85-A7BE-EE315AB39ECF@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 8bit Mime-Version: 1.0 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 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 May 2012 09:56:23 -0000 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 . > > > > 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