Hi again,
Just reporting back my results...
>> 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.
That did it! Both CONFIG_SHMEM _and_ CONFIG_TMPFS are needed.
I now have a new firmware image for my project and nilfs is
working as expected.
Due to the nature of the project, nilfs_cleanerd is not started when
the FS is mounted (in the initramfs). Instead it is supervised with
runsv(dir), so I start nilfs_cleanerd with -n to keep it from forking.
I hope this is the proper way of running nilfs_cleanerd under a
supervisor?!?
Thanks again!
/S-G
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html