} else
#endif
{
- sprintf(logFileName, "%s.%d", AFSDIR_SERVER_SLVGLOG_FILEPATH, jobs[startjob]->jobnumb);
+ (void) afs_snprintf(logFileName, sizeof logFileName, "%s.%d",
+ AFSDIR_SERVER_SLVGLOG_FILEPATH,
+ jobs[startjob]->jobnumb);
logFile = fopen(logFileName, "w");
}
if (!logFile) logFile = stdout;
#endif
if (!partP) {
for (i=0; i<jobcount; i++) {
- sprintf(logFileName, "%s.%d", AFSDIR_SERVER_SLVGLOG_FILEPATH, i);
+ (void) afs_snprintf(logFileName, sizeof logFileName, "%s.%d",
+ AFSDIR_SERVER_SLVGLOG_FILEPATH, i);
if ((passLog = fopen(logFileName, "r"))) {
while(fgets(buf, sizeof(buf), passLog)) {
fputs(buf, logFile);
(void) _putenv("TMP="); /* If "TMP" is set, then that overrides tdir. */
(void) strcpy(summaryFileName, _tempnam(tdir, "salvage.temp"));
#else
- sprintf(summaryFileName, "%s/salvage.temp.%d", tdir, getpid());
+ (void) afs_snprintf(summaryFileName, sizeof summaryFileName,
+ "%s/salvage.temp.%d", tdir, getpid());
#endif
summaryFile = fopen(summaryFileName, "a+");
if (summaryFile == NULL) {
#endif
if (ip->linkCount != 0 && TraceBadLinkCounts) {
TraceBadLinkCounts--; /* Limit reports, per volume */
- Log("#### DEBUG #### Link count incorrect by %d; inode %s, size %u, p=(%u,%u,%u,%u)\n",
+ Log("#### DEBUG #### Link count incorrect by %d; inode %s, size %llu, p=(%u,%u,%u,%u)\n",
ip->linkCount, PrintInode(NULL, ip->inodeNumber),
- ip->byteCount, ip->u.param[0], ip->u.param[1],
+ (afs_uintmax_t) ip->byteCount,
+ ip->u.param[0], ip->u.param[1],
ip->u.param[2], ip->u.param[3]);
}
while (ip->linkCount > 0) {
if (isp->volSummary == NULL) {
char name[64];
- sprintf(name, VFORMAT, isp->volumeId);
+ (void) afs_snprintf(name, sizeof name, VFORMAT, isp->volumeId);
if (check) {
Log("No header file for volume %u\n", isp->volumeId);
return -1;
if (isp->volSummary->fileName) {
strcpy(name, isp->volSummary->fileName);
} else {
- sprintf(name, VFORMAT, isp->volumeId);
+ (void) afs_snprintf(name, sizeof name, VFORMAT, isp->volumeId);
isp->volSummary->fileName = ToString(name);
}
goto zooks;
}
if (!Showmode) {
- Log("Vnode %d: inode number incorrect; changed from %s to %s. FileSize=%d\n",
+ Log("Vnode %d: inode number incorrect; changed from %s to %s. FileSize=%llu\n",
vnodeNumber,
PrintInode(stmp1, VNDISK_GET_INO(vnode)),
PrintInode(stmp2, ip->inodeNumber),
- ip->byteCount);
+ (afs_uintmax_t)ip->byteCount);
}
VNDISK_SET_INO(vnode, ip->inodeNumber);
vnodeChanged = 1;
VNDISK_GET_LEN(vnodeLength, vnode);
if (ip->byteCount != vnodeLength) {
if (check) {
- if (!Showmode) Log("Vnode %d: length incorrect; (is %d should be %d)\n",
- vnodeNumber, vnodeLength, ip->byteCount);
+ if (!Showmode) Log("Vnode %d: length incorrect; (is %llu should be %llu)\n",
+ vnodeNumber,
+ (afs_uintmax_t)vnodeLength,
+ (afs_uintmax_t)ip->byteCount);
err = -1;
goto zooks;
}
- if (!Showmode) Log("Vnode %d: length incorrect; changed from %d to %d\n",
- vnodeNumber, vnodeLength, ip->byteCount);
+ if (!Showmode) Log("Vnode %d: length incorrect; changed from %llu to %llu\n",
+ vnodeNumber,
+ (afs_uintmax_t)vnodeLength,
+ (afs_uintmax_t)ip->byteCount);
VNDISK_SET_LEN(vnode, ip->byteCount);
vnodeChanged = 1;
}
vnodeEssence = CheckVnodeNumber(vnodeNumber);
if (vnodeEssence == NULL) {
if (!Showmode) {
- Log("dir vnode %d: invalid entry deleted: %s/%s (vnode %d, unique %d)\n",
+ Log("dir vnode %u: invalid entry deleted: %s/%s (vnode %u, unique %u)\n",
dir->vnodeNumber, dir->name?dir->name:"??",
name, vnodeNumber, unique);
}
if (!(vnodeNumber & 1) && !Showmode &&
!(vnodeEssence->count || vnodeEssence->unique || vnodeEssence->modeBits)) {
- Log("dir vnode %d: invalid entry: %s/%s (vnode %d, unique %d)%s\n",
+ Log("dir vnode %u: invalid entry: %s/%s (vnode %u, unique %u)%s\n",
dir->vnodeNumber, (dir->name?dir->name:"??"),
name, vnodeNumber, unique,
((!unique)?(Testing?"-- would have deleted":" -- deleted"):""));
todelete = ((!vnodeEssence->unique || dirOrphaned) ? 1 : 0);
if (!Showmode) {
- Log("dir vnode %d: %s/%s (vnode %d): unique changed from %d to %d %s\n",
+ Log("dir vnode %u: %s/%s (vnode %u): unique changed from %u to %u %s\n",
dir->vnodeNumber, (dir->name ? dir->name : "??"),
name, vnodeNumber, unique, vnodeEssence->unique,
(!todelete?"":(Testing?"-- would have deleted":"-- deleted")));
if (strcmp(name,".") == 0) {
if (dir->vnodeNumber != vnodeNumber || (dir->unique != unique)) {
ViceFid fid;
- if (!Showmode) Log("directory vnode %d.%d: bad '.' entry (was %d.%d); fixed\n",
+ if (!Showmode) Log("directory vnode %u.%u: bad '.' entry (was %u.%u); fixed\n",
dir->vnodeNumber, dir->unique, vnodeNumber, unique);
if (!Testing) {
CopyOnWrite(dir);
pa.Unique = dir->unique;
}
if ((pa.Vnode != vnodeNumber) || (pa.Unique != unique)) {
- if (!Showmode) Log("directory vnode %d.%d: bad '..' entry (was %d.%d); fixed\n",
+ if (!Showmode) Log("directory vnode %u.%u: bad '..' entry (was %u.%u); fixed\n",
dir->vnodeNumber, dir->unique, vnodeNumber, unique);
if (!Testing) {
CopyOnWrite(dir);
dir->haveDotDot = 1;
} else if (strncmp(name,".__afs",6) == 0) {
if (!Showmode) {
- Log("dir vnode %d: special old unlink-while-referenced file %s %s deleted (vnode %d)\n",
+ Log("dir vnode %u: special old unlink-while-referenced file %s %s deleted (vnode %u)\n",
dir->vnodeNumber, name, (Testing?"would have been":"is"), vnodeNumber);
}
if (!Testing) {
if (vnodeIdToClass(vnodeNumber) == vLarge &&
vnodeEssence->name == NULL) {
char *n;
- if (n = (char*)malloc(strlen(name)+1))
+ if ((n = (char*)malloc(strlen(name)+1)))
strcpy(n, name);
vnodeEssence->name = n;
}
* another non-orphaned dir).
*/
if (!Showmode) {
- Log("dir vnode %d: %s/%s (vnode %d, unique %d) -- parent vnode %schanged from %d to %d\n",
+ Log("dir vnode %u: %s/%s (vnode %u, unique %u) -- parent vnode %schanged from %u to %u\n",
dir->vnodeNumber, (dir->name ? dir->name : "??"), name,
vnodeNumber, unique, (Testing?"would have been ":""),
vnodeEssence->parent, dir->vnodeNumber);
/* Vnode was claimed by another directory */
if (!Showmode) {
if (dirOrphaned) {
- Log("dir vnode %d: %s/%s parent vnode is %d (vnode %d, unique %d) -- %sdeleted\n",
+ Log("dir vnode %u: %s/%s parent vnode is %u (vnode %u, unique %u) -- %sdeleted\n",
dir->vnodeNumber, (dir->name ? dir->name : "??"), name,
vnodeEssence->parent, vnodeNumber, unique,
(Testing?"would have been ":""));
} else {
- Log("dir vnode %d: %s/%s already claimed by directory vnode %d (vnode %d, unique %d) -- %sdeleted\n",
+ Log("dir vnode %u: %s/%s already claimed by directory vnode %u (vnode %u, unique %u) -- %sdeleted\n",
dir->vnodeNumber, (dir->name ? dir->name : "??"), name,
vnodeEssence->parent, vnodeNumber, unique,
(Testing?"would have been ":""));
dirok = ((RebuildDirs && !Testing) ? 0 : DirOK(&dir.dirHandle));
if (!dirok) {
if (!RebuildDirs) {
- Log("Directory bad, vnode %d; %s...\n",
+ Log("Directory bad, vnode %u; %s...\n",
dir.vnodeNumber, (Testing ? "skipping" : "salvaging"));
}
if (!Testing) {
pa.Vnode = ThisVnode;
pa.Unique = ThisUnique;
- sprintf(npath, "%s.%d.%d",
+ (void) afs_snprintf(npath, sizeof npath, "%s.%u.%u",
((class == vLarge)?"__ORPHANDIR__":"__ORPHANFILE__"),
ThisVnode, ThisUnique);
}
} else if (vnp->count) {
if (!Showmode) {
- Log("Vnode %d: link count incorrect (was %d, %s %d)\n",
+ Log("Vnode %u: link count incorrect (was %d, %s %d)\n",
vnodeNumber, oldCount,
(Testing?"would have changed to":"now"), vnode.linkCount);
}
nInodes = status.st_size / sizeof(struct ViceInodeInfo);
assert(read(inodeFd, buf, status.st_size) == status.st_size);
for(ip = buf; nInodes--; ip++) {
- Log("Inode:%s, linkCount=%d, size=%u, p=(%u,%u,%u,%u)\n",
- PrintInode(NULL, ip->inodeNumber), ip->linkCount, ip->byteCount,
+ Log("Inode:%s, linkCount=%d, size=%#llx, p=(%u,%u,%u,%u)\n",
+ PrintInode(NULL, ip->inodeNumber), ip->linkCount,
+ (afs_uintmax_t) ip->byteCount,
ip->u.param[0], ip->u.param[1], ip->u.param[2], ip->u.param[3]);
}
free(buf);
now = time(0);
lt = localtime(&now);
- sprintf(stampSlvgLog, "%s.%04d-%02d-%02d.%02d:%02d:%02d",
- AFSDIR_SERVER_SLVGLOG_FILEPATH,
- lt->tm_year + 1900, lt->tm_mon + 1, lt->tm_mday,
- lt->tm_hour, lt->tm_min, lt->tm_sec);
+ (void) afs_snprintf(stampSlvgLog, sizeof stampSlvgLog,
+ "%s.%04d-%02d-%02d.%02d:%02d:%02d",
+ AFSDIR_SERVER_SLVGLOG_FILEPATH,
+ lt->tm_year + 1900, lt->tm_mon + 1, lt->tm_mday,
+ lt->tm_hour, lt->tm_min, lt->tm_sec);
/* try to link the logfile to a timestamped filename */
/* if it fails, oh well, nothing we can do */
void Log(const char *format, ...)
{
struct timeval now;
+ char tmp[1024];
va_list args;
va_start(args, format);
+ (void) afs_vsnprintf(tmp, sizeof tmp, format, args);
+ va_end(args);
#ifndef AFS_NT40_ENV
if ( useSyslog )
{
- char tmp[1024];
- (void) vsnprintf(tmp, sizeof tmp, format, args);
syslog(LOG_INFO, "%s", tmp);
} else
#endif
{
gettimeofday(&now, 0);
- fprintf(logFile, "%s ", TimeStamp(now.tv_sec, 1));
- vfprintf(logFile, format, args);
+ fprintf(logFile, "%s %s", TimeStamp(now.tv_sec, 1), tmp);
fflush(logFile);
}
- va_end(args);
}
void Abort(const char *format, ...)
{
va_list args;
+ char tmp[1024];
va_start(args, format);
+ (void) afs_vsnprintf(tmp, sizeof tmp, format, args);
+ va_end(args);
#ifndef AFS_NT40_ENV
if ( useSyslog )
{
- char tmp[1024];
- (void) vsnprintf(tmp, sizeof tmp, format, args);
syslog(LOG_INFO, "%s", tmp);
} else
#endif
{
- vfprintf(logFile, format, args);
+ fprintf(logFile, "%s", tmp);
fflush(logFile);
if (ShowLog) showlog();
}
- va_end(args);
if (debug)
abort();