Re: nilfs2 on Scientific Linux 6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux