Use getfsspecname() to fill the filesystem argument in dumpdates.
While here, make sure that the error strings terminate with newline consistently, and add a function that adds the system error string.
This commit is contained in:
parent
b14a651935
commit
c8d11eb8cc
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: dump.h,v 1.55 2019/02/03 12:17:14 mrg Exp $ */
|
||||
/* $NetBSD: dump.h,v 1.56 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1993
|
||||
|
@ -185,10 +185,11 @@ void fs_mapinodes(ino_t, u_int64_t *, int *);
|
|||
/* operator interface functions */
|
||||
void broadcast(const char *);
|
||||
void lastdump(char);
|
||||
void msg(const char *fmt, ...) __printflike(1, 2);
|
||||
void msgtail(const char *fmt, ...) __printflike(1, 2);
|
||||
void msg(const char *, ...) __printflike(1, 2);
|
||||
void msgtail(const char *, ...) __printflike(1, 2);
|
||||
int query(const char *);
|
||||
void quit(const char *fmt, ...) __printflike(1, 2);
|
||||
void quit(const char *, ...) __printflike(1, 2);
|
||||
void quite(int, const char *, ...) __printflike(2, 3);
|
||||
time_t do_stats(void);
|
||||
void statussig(int);
|
||||
void timeest(void);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ffs_inode.c,v 1.22 2013/06/23 02:06:04 dholland Exp $ */
|
||||
/* $NetBSD: ffs_inode.c,v 1.23 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1991, 1993, 1994
|
||||
|
@ -36,7 +36,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1991, 1993, 1994\
|
|||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
__RCSID("$NetBSD: ffs_inode.c,v 1.22 2013/06/23 02:06:04 dholland Exp $");
|
||||
__RCSID("$NetBSD: ffs_inode.c,v 1.23 2019/03/01 16:42:11 christos Exp $");
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -79,7 +79,7 @@ fs_read_sblock(char *superblock)
|
|||
sblock = (struct fs *)superblock;
|
||||
for (i = 0; ; i++) {
|
||||
if (sblock_try[i] == -1)
|
||||
quit("can't find superblock\n");
|
||||
quit("can't find superblock");
|
||||
rawread(sblock_try[i], (char *)superblock, MAXBSIZE);
|
||||
|
||||
switch(sblock->fs_magic) {
|
||||
|
@ -169,7 +169,7 @@ fs_mapinodes(ino_t maxino __unused, u_int64_t *tape_size, int *anydirskipped)
|
|||
char *cp;
|
||||
|
||||
if ((cgp = malloc(sblock->fs_cgsize)) == NULL)
|
||||
quit("fs_mapinodes: cannot allocate memory.\n");
|
||||
quite(errno, "fs_mapinodes: cannot allocate memory.");
|
||||
|
||||
for (cg = 0; cg < sblock->fs_ncg; cg++) {
|
||||
ino = cg * sblock->fs_ipg;
|
||||
|
@ -190,7 +190,8 @@ fs_mapinodes(ino_t maxino __unused, u_int64_t *tape_size, int *anydirskipped)
|
|||
*/
|
||||
if (sblock->fs_flags & FS_DOSOFTDEP) {
|
||||
if (!cg_chkmagic(cgp, 0))
|
||||
quit("mapfiles: cg %d: bad magic number\n", cg);
|
||||
quit("%s: cg %d: bad magic number\n",
|
||||
__func__, cg);
|
||||
cp = &cg_inosused(cgp, 0)[(inosused - 1) / CHAR_BIT];
|
||||
for ( ; inosused > 0; inosused -= CHAR_BIT, cp--) {
|
||||
if (*cp == 0)
|
||||
|
@ -225,7 +226,7 @@ getino(ino_t inum)
|
|||
struct ufs2_dinode *dp2;
|
||||
|
||||
if (inoblock == NULL && (inoblock = malloc(ufsib->ufs_bsize)) == NULL)
|
||||
quit("cannot allocate inode memory.\n");
|
||||
quite(errno, "cannot allocate inode memory.");
|
||||
curino = inum;
|
||||
if (inum >= minino && inum < maxino)
|
||||
goto gotit;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: itime.c,v 1.20 2013/06/15 01:27:19 christos Exp $ */
|
||||
/* $NetBSD: itime.c,v 1.21 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1993
|
||||
|
@ -34,7 +34,7 @@
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)itime.c 8.1 (Berkeley) 6/5/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: itime.c,v 1.20 2013/06/15 01:27:19 christos Exp $");
|
||||
__RCSID("$NetBSD: itime.c,v 1.21 2019/03/01 16:42:11 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -87,8 +87,8 @@ initdumptimes(void)
|
|||
}
|
||||
(void) fclose(df);
|
||||
if ((df = fopen(dumpdates, "r")) == NULL) {
|
||||
quit("cannot read %s even after creating it: %s\n",
|
||||
dumpdates, strerror(errno));
|
||||
quite(errno, "cannot read %s even after creating it",
|
||||
dumpdates);
|
||||
/* NOTREACHED */
|
||||
}
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ putdumptime(void)
|
|||
if(uflag == 0)
|
||||
return;
|
||||
if ((df = fopen(dumpdates, "r+")) == NULL)
|
||||
quit("cannot rewrite %s: %s\n", dumpdates, strerror(errno));
|
||||
quite(errno, "cannot rewrite %s", dumpdates);
|
||||
fd = fileno(df);
|
||||
(void) flock(fd, LOCK_EX);
|
||||
fname = disk;
|
||||
|
@ -184,7 +184,7 @@ putdumptime(void)
|
|||
nddates = 0;
|
||||
readdumptimes(df);
|
||||
if (fseek(df, 0L, 0) < 0)
|
||||
quit("fseek: %s\n", strerror(errno));
|
||||
quite(errno, "can't fseek %s", dumpdates);
|
||||
spcl.c_ddate = 0;
|
||||
ITITERATE(i, dtwalk) {
|
||||
if (strncmp(fname, dtwalk->dd_name,
|
||||
|
@ -211,9 +211,9 @@ putdumptime(void)
|
|||
dumprecout(df, dtwalk);
|
||||
}
|
||||
if (fflush(df))
|
||||
quit("%s: %s\n", dumpdates, strerror(errno));
|
||||
quite(errno, "can't flush %s", dumpdates);
|
||||
if (ftruncate(fd, ftell(df)))
|
||||
quit("ftruncate (%s): %s\n", dumpdates, strerror(errno));
|
||||
quite(errno, "can't ftruncate %s", dumpdates);
|
||||
(void) fclose(df);
|
||||
msg("level %c dump on %s", level,
|
||||
spcl.c_date == 0 ? "the epoch\n" : ctime(&dtfound->dd_ddate));
|
||||
|
@ -227,7 +227,7 @@ dumprecout(FILE *file, struct dumpdates *what)
|
|||
what->dd_name,
|
||||
what->dd_level,
|
||||
ctime(&what->dd_ddate)) < 0)
|
||||
quit("%s: %s\n", dumpdates, strerror(errno));
|
||||
quite(errno, "can't write %s", dumpdates);
|
||||
}
|
||||
|
||||
int recno;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: main.c,v 1.73 2015/08/24 17:37:10 bouyer Exp $ */
|
||||
/* $NetBSD: main.c,v 1.74 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1991, 1993, 1994
|
||||
|
@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1991, 1993, 1994\
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/1/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: main.c,v 1.73 2015/08/24 17:37:10 bouyer Exp $");
|
||||
__RCSID("$NetBSD: main.c,v 1.74 2019/03/01 16:42:11 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -124,7 +124,7 @@ main(int argc, char *argv[])
|
|||
temp = _PATH_DTMP;
|
||||
strcpy(labelstr, "none"); /* XXX safe strcpy. */
|
||||
if (TP_BSIZE / DEV_BSIZE == 0 || TP_BSIZE % DEV_BSIZE != 0)
|
||||
quit("TP_BSIZE must be a multiple of DEV_BSIZE\n");
|
||||
quit("TP_BSIZE must be a multiple of DEV_BSIZE");
|
||||
level = '0';
|
||||
timestamp = 0;
|
||||
|
||||
|
@ -286,11 +286,12 @@ main(int argc, char *argv[])
|
|||
error = lstat(argv[i], &sb);
|
||||
if (Fflag || (!error && (S_ISCHR(sb.st_mode) || S_ISBLK(sb.st_mode)))) {
|
||||
if (error)
|
||||
quit("Cannot stat %s: %s\n", argv[i], strerror(errno));
|
||||
quite(errno, "can't stat %s", argv[i]);
|
||||
disk = argv[i];
|
||||
multicheck:
|
||||
if (dirc != 0)
|
||||
quit("Can't dump a disk or image at the same time as a file list\n");
|
||||
quit("can't dump a disk or image at the same"
|
||||
" time as a file list");
|
||||
break;
|
||||
}
|
||||
if ((dt = fstabsearch(argv[i])) != NULL) {
|
||||
|
@ -299,8 +300,7 @@ main(int argc, char *argv[])
|
|||
goto multicheck;
|
||||
}
|
||||
if (statvfs(argv[i], &fsbuf) == -1)
|
||||
quit("Cannot statvfs %s: %s\n", argv[i],
|
||||
strerror(errno));
|
||||
quite(errno, "can't statvfs %s", argv[i]);
|
||||
disk = fsbuf.f_mntfromname;
|
||||
if (strcmp(argv[i], fsbuf.f_mntonname) == 0)
|
||||
goto multicheck;
|
||||
|
@ -318,7 +318,7 @@ main(int argc, char *argv[])
|
|||
mountpoint);
|
||||
} else {
|
||||
if (strcmp(mountpoint, fsbuf.f_mntonname) != 0)
|
||||
quit("%s is not on %s\n", argv[i], mountpoint);
|
||||
quit("%s is not on %s", argv[i], mountpoint);
|
||||
}
|
||||
msg("Dumping file/directory %s\n", argv[i]);
|
||||
dirc++;
|
||||
|
@ -403,18 +403,18 @@ main(int argc, char *argv[])
|
|||
mntinfo = mntinfosearch(disk);
|
||||
if ((dt = fstabsearch(disk)) != NULL) {
|
||||
if (getfsspecname(buf, sizeof(buf), dt->fs_spec) == NULL)
|
||||
quit("%s (%s)", buf, strerror(errno));
|
||||
quite(errno, "can't resolve mount %s (%s)", dt->fs_spec,
|
||||
buf);
|
||||
if (getdiskrawname(rbuf, sizeof(rbuf), buf) == NULL)
|
||||
quit("Can't get disk raw name for `%s' (%s)",
|
||||
buf, strerror(errno));
|
||||
quite(errno, "can't get disk raw name for %s", buf);
|
||||
disk = rbuf;
|
||||
mountpoint = dt->fs_file;
|
||||
msg("Found %s on %s in %s\n", disk, mountpoint, _PATH_FSTAB);
|
||||
} else if (mntinfo != NULL) {
|
||||
if (getdiskrawname(rbuf, sizeof(rbuf), mntinfo->f_mntfromname)
|
||||
== NULL)
|
||||
quit("Can't get disk raw name for `%s' (%s)",
|
||||
mntinfo->f_mntfromname, strerror(errno));
|
||||
quite(errno, "can't get disk raw name for %s",
|
||||
mntinfo->f_mntfromname);
|
||||
disk = rbuf;
|
||||
mountpoint = mntinfo->f_mntonname;
|
||||
msg("Found %s on %s in mount table\n", disk, mountpoint);
|
||||
|
@ -592,7 +592,8 @@ main(int argc, char *argv[])
|
|||
* Allocate tape buffer.
|
||||
*/
|
||||
if (!alloctape())
|
||||
quit("can't allocate tape buffers - try a smaller blocking factor.\n");
|
||||
quit("can't allocate tape buffers - try a smaller"
|
||||
" blocking factor.");
|
||||
|
||||
startnewtape(1);
|
||||
(void)time((time_t *)&(tstart_writing));
|
||||
|
@ -709,7 +710,7 @@ sig(int signo)
|
|||
case SIGTERM:
|
||||
case SIGTRAP:
|
||||
if (pipeout)
|
||||
quit("Signal on pipe: cannot recover\n");
|
||||
quit("Signal on pipe: cannot recover");
|
||||
msg("Rewriting attempted as response to signal %s.\n", sys_siglist[signo]);
|
||||
(void)fflush(stderr);
|
||||
(void)fflush(stdout);
|
||||
|
@ -805,7 +806,7 @@ xcalloc(size_t number, size_t size)
|
|||
|
||||
p = calloc(number, size);
|
||||
if (p == NULL)
|
||||
quit("%s\n", strerror(errno));
|
||||
quite(errno, "Can't allocate %zu bytes", size * number);
|
||||
return (p);
|
||||
}
|
||||
|
||||
|
@ -816,7 +817,7 @@ xmalloc(size_t size)
|
|||
|
||||
p = malloc(size);
|
||||
if (p == NULL)
|
||||
quit("%s\n", strerror(errno));
|
||||
quite(errno, "Can't allocate %zu bytes", size);
|
||||
return (p);
|
||||
}
|
||||
|
||||
|
@ -827,6 +828,6 @@ xstrdup(const char *str)
|
|||
|
||||
p = strdup(str);
|
||||
if (p == NULL)
|
||||
quit("%s\n", strerror(errno));
|
||||
quite(errno, "Can't copy %s", str);
|
||||
return (p);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: optr.c,v 1.42 2013/09/08 13:26:05 mlelstv Exp $ */
|
||||
/* $NetBSD: optr.c,v 1.43 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1988, 1993
|
||||
|
@ -34,7 +34,7 @@
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)optr.c 8.2 (Berkeley) 1/6/94";
|
||||
#else
|
||||
__RCSID("$NetBSD: optr.c,v 1.42 2013/09/08 13:26:05 mlelstv Exp $");
|
||||
__RCSID("$NetBSD: optr.c,v 1.43 2019/03/01 16:42:11 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -94,7 +94,7 @@ query(const char *question)
|
|||
firstprompt = time((time_t *)0);
|
||||
|
||||
if ((mytty = fopen(_PATH_TTY, "r")) == NULL)
|
||||
quit("fopen on %s fails: %s\n", _PATH_TTY, strerror(errno));
|
||||
quite(errno, "fopen on %s fails", _PATH_TTY);
|
||||
attnmessage = question;
|
||||
timeout = 0;
|
||||
alarmcatch(0);
|
||||
|
@ -104,7 +104,7 @@ query(const char *question)
|
|||
if (fgets(replybuffer, 63, mytty) == NULL) {
|
||||
clearerr(mytty);
|
||||
if (++errcount > 30) /* XXX ugly */
|
||||
quit("excessive operator query failures\n");
|
||||
quit("excessive operator query failures");
|
||||
} else if (replybuffer[0] == 'y' || replybuffer[0] == 'Y') {
|
||||
back = 1;
|
||||
} else if (replybuffer[0] == 'n' || replybuffer[0] == 'N') {
|
||||
|
@ -294,6 +294,24 @@ msgtail(const char *fmt, ...)
|
|||
va_end(ap);
|
||||
}
|
||||
|
||||
void
|
||||
quite(int e, const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
(void) fprintf(stderr," DUMP: ");
|
||||
#ifdef TDEBUG
|
||||
(void) fprintf(stderr, "pid=%d ", getpid());
|
||||
#endif
|
||||
va_start(ap, fmt);
|
||||
(void) vfprintf(stderr, fmt, ap);
|
||||
va_end(ap);
|
||||
(void) fprintf(stderr, ": %s\n", strerror(e));
|
||||
(void) fflush(stdout);
|
||||
(void) fflush(stderr);
|
||||
dumpabort(0);
|
||||
}
|
||||
|
||||
void
|
||||
quit(const char *fmt, ...)
|
||||
{
|
||||
|
@ -306,6 +324,7 @@ quit(const char *fmt, ...)
|
|||
va_start(ap, fmt);
|
||||
(void) vfprintf(stderr, fmt, ap);
|
||||
va_end(ap);
|
||||
(void) fprintf(stderr, "\n");
|
||||
(void) fflush(stdout);
|
||||
(void) fflush(stderr);
|
||||
dumpabort(0);
|
||||
|
@ -324,10 +343,13 @@ allocfsent(const struct fstab *fs)
|
|||
new = xmalloc(sizeof (*fs));
|
||||
new->fs_file = xstrdup(fs->fs_file);
|
||||
new->fs_type = xstrdup(fs->fs_type);
|
||||
new->fs_spec = xstrdup(fs->fs_spec);
|
||||
new->fs_spec = xmalloc(FILENAME_MAX);
|
||||
if (getfsspecname(new->fs_spec, FILENAME_MAX, fs->fs_spec) == NULL)
|
||||
quite(errno, "can't resolve mount point %s (%s)",
|
||||
fs->fs_spec, new->fs_spec);
|
||||
new->fs_passno = fs->fs_passno;
|
||||
new->fs_freq = fs->fs_freq;
|
||||
return (new);
|
||||
return new;
|
||||
}
|
||||
|
||||
struct pfstab {
|
||||
|
@ -426,7 +448,7 @@ mntinfosearch(const char *key)
|
|||
char buf[MAXPATHLEN];
|
||||
|
||||
if ((mntbufc = getmntinfo(&mntbuf, MNT_NOWAIT)) == 0)
|
||||
quit("Can't get mount list: %s", strerror(errno));
|
||||
quite(errno, "Can't get mount list");
|
||||
for (fs = mntbuf, i = 0; i < mntbufc; i++, fs++) {
|
||||
#ifdef DUMP_LFS
|
||||
if (strcmp(fs->f_fstypename, "lfs") != 0)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: tape.c,v 1.54 2015/08/24 17:37:10 bouyer Exp $ */
|
||||
/* $NetBSD: tape.c,v 1.55 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1991, 1993
|
||||
|
@ -34,7 +34,7 @@
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)tape.c 8.4 (Berkeley) 5/1/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: tape.c,v 1.54 2015/08/24 17:37:10 bouyer Exp $");
|
||||
__RCSID("$NetBSD: tape.c,v 1.55 2019/03/01 16:42:11 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -196,7 +196,7 @@ tperror(int signo __unused)
|
|||
|
||||
if (pipeout) {
|
||||
msg("write error on %s\n", tape);
|
||||
quit("Cannot recover\n");
|
||||
quit("Cannot recover");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
msg("write error %ld blocks into volume %d\n", blocksthisvol, tapeno);
|
||||
|
@ -215,7 +215,7 @@ static void
|
|||
sigpipe(int signo __unused)
|
||||
{
|
||||
|
||||
quit("Broken pipe\n");
|
||||
quit("Broken pipe");
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -284,7 +284,7 @@ flushtape(void)
|
|||
slp->req[trecno].count = 0; /* Sentinel */
|
||||
|
||||
if (atomic_write(slp->fd, slp->req, siz) != siz)
|
||||
quit("error writing command pipe: %s\n", strerror(errno));
|
||||
quite(errno, "error writing command pipe");
|
||||
slp->sent = 1; /* we sent a request, read the response later */
|
||||
|
||||
lastfirstrec = slp->firstrec;
|
||||
|
@ -375,7 +375,7 @@ trewind(int eject)
|
|||
if (got != writesize) {
|
||||
msg("EOT detected in last 2 tape records!\n");
|
||||
msg("Use a longer tape, decrease the size estimate\n");
|
||||
quit("or use no size estimate at all.\n");
|
||||
quit("or use no size estimate at all");
|
||||
}
|
||||
}
|
||||
(void) close(slaves[f].fd);
|
||||
|
@ -554,7 +554,7 @@ rollforward(void)
|
|||
slp->sent = 0;
|
||||
|
||||
if (got != writesize) {
|
||||
quit("EOT detected at start of the tape!\n");
|
||||
quit("EOT detected at start of the tape");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -768,8 +768,8 @@ enslave(void)
|
|||
|
||||
if (socketpair(AF_LOCAL, SOCK_STREAM, 0, cmd) < 0 ||
|
||||
(slaves[i].pid = fork()) < 0)
|
||||
quit("too many slaves, %d (recompile smaller): %s\n",
|
||||
i, strerror(errno));
|
||||
quite(errno, "too many slaves, %d (recompile smaller)",
|
||||
i);
|
||||
|
||||
slaves[i].fd = cmd[1];
|
||||
slaves[i].sent = 0;
|
||||
|
@ -822,14 +822,15 @@ doslave(int cmd, int slave_number __unused)
|
|||
*/
|
||||
(void) close(diskfd);
|
||||
if ((diskfd = open(disk_dev, O_RDONLY)) < 0)
|
||||
quit("slave couldn't reopen disk: %s\n", strerror(errno));
|
||||
quite(errno, "slave couldn't reopen disk");
|
||||
|
||||
/*
|
||||
* Need the pid of the next slave in the loop...
|
||||
*/
|
||||
if ((nread = atomic_read(cmd, &nextslave, sizeof nextslave))
|
||||
!= sizeof nextslave) {
|
||||
quit("master/slave protocol botched - didn't get pid of next slave.\n");
|
||||
quit("master/slave protocol botched - didn't get pid"
|
||||
" of next slave");
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -847,7 +848,7 @@ doslave(int cmd, int slave_number __unused)
|
|||
if (p->count != 1 || atomic_read(cmd,
|
||||
slp->tblock[trecno],
|
||||
TP_BSIZE) != TP_BSIZE)
|
||||
quit("master/slave protocol botched.\n");
|
||||
quit("master/slave protocol botched");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -924,7 +925,7 @@ doslave(int cmd, int slave_number __unused)
|
|||
}
|
||||
printcachestats();
|
||||
if (nread != 0)
|
||||
quit("error reading command pipe: %s\n", strerror(errno));
|
||||
quite(errno, "error reading command pipe");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: traverse.c,v 1.51 2019/02/03 12:17:14 mrg Exp $ */
|
||||
/* $NetBSD: traverse.c,v 1.52 2019/03/01 16:42:11 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1980, 1988, 1991, 1993
|
||||
|
@ -34,7 +34,7 @@
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)traverse.c 8.7 (Berkeley) 6/15/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: traverse.c,v 1.51 2019/02/03 12:17:14 mrg Exp $");
|
||||
__RCSID("$NetBSD: traverse.c,v 1.52 2019/03/01 16:42:11 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -414,7 +414,7 @@ searchdir(ino_t dino, daddr_t blkno, long size, off_t filesize,
|
|||
|
||||
dblk = malloc(size);
|
||||
if (dblk == NULL)
|
||||
quit("searchdir: cannot allocate directory memory.\n");
|
||||
quit("%s: cannot allocate directory memory", __func__);
|
||||
bread(fsatoda(ufsib, blkno), dblk, (int)size);
|
||||
if (filesize < size)
|
||||
size = filesize;
|
||||
|
|
Loading…
Reference in New Issue