RE: nilfs_cleanerd Function not implemented

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

 



Hi Ryusuke,

thank you for your investigations.


> On Sat, 17 Mar 2012 22:53:20 +0900 (JST), Ryusuke Konishi wrote:

>>  On Sat, 17 Mar 2012 20:43:43 +0900 (JST), Ryusuke Konishi wrote:
>>  > On Fri, 16 Mar 2012 07:21:39 -0700 (PDT), Sven-Göran_Bergh wrote:
>>  > > Hi dexen,
>>  > > 
>>  > > thank you for a prompt reply.
>>  > > 
>>  > > 
>>  > > 
>>  > > >>  I am in the process of migrating an embedded project 
> from
>>  > > >>  ext2 to nilfs2 and have a problem with nilfs_cleanerd. 
> It
>>  > > >>  does not start on mount and I cannot start it manually.
>>  > > >>  (...)
>>  > > > 
>>  > > > Relevant snippet from strace of my nilfs_cleanerd (version 
> nilfs-
>>  > > > utils-2.0.23):
>>  > > ...
>>  > > > 864   statfs("/dev/shm", {f_type=0x1021994, 
> f_bsize=4096, 
>>  > > > f_blocks=86016, 
>>  > > > f_bfree=86010, f_bavail=86010, f_files=754077, 
> f_ffree=754075, f_fsid={0, 0}, 
>>  > > > f_namelen=255, f_frsize=4096}
>>  > > > ) = 0
>>  > > > 864   futex(0x7f551010d31c, FUTEX_WAKE_PRIVATE, 2147483647) 
> = 0
>>  > > > 864   open("/dev/shm/sem.nilfs-cleaner-2067", 
> O_RDWR|O_NOFOLLOW) = -1 
>>  > > > ENOENT 
>>  > > > (No such file or directory)
>>  > > > 864   lstat("/dev/shm/sem.qLTneb", 0x7fffff54fb70) 
> = -1 ENOENT (No 
>>  > > > such file or 
>>  > > > directory)
>>  > > > 864   open("/dev/shm/sem.qLTneb", 
> O_RDWR|O_CREAT|O_EXCL, 0700) = 6
>>  > > 
>>  > > Hmmm, quite different.
>>  > 
>>  > Could you confirm whether /dev/shm is mounted on /run/shm (or
>>  > /var/run/shm) ?
>>  > 
>>  > Some systems don't mount /dev/shm, and posix semaphores do not 
> work in
>>  > such systems.
>> 
>>  Oops, /dev/shm is just a directory (not a device), and /run/shm was
>>  irrelevant.  Sorry.
>> 
>>  The cause of this problem seems that posix semaphores are not
>>  available in your system.  I'll dig into it.
>> 
>>  Ryusuke Konishi
> 
> I read the source code of sem_open() in glibc and found that
> sem_open() fails if there is no tmpfs (former shm fs) mount in the
> system.
> 
> According to your strace log, your /dev/shm is mounted with "ramfs"
> whose magic number is 0x858458f6.  This looks the cause of the error.
> 
>>  statfs("/dev/shm", {f_type=0x858458f6, f_bsize=4096, f_blocks=0,
>>  f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0},
>>  f_namelen=255, f_frsize=4096}) = 0
> 
> Try following kernel configs to enable tmpfs and mount it to
> /dev/shm instead of using ramfs.
> 
> - CONFIG_SHMEM
>       Generic setup ->
>         Configure standard kernel features (expert users) ->
>           Use full shmem filesystem
> 
> - CONFIG_TMPFS
>       File systems ->
>         Pseudo filesystems ->
>           Tmpfs virtual memory file system support (former shm fs)

You are right. I was using ramfs and when I tried with CONFIG_SHMEM
I still used ramfs, so right now I am compiling a new kernel with
both CONFIG_SHMEM and CONFIG_TMPFS. I will report my results when
I have tried the new kernel.

Thanks again
/S-G
--
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