Hello Takada-san and all, The fix by Takada-san was incorporated in nilfs2-kmod-0.3.0-1.el6.src.rpm. You can find fixed RPMs in the NILFS site. Enjoy! Seiji Kihara 2011年11月30日18:37 Seiji Kihara <kihara@xxxxxxxx>: > Hi Takada-san, > > Thank you for your feedback. I will fix it. > > Thanks, > > Seiji Kihara > > 2011/11/30 Shingo TAKADA <takada@xxxxxxxxxxxx>: >> Hi, Kihara-san and all >> >> thank you for your rpm release. >> i installed to my SL6.1 x64 environment, it works fine. >> (mount, lscp, mkcp, mount -o cp=n, umount are checked) >> >> but there's a bug in the kmod-nilfs2 rpm uninstall script. >> when i try to uninstall the kmod rpm, fails like: >> >> [root@testbed2 ~]# rpm -ev kmod-nilfs2 >> Freeing read locks for locker 0x5f: 20505/140619693737888 >> Freeing read locks for locker 0x61: 20505/140619693737888 >> error: ^%{kmod_version}$: regcomp failed: Invalid content of \{\} >> error: %preun(kmod-nilfs2-0.3.0-0.el6.x86_64) scriptlet failed, exit status >> 1 >> >> this is caused by kmodtool-nilfs2-el6 script: >> >> cat <<EOF >> %preun -n kmod-${kmod_name}${dashvariant} >> rpm -ql >> kmod-${kmod_name}${dashvariant}-%{kmod_version}-%{kmod_release}.$(arch) | >> grep '\.ko$' > /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules >> EOF >> >> the variables "%{kmod_version}" and "%{kmod_release}" will not be expanded >> when the rpm package is going to be removed. >> i found this in recent days, try to build rpm package by myself, >> i can't understand that why these variable is placed on here. >> (remove these variables, still works fine) >> >> this part specifies the package name, so i think there's no necessity for >> the variables. >> >> on my environment, applying this patch fixes the uninstall problem. >> >> --- kmodtool-nilfs2-el6.org 2011-11-30 16:20:53.471728124 +0900 >> +++ kmodtool-nilfs2-el6 2011-11-30 16:21:06.553726633 +0900 >> @@ -172,7 +172,7 @@ >> >> cat <<EOF >> %preun -n kmod-${kmod_name}${dashvariant} >> -rpm -ql >> kmod-${kmod_name}${dashvariant}-%{kmod_version}-%{kmod_release}.$(arch) | >> grep '\.ko$' > /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules >> +rpm -ql kmod-${kmod_name}${dashvariant} | grep '\.ko$' > >> /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules >> EOF >> >> cat <<EOF >> >> thanks. >> >> >> (11/11/29 12:48), Seiji Kihara wrote: >>> >>> Hello Takada-san and all, >>> >>> I made RPM packages of nilfs2-kmod and nilfs-utils for RHEL 6 clones. >>> They are placed at the NILFS site below: >>> >>> http://www.nilfs.org/pub/centos/6/SRPMS/ >>> http://www.nilfs.org/pub/centos/6/RPMS/x86_64/ >>> http://www.nilfs.org/pub/centos/6/RPMS/i686/ >>> >>> Any feedback is welcome. >>> >>> Regards, >>> >>> Seiji Kihara >>> >>> At 2011/11/19 23:53, Ryusuke Konishi<konishi.ryusuke@xxxxxxxxxxxxx> >>> wrote: >>>> >>>> Hi TAKADA-san, >>>> On Sat, 19 Nov 2011 17:19:32 +0900, Shingo TAKADA wrote: >>>>> >>>>> Hi >>>>> >>>>> i cloned the centos6 repo and confirmed nilfs2 works fine! >>>>> there's no kernel panics happend on my environment, lscp and unmount >>>>> works well. thank you very much. >>>>> >>>>> >>>>> then, i'm trying to build rpm package of the centos6 kmod. >>>>> but i'm not familiar with rpm and kernel modules. >>>>> >>>>> i'm reusing SPEC file from centos5's nilfs srpm. >>>>> kmodtool is renewed in RHEL6, replace with it. >>>>> >>>>> in SPEC file, build and install section, SPEC file calls >>>>> make with "modules" and "modules_install" argument. >>>>> Makefile in the centos6-kmod repo has no such rules. >>>>> >>>>> how should i fix Makefile or SPEC file? >>>> >>>> >>>> You may change both files. >>>> >>>> I'm not familiar with rpm build, too. But, I guess it's possible to >>>> add modules and modules_install targets to makefiles in the >>>> nilfs2-kmod package to handle the change. >>>> >>>> Send us back the patch when well done. I will apply it to my >>>> centos6-kmod tree. (At least for changes against makefiles). >>>> >>>> >>>> Thanks, >>>> Ryusuke Konishi >>>> >>>> >>>>> thanks. >>>>> Shingo TAKADA >>>>> >>>>> (11/11/13 3:58), Ryusuke Konishi wrote: >>>>>> >>>>>> Hi, >>>>>> On Sat, 12 Nov 2011 15:20:00 +0900, Shingo TAKADA wrote: >>>>>>> >>>>>>> Hi >>>>>>> >>>>>>> thank you for your advice. >>>>>>> >>>>>>> I replace the line, REQ_UNPLUG, with your patch, BIO_RW_UNPLUG in >>>>>>> segbuf.c in SL6's kernel srpm archive. >>>>>>> >>>>>>> make is done successfully like 2.6.32.27's case (see my last post), >>>>>>> and kernel panics like 2.6.32.27's case when unmounting the nilfs2 >>>>>>> partition... >>>>>>> >>>>>>> i rebuilt the nilfs2 partition again after replacing the nilfs2.ko >>>>>>> module and modprobe it. >>>>>> >>>>>> >>>>>> I've pushed out a standalone nilfs2 kmod for Centos6 and SL6. >>>>>> >>>>>> It is available from http://git.nilfs.org/nilfs2-kmod-centos6.git as >>>>>> follows: >>>>>> >>>>>> $ git clone http://git.nilfs.org/nilfs2-kmod-centos6.git >>>>>> $ cd nilfs2-kmod-centos6 >>>>>> $ make >>>>>> $ sudo make install >>>>>> >>>>>> It includes important changes and bug-fixes which are backported from >>>>>> newer kernels. The kmod seems to work fine so far for me. Check it >>>>>> out. >>>>>> >>>>>> >>>>>> Regards, >>>>>> Ryusuke Konishi >>>>>> >>>>>>> thanks. >>>>>>> Shingo TAKADA >>>>>>> >>>>>>> (11/11/10 13:20), Ryusuke Konishi wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> On Wed, 09 Nov 2011 16:18:53 +0900, Shingo TAKADA wrote: >>>>>>>>> >>>>>>>>> hi. >>>>>>>>> >>>>>>>>> I'm trying to use nilfs2 on Scientific Linux 6.1 with kernel >>>>>>>>> 2.6.32-131.17.1.el6.x86_64. >>>>>>>>> currently, there's no official package for SL6.1 (and RHEL6), >>>>>>>>> so i tried to build rpm package using CentOS 5's srpm. >>>>>>>>> >>>>>>>>> i installed nilfs-kmod-2.0.22-4.src.rpm, extract >>>>>>>>> nilfs-2.0.22.tar.bz2 and >>>>>>>>> tried to make, but fails like: >>>>>>>>> >>>>>>>>> $ pwd >>>>>>>>> /tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs >>>>>>>>> $ make -C /usr/src/kernels/2.6.32-131.17.1.el6.x86_64 M=`pwd` >>>>>>>>> make: Entering directory >>>>>>>>> `/usr/src/kernels/2.6.32-131.17.1.el6.x86_64' >>>>>>>>> LD /tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs/built-in.o >>>>>>>>> CC [M] /tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs/inode.o >>>>>>>>> In file included from >>>>>>>>> /tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs/inode.c:28: >>>>>>>>> /tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs/nilfs.h: In function >>>>>>>>> ‘nilfs_init_acl’: >>>>>>>>> /tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs/nilfs.h:234: error: >>>>>>>>> dereferencing >>>>>>>>> pointer to incomplete type >>>>>>>>> make[1]: *** [/tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs/inode.o] Error 1 >>>>>>>>> make: *** [_module_/tmp/rpmbuild/SOURCES/nilfs-2.0.22/fs] Error 2 >>>>>>>>> make: Leaving directory >>>>>>>>> `/usr/src/kernels/2.6.32-131.17.1.el6.x86_64' >>>>>>>>> >>>>>>>>> >>>>>>>>> I installed SL6.1's kernel Source RPM(srpm) , try to make from the >>>>>>>>> sources in the srpm. i installed kernel-2.6.32-131.17.1.el6.src.rpm >>>>>>>>> using yumdownloader. >>>>>>>>> >>>>>>>>> but fails like: >>>>>>>>> $ pwd >>>>>>>>> /tmp/sl6-srpm-nilfs2 >>>>>>>>> $ make -C /usr/src/kernels/2.6.32-131.17.1.el6.x86_64 M=`pwd` >>>>>>>>> make: Entering directory >>>>>>>>> `/usr/src/kernels/2.6.32-131.17.1.el6.x86_64' >>>>>>>>> LD /tmp/sl6-srpm-nilfs2/built-in.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/inode.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/file.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/dir.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/super.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/namei.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/page.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/mdt.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/btnode.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/bmap.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/btree.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/direct.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/dat.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/recovery.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/the_nilfs.o >>>>>>>>> CC [M] /tmp/sl6-srpm-nilfs2/segbuf.o >>>>>>>>> /tmp/sl6-srpm-nilfs2/segbuf.c: In function ‘nilfs_segbuf_write’: >>>>>>>>> /tmp/sl6-srpm-nilfs2/segbuf.c:396: error: ‘REQ_UNPLUG’ undeclared >>>>>>>>> (first >>>>>>>>> use in this function) >>>>>>>>> /tmp/sl6-srpm-nilfs2/segbuf.c:396: error: (Each undeclared >>>>>>>>> identifier is >>>>>>>>> reported only once >>>>>>>>> /tmp/sl6-srpm-nilfs2/segbuf.c:396: error: for each function it >>>>>>>>> appears in.) >>>>>>>>> make[1]: *** [/tmp/sl6-srpm-nilfs2/segbuf.o] Error 1 >>>>>>>>> make: *** [_module_/tmp/sl6-srpm-nilfs2] Error 2 >>>>>>>>> make: Leaving directory >>>>>>>>> `/usr/src/kernels/2.6.32-131.17.1.el6.x86_64' >>>>>>>> >>>>>>>> >>>>>>>> REQ_UNPLUG was introduced by the following patch (and has gone with >>>>>>>> other patch). This seems to be a difference between the vanilla >>>>>>>> kernel and the SL6 kernel. Thanks for reporting. >>>>>>>> >>>>>>>> diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c >>>>>>>> index 2e6a272..4588fb9 100644 >>>>>>>> --- a/fs/nilfs2/segbuf.c >>>>>>>> +++ b/fs/nilfs2/segbuf.c >>>>>>>> @@ -508,7 +508,7 @@ static int nilfs_segbuf_write(struct >>>>>>>> nilfs_segment_buffer *s >>>>>>>> egbuf, >>>>>>>> * Last BIO is always sent through the following >>>>>>>> * submission. >>>>>>>> */ >>>>>>>> - rw |= (1<< BIO_RW_SYNCIO) | (1<< >>>>>>>> BIO_RW_UNPLUG); >>>>>>>> + rw |= REQ_SYNC | REQ_UNPLUG; >>>>>>>> res = nilfs_segbuf_submit_bio(segbuf,&wi, rw); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>>> how should i do to use nilfs on SL6 environment? >>>>>>>>> or do you have any plan to release CentOS6 package of nilfs? >>>>>>>> >>>>>>>> >>>>>>>> We feel the necessity for creating kmod branch for the Centos6 >>>>>>>> kernel, >>>>>>>> but don't have concrete plan. >>>>>>>> >>>>>>>> Ok, I will try it when I have time. Or, does anyone want to try it? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Ryusuke Konishi >>>>>>>> >>>>>>>>> my environment: Scientific Linux 6.1 x64 on XenServer 5.6 SP2. >>>>>>>>> >>>>>>>>> Shingo TAKADA >>>>>>>>> -- >>>>>>>>> takada@xxxxxxxxxxxx >>> >>> -- >>> >>> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> >> Shingo TAKADA >> -- >> takada@xxxxxxxxxxxx >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > -- > 木原 誠司 -- 木原 誠司 -- To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html