Date: Sat, 28 Nov 2015 18:10:58 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Jilles Tjoelker <jilles@stack.nl> Cc: "Mikhail T." <mi+thun@aldan.algebra.com>, freebsd-fs <freebsd-fs@freebsd.org>, stable@freebsd.org Subject: Re: cp from NFS to ZFS hung in "fifoor" Message-ID: <1399144047.110083450.1448752258051.JavaMail.zimbra@uoguelph.ca> In-Reply-To: <20151128224101.GA8470@stack.nl> References: <5659CB64.5020105@aldan.algebra.com> <20151128224101.GA8470@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
Jilles Tjoelker wrote: > On Sat, Nov 28, 2015 at 10:42:28AM -0500, Mikhail T. wrote: > > I was copying /home from an old server (narawntapu) to a new one > > (aldan). The narawntapu:/home is mounted on aldan as /mnt with flags > > ro,intr. On narawntapu /home was simply located on an SSD, but on aldan > > I created a ZFS filesystem for it. > > > The copying was started thus: > > > root@aldan:/home (435) cp -Rpn /mnt/* . > > > for a while this was proceeding at a decent clip with cp making > > newnfsreq-uests: > > > load: 0.78 cmd: cp 38711 [newnfsreq] 802.84r 1.57u 140.63s 20% 10768k > > /mnt/mi/.kde/share/apps/kmail/dimap/.42838394.directory/sent/cur/1219621413.32392.hd8cl:2,S > > -> > > ./mi/.kde/share/apps/kmail/dimap/.42838394.directory/sent/cur/1219621413.32392.hd8cl:2,S > > 100% > > load: 1.23 cmd: cp 38711 [newnfsreq] 874.19r 1.66u 154.74s 17% 4576k > > /mnt/mi/.kde/share/apps/kmail/dimap/.42838394.directory/ML/cur/1219595347.32392.rMDFf:2,S > > -> > > ./mi/.kde/share/apps/kmail/dimap/.42838394.directory/ML/cur/1219595347.32392.rMDFf:2,S > > 100% > > > ZFS on the destination compressing and writing stuff out and the traffic > > between the two ranging from 30 to 50Mb/s (according to systat), but > > then something happened and the cp-process is now hung: > > > load: 0.55 cmd: cp 38711 [fifoor] 1107.67r 2.09u 194.12s 0% 3300k > > load: 0.50 cmd: cp 38711 [fifoor] 1112.66r 2.09u 194.12s 0% 3300k > > load: 0.22 cmd: cp 38711 [fifoor] 1642.37r 2.09u 194.12s 0% 3300k > > This normally means that the process is opening a fifo for reading and > is waiting for a writer. Although cp -R will normally copy a fifo by > calling mkfifo at the destination, it may open one if a regular file is > replaced with a fifo between the time it reads the directory and it > copies that file. This is not that unlikely if large directory trees are > copied during that time. > Oops, thanks. I didn't know that [fifoor] in these lines meant that was what the WCHAN is. Obviously, you should now ignore everything I said;-) rick > On the other hand, cp without -R/-r/-l/-s will always open a fifo. > > You can make cp continue by opening the fifo (which you'll need to find > first, for example by checking what has been copied already) for > writing, like : >/path/to/some/fifo. It will be replaced with an empty > file at the destination. > > -- > Jilles Tjoelker > _______________________________________________ > freebsd-stable@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1399144047.110083450.1448752258051.JavaMail.zimbra>