Недавно у меня начались проблемы при запуске mv
в моей системе ReadyNAS 312. Кажется, что вызов блокируется сразу, т.е. когда я запускаю strace
на нем он, кажется, застревает, прежде чем что-то сделать:
open("[...]", O_RDONLY|O_NOFOLLOW) = 3
fstat(3, {st_mode=S_IFREG|0666, st_size=287873154, ...}) = 0
open("[...]", O_WRONLY|O_CREAT|O_EXCL, 0600) = 4
fstat(4, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
ioctl(4, BTRFS_IOC_CLONE^C^C^Z
[1] + 7789 suspended strace mv .
Полный strace
вывод находится на [0].
И наоборот cp
работает без проблем (вывод на [1]).
Пока mv
зависает, он использует 100% ЦП в соответствии с top
и согласно ps r -A
он работает:
% ps r -A
PID TTY STAT TIME COMMAND
2490 ? R 0:45 [btrfs-transacti]
20257 pts/0 R+ 1:15 mv [...]
21097 pts/1 R+ 0:00 ps r -A
Однако, как видно выше, через несколько секунд к нему присоединяется процесс [btrfs-transacti] (также используя 100% ЦП).
Выход cat /proc/20257/status
является
% cat /proc/20257/status
Name: mv
State: R (running)
Tgid: 20257
Ngid: 0
Pid: 20257
PPid: 20254
TracerPid: 20254
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Groups: 0
NStgid: 20257
NSpid: 20257
NSpgid: 20254
NSsid: 4613
VmPeak: 24084 kB
VmSize: 24084 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1616 kB
VmRSS: 1616 kB
VmData: 220 kB
VmStk: 136 kB
VmExe: 124 kB
VmLib: 2516 kB
VmPTE: 64 kB
VmPMD: 12 kB
VmSwap: 0 kB
Threads: 1
SigQ: 0/7915
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000180000000
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 308
nonvoluntary_ctxt_switches: 467
Количество непроизвольных переключений контекста медленно растет, в то время как произвольные переключения контекста остаются постоянными.
Дисковая система - это то, что Netgear называет X-RAID, но в основном это RAID-1. Ядро
% uname -a
Linux readynas312 4.1.30.x86_64.1 #1 SMP Thu Sep 22 16:30:32 PDT 2016 x86_64 GNU/Linux
Пожалуйста, дайте мне знать, если я должен предоставить дополнительную информацию.
[0] https://gist.github.com/dinyar/6e32fae19d38fd66f942dd70ee6cda8c
[1] https://gist.github.com/dinyar/4c40ff7bc0fca986a1ea875287810928
Я поискал еще немного и почти уверен, что обнаружил ошибку, описанную в [0].
[0] http://permalink.gmane.org/gmane.comp.file-systems.btrfs/46877