Hi list,
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.
The below sequence is reproduced on the build system,
a QEMU i586, with a similar kernel as the target
(also i586, AMD Geode LX):
# mkfs.nilfs2 /dev/sdb1
mkfs.nilfs2 (nilfs-utils 2.1.1)
Start writing file system initial data to the device
Blocksize:4096 Device:/dev/sdb1 Device Size:2146765824
File system initialization succeeded !!
# mount.nilfs2 /dev/sdb1 /mnt/cf
# echo $?
0
# mount | grep nilfs
/dev/sdb1 on /mnt/cf type nilfs2 (rw,gcpid=489)
# nilfs-clean -l
No cleaner found on /dev/sdb1.
# dmesg | tail
...
segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds
# tail /var/log/syslog
...
Mar 14 16:48:50 monit kernel: segctord starting. Construction interval = 5
seconds, CP frequency < 30 seconds
Mar 14 16:48:51 monit nilfs_cleanerd[489]: start
Mar 14 16:48:51 monit nilfs_cleanerd[489]: cannot open nilfs on /dev/sdb1:
Function not implemented
Mar 14 16:48:51 monit nilfs_cleanerd[489]: cannot create cleanerd on /dev/sdb1:
Function not implemented
Mar 14 16:48:51 monit nilfs_cleanerd[489]: shutdown
Trying to start it manually with nilfs_cleanerd /dev/sdb1
gives the same result.
Kernel is a lean vanilla 3.2.11, but I have tried most
3.2.x kernels.
To a novice, like me, the lengthy strace below seems to
suggest a socket error of some sort (sendto(-1218631408,...).
Are there any specific kernel CONFIGs needed to get it
going?
/S-G
# strace -f /sbin/nilfs_cleanerd /dev/sdb1
execve("/sbin/nilfs_cleanerd", ["/sbin/nilfs_cleanerd", "/dev/sdb1"], [/* 13
vars */]) = 0
brk(0) = 0x8dfd000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7742000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=17637, ...}) = 0
mmap2(NULL, 17637, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb773d000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libnilfs.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\22"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=24842, ...}) = 0
mmap2(NULL, 17896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7738000
mmap2(0xb773c000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb773c000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libnilfsgc.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\16"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=19922, ...}) = 0
mmap2(NULL, 17340, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7733000
mmap2(0xb7737000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7737000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/librt.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\30"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30624, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7732000
mmap2(NULL, 33336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7729000
mmap2(0xb7730000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7730000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1294572, ...}) = 0
mmap2(NULL, 1300080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb75eb000
mmap2(0xb7723000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x138) = 0xb7723000
mmap2(0xb7726000, 9840, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7726000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220G\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=112012, ...}) = 0
mmap2(NULL, 94688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb75d3000
mmap2(0xb75e7000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb75e7000
mmap2(0xb75e9000, 4576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb75e9000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb75d2000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb75d28c0, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0
mprotect(0xb7723000, 4096, PROT_READ) = 0
munmap(0xb773d000, 17637) = 0
set_tid_address(0xb75d2908) = 1224
sendto(-1218631408, umovestr: Input/output error
0xc, 3076423668, MSG_EOR|MSG_ERRQUEUE|MSG_DONTWAIT|MSG_CONFIRM|0xb75d0000,
{sa_family=0xed31 /* AF_??? */,
sa_data="^\211\341\203\344\360PTRh\300\334\4\10"}, 3220150176) = 0
futex(0xbfef9790, 0x81 /* FUTEX_??? */, 1) = 0
rt_sigaction(SIGRTMIN, {0xb75d7280, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb75d7680, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="monit.site.tpm", ...}) = 0
readlink("/dev", 0xbfef771f, 4096) = -1 EINVAL (Invalid argument)
readlink("/dev/sdb1", 0xbfef771f, 4096) = -1 EINVAL (Invalid argument)
brk(0) = 0x8dfd000
brk(0x8e1e000) = 0x8e1e000
clone(Process 1225 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb75d2908) = 1225
[pid 1224] exit_group(0) = ?
Process 1224 detached
setsid() = 1225
chdir("/") = 0
close(0) = 0
close(1) = 0
close(2) = 0
open("/dev/null", O_RDONLY) = 0
open("/dev/null", O_WRONLY) = 1
open("/dev/null", O_WRONLY) = 2
time(NULL) = 1331898633
open("/etc/localtime", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1892, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=1892, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7741000
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0\0"..., 4096) =
1892
_llseek(3, -28, [1864], SEEK_CUR) = 0
read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28
close(3) = 0
munmap(0xb7741000, 4096) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1892, ...}) = 0
socket(PF_FILE, SOCK_DGRAM, 0) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
send(3, "<30>Mar 16 12:50:33 nilfs_cleane"..., 47, MSG_NOSIGNAL) = 47
open("/dev/sdb1", O_RDONLY) = 4
ioctl(4, BLKGETSIZE64, 0xbfef8658) = 0
lseek(4, 1024, SEEK_SET) = 1024
read(4, "\2\0\0\0\0\00044\30\1\0\0KH.\227\17t\213\r\2\0\0\0\377"..., 1024) =
1024
lseek(4, 2146758656, SEEK_SET) = 2146758656
read(4, "\2\0\0\0\0\00044\30\1\0\0KH.\227\17t\213\r\2\0\0\0\377"..., 1024) =
1024
readlink("/dev", 0xbfef5e4f, 4096) = -1 EINVAL (Invalid argument)
readlink("/dev/sdb1", 0xbfef5e4f, 4096) = -1 EINVAL (Invalid argument)
open("/proc/mounts", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7741000
read(5, "rootfs / rootfs rw 0 0\nprocfs /p"..., 1024) = 765
readlink("/dev", 0xbfef5e4f, 4096) = -1 EINVAL (Invalid argument)
readlink("/dev/sdb1", 0xbfef5e4f, 4096) = -1 EINVAL (Invalid argument)
close(5) = 0
munmap(0xb7741000, 4096) = 0
open("/mnt/cf", O_RDONLY) = 5
stat64("/dev/sdb1", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 17), ...}) = 0
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
open("/proc/mounts", O_RDONLY) = 6
fstat64(6, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7741000
read(6, "rootfs / rootfs rw 0 0\nprocfs /p"..., 1024) = 765
statfs("/lib/init/rw", {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
statfs("/dev", {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
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
read(6, "", 1024) = 0
close(6) = 0
munmap(0xb7741000, 4096) = 0
futex(0xb75ea184, 0x81 /* FUTEX_??? */, 2147483647) = 0
close(4) = 0
close(5) = 0
time(NULL) = 1331898633
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1892, ...}) = 0
send(3, "<27>Mar 16 12:50:33 nilfs_cleane"..., 98, MSG_NOSIGNAL) = 98
time(NULL) = 1331898633
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1892, ...}) = 0
send(3, "<27>Mar 16 12:50:33 nilfs_cleane"..., 103, MSG_NOSIGNAL) = 103
time(NULL) = 1331898633
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1892, ...}) = 0
send(3, "<30>Mar 16 12:50:33 nilfs_cleane"..., 50, MSG_NOSIGNAL) = 50
close(3) = 0
exit_group(1) = ?
Process 1225 detached
--
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