Skip site navigation (1)Skip section navigation (2)
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>