kern/166851: Copying directory from the mounted UFS disk image
hangs in DL+ vnread state (source and destination both on the
yuri at tsoft.com
Wed Apr 11 18:00:27 UTC 2012
>Synopsis: Copying directory from the mounted UFS disk image hangs in DL+ vnread state (source and destination both on the same ZFS)
>Arrival-Date: Wed Apr 11 18:00:27 UTC 2012
>Release: 9.0-STABLE amd64
I have 82GB UFS image file (ufs-snapshot.img) mounted on some directory ufs-snapshot.mount. (mount /dev/`mdconfig -a -t vnode -f ufs-snapshot.img` ufs-snapshot.mount) Both original file ufs-snapshot.img and ufs-snapshot.mount are on the same ZFS disk.
Command 'cp -R ufs-snapshot.mount/usr other-dir/' hanged in the middle with DL+ status:
$ ps ax | grep cp
73635 10 DL+ 0:12.19 cp -R ufs-snapshot.mount/usr other-dir/
'top' shows it in vnread state:
73635 root 1 20 0 10084K 2672K vnread 1 0:12 0.00% cp
When I ran 'ls' in the same mounted directory it hanged too with D+ status:
$ ps ax | grep ls
75882 2 D+ 0:00.00 ls ufs-snapshot.mount/
Subsequent 'ls' of this ZFS disk's top directory hangs in the same way. And after few hours system freezes.
It appears that cp -R creates the gridlock condition when it copies from UFS contained in the image file within some ZFS disk into the same ZFS disk.
More information about the freebsd-bugs