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