Re: [PATCH] common: suppress "Broken pipe" errors

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Thu, Dec 11, 2014 at 03:13:23PM +1100, Dave Chinner wrote:
> On Wed, Dec 10, 2014 at 09:25:18PM -0500, Theodore Ts'o wrote:
> > It's possible based on a race conditions (and possibly the version of
> > coreutils which supplies /usr/bin/yes) that commands of the form:
> > 
> > yes | $MKFS_PROG ...
> > 
> > will end up causing the following failure:
> 
> What race conditions?

It looks like under some circumstances, mkfs reads from stdin and then
exits quickly; in the mean time, since the pipe has read from, yes
then tries to send more "y\n" to stdout, and then it gets an EPIPE
error and complains.

> But thats indicative that something failed and you need to analyse
> the reason, yes? So AFAICT this is deisred behaviour, and hiding the
> error will actually hide other failures, right?

No, I don't think anything fails; it's perfectly OK that mkfs can read
from stdin and then exit very quickly.  It seems to happen primarily
when we're running a test where mkfs can exit quickly enough to hit
this race.

> I'd highly recommend you add ext4 specific mkfs branches so you can
> use the non-interactive/force mkfs flags so that "yes |" is not
> necessary for your (and everyone elses ext4) test environments.

Sure, I'd be happy to add a ext2/3/4 specific mkfs branch.  Does any
other file system's mkfs try to do interactive I/O?  If so, then they
could hit this too, so I think the "yes 2> /dev/null | ..."
formulation is still a good thing to do.  If not, maybe we should be
removing the "yes | ..." construct entirely, since it's pretty ugly
IMHO.

Cheers,

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux