*BSD News Article 40468


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!uwm.edu!vixen.cso.uiuc.edu!newsfeed.ksu.ksu.edu!phys.ksu.edu!rjq
From: rjq@phys.ksu.edu (Rob Quinn)
Newsgroups: comp.unix.bsd
Subject: quotacheck: read: No children
Date: 6 Jan 1995 21:46:47 GMT
Organization: Kansas State University
Lines: 60
Message-ID: <3ekdo7$18d@newserv.ksu.ksu.edu>
NNTP-Posting-Host: bohr.phys.ksu.edu

 I originally posted this to comp.sys.sun.admin, where I received no answer,
but I believe it's something SunOS inherited from BSD so I'm reposting here.

 I have a Sparc5 running SunOS4.1.3_U1 (but I also tried this on a Sparc ELC
running 4.1.2 [that also has an identical disk that doesn't have this error],
and a Solaris2.3 machine booted off of the distribution CD). During the boot
process I get a ``read: No children'' message from the quotacheck command.
If I run ``quotacheck -v -a'' by hand I get ``read: Invalid argument'' instead.

 When I run trace on quotacheck I see that it is in a tight loop doing read()
calls, and that the read DOES NOT return an error. The read() does return less
bytes than requested. I figure perror() is being called and just using whatever
random value errno happens to have.

 I went digging for BSD sources and I did find that the net2 quotacheck.c backs
up my explanation. At the bottom of the file is a bread() function containing
code like this:

        if (read(fi, buf, cnt) != cnt) {
                perror("read");
                exit(1);
        }

 What exactly is happening here? What kind of `error' does the incomplete
read indicate?

 I called our disk vendor and they've suggested a few DIP switch changes, like
trying SCSI-1 vs SCSI-2 but that didn't help. They said the first disk probably
works because it's slightly older and has a different firmware version.
The disk is on warranty, so they've offered to swap it with for a refurbished
drive, but I'd rather keep the disk we have. As a last resort I'm going to
reformat and repartition the drive. The vendor said ``it can't hurt''.

 The drive in question is a Fujitsu M2694ES-512. It has had absolutely no other
problems for the ~6 months we've had it.

 I ftp'd the net2 quotacheck.c code quoted above from gatekeeper.dec.com in
/.3/BSD-net2/sbin/quotacheck.

 I'm including the partition table here in the off chance that that's the
problem.

Current partition table (original sd1):
        partition a - starting cyl      0, # blocks     1155 (1/0/0)
        partition b - starting cyl      1, # blocks   152460 (132/0/0)
        partition c - starting cyl      0, # blocks  2113650 (1830/0/0)
        partition d - starting cyl      0, # blocks        0 (0/0/0)
        partition e - starting cyl      0, # blocks        0 (0/0/0)
        partition f - starting cyl      0, # blocks        0 (0/0/0)
        partition g - starting cyl      0, # blocks        0 (0/0/0)
        partition h - starting cyl    133, # blocks  1960035 (1697/0/0)


 Any suggestions/ideas what-so-ever are appreciated!

--
| The net never sleeps.                                                    |
|                                                                Rob Quinn |
|                                                         rjq@phys.ksu.edu |
|                                                    QuinnBob@KSUVM.BITNET |