From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Artem B. Bityutskiy" Subject: Re: [PATCH 12/16] GFS2: Mounting & sysfs interface Date: Tue, 25 Apr 2006 20:53:16 +0400 Message-ID: <444E53FC.5060100@oktetlabs.ru> References: <1145636505.3856.116.camel@quoit.chygwyn.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: To: Steven Whitehouse In-Reply-To: <1145636505.3856.116.camel@quoit.chygwyn.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Steven Whitehouse wrote: > +int gfs2_sys_fs_add(struct gfs2_sbd *sdp) > +{ > + int error; > + > + sdp->sd_kobj.kset = &gfs2_kset; > + sdp->sd_kobj.ktype = &gfs2_ktype; > + > + error = kobject_set_name(&sdp->sd_kobj, "%s", sdp->sd_table_name); > + if (error) > + goto fail; > + > + error = kobject_register(&sdp->sd_kobj); > + if (error) > + goto fail; > + > + error = sysfs_create_group(&sdp->sd_kobj, &lockstruct_group); > + if (error) > + goto fail_reg; > + > + error = sysfs_create_group(&sdp->sd_kobj, &counters_group); > + if (error) > + goto fail_lockstruct; > + > + error = sysfs_create_group(&sdp->sd_kobj, &args_group); > + if (error) > + goto fail_counters; > + > + error = sysfs_create_group(&sdp->sd_kobj, &tune_group); > + if (error) > + goto fail_args; > + > + return 0; Hello, last time I tried to use "bare" sysfs functions to create my sysfs hierarchy I ended up with a problem that the module refcount is not increased when those sysfs files are opened. So I could open a sysfs file from userspace, do rmmod and enjoy oops. Then I started using the class and class_device stuff, which have an .owner field, and all became fine. I'm not sure if this is a problem of sysfs, but I suspect it could take care of module refcount better. In your patch, I looked for THIS_MODULE pattern and did not find. I did not try, but I suspect your code is not devoid of the problem I described. So, this is just FYI and may be not the case. -- Best regards, Artem B. Bityutskiy Oktet Labs (St. Petersburg), Software Engineer. +7 812 4286709 (office) +7 911 2449030 (mobile) E-mail: dedekind@oktetlabs.ru, Web: www.oktetlabs.ru