DirHandle childdir; /* Handle for dir package I/O */
Error errorCode = 0;
int code;
+ afs_ino_str_t stmp;
/* watch for invalid names */
if (!strcmp(Name, ".") || !strcmp(Name, ".."))
if (errorCode == -1) {
ViceLog(0,
("DT: inode=%s, name=%s, errno=%d\n",
- PrintInode(NULL, VN_GET_INO(*targetptr)), Name,
+ PrintInode(stmp, VN_GET_INO(*targetptr)), Name,
errno));
if (errno != ENOENT)
{
Error temp;
Inode inode = 0;
Inode nearInode; /* hint for inode allocation in solaris */
+ afs_ino_str_t stmp;
if ((errorCode =
AdjustDiskUsage(volptr, BlocksPreallocatedForVnode,
if (IH_DEC(V_linkHandle(volptr), inode, V_parentId(volptr)))
ViceLog(0,
("Alloc_NewVnode: partition %s idec %s failed\n",
- volptr->partition->name, PrintInode(NULL, inode)));
+ volptr->partition->name, PrintInode(stmp, inode)));
IH_RELEASE((*targetptr)->handle);
return errorCode;
if (IH_DEC(V_linkHandle(volptr), inode, V_parentId(volptr)))
ViceLog(0,
("Alloc_NewVnode: partition %s idec %s failed\n",
- volptr->partition->name, PrintInode(NULL, inode)));
+ volptr->partition->name, PrintInode(stmp, inode)));
IH_RELEASE((*targetptr)->handle);
return (errorCode);
}
struct client *t_client; /* tmp ptr to client data */
struct in_addr logHostAddr; /* host ip holder for inet_ntoa */
struct rx_connection *tcon = rx_ConnectionOf(acall);
+ afs_ino_str_t stmp;
FidZero(&olddir);
FidZero(&newdir);
if (errorCode == -1) {
ViceLog(0,
("Del: inode=%s, name=%s, errno=%d\n",
- PrintInode(NULL, VN_GET_INO(newfileptr)),
+ PrintInode(stmp, VN_GET_INO(newfileptr)),
NewName, errno));
if ((errno != ENOENT) && (errno != EIO)
&& (errno != ENXIO))
ssize_t nBytes;
FdHandle_t *fdP, *origfdP = NULL;
struct in_addr logHostAddr; /* host ip holder for inet_ntoa */
+ afs_ino_str_t stmp;
#if FS_STATS_DETAILED
/*
*/
ViceLog(25,
("StoreData_RXStyle : Opening inode %s\n",
- PrintInode(NULL, VN_GET_INO(targetptr))));
+ PrintInode(stmp, VN_GET_INO(targetptr))));
fdP = IH_OPEN(targetptr->handle);
if (fdP == NULL)
return ENOENT;
afs_fsize_t size;
ViceLog(25,
("StoreData_RXStyle : inode %s has more than onelink\n",
- PrintInode(NULL, VN_GET_INO(targetptr))));
+ PrintInode(stmp, VN_GET_INO(targetptr))));
/* other volumes share this data, better copy it first */
/* Adjust the disk block count by the creation of the new inode.
int code;
ssize_t rdlen;
FdHandle_t *fdP;
+ afs_ino_str_t stmp;
fdP = IH_OPEN(file->dirh_handle);
if (fdP == NULL) {
code = errno;
ViceLog(0,
("ReallyRead(): open failed device %X inode %s errno %d\n",
- file->dirh_handle->ih_dev, PrintInode(NULL,
+ file->dirh_handle->ih_dev, PrintInode(stmp,
file->dirh_handle->
ih_ino), code));
return code;
code = EIO;
ViceLog(0,
("ReallyRead(): read failed device %X inode %s errno %d\n",
- file->dirh_handle->ih_dev, PrintInode(NULL,
+ file->dirh_handle->ih_dev, PrintInode(stmp,
file->dirh_handle->
ih_ino), code));
FDH_REALLYCLOSE(fdP);
{
ssize_t count;
FdHandle_t *fdP;
+ afs_ino_str_t stmp;
fdP = IH_OPEN(file->dirh_handle);
if (fdP == NULL) {
ViceLog(0,
("ReallyWrite(): open failed device %X inode %s errno %d\n",
- file->dirh_handle->ih_dev, PrintInode(NULL,
+ file->dirh_handle->ih_dev, PrintInode(stmp,
file->dirh_handle->
ih_ino), errno));
lpErrno = errno;
if ((count = FDH_WRITE(fdP, data, PAGESIZE)) != PAGESIZE) {
ViceLog(0,
("ReallyWrite(): write failed device %X inode %s errno %d\n",
- file->dirh_handle->ih_dev, PrintInode(NULL,
+ file->dirh_handle->ih_dev, PrintInode(stmp,
file->dirh_handle->
ih_ino), errno));
lpCount = count;
afs_int32 offset = 0;
afs_int32 dircloned, inodeinced;
afs_int32 filecount = 0, diskused = 0;
+ afs_ino_str_t stmp;
struct VnodeClassInfo *vcp = &VnodeClassInfo[class];
int ReadWriteOriginal = VolumeWriteable(rwvp);
if (IH_INC(V_linkHandle(rwvp), rwinode, V_parentId(rwvp)) ==
-1) {
Log("IH_INC failed: %"AFS_PTR_FMT", %s, %u errno %d\n",
- V_linkHandle(rwvp), PrintInode(NULL, rwinode),
+ V_linkHandle(rwvp), PrintInode(stmp, rwinode),
V_parentId(rwvp), errno);
VForceOffline(rwvp);
ERROR_EXIT(EIO);
if (IH_DEC(V_linkHandle(rwvp), rwinode, V_parentId(rwvp)) ==
-1) {
Log("IH_DEC failed: %"AFS_PTR_FMT", %s, %u errno %d\n",
- V_linkHandle(rwvp), PrintInode(NULL, rwinode),
+ V_linkHandle(rwvp), PrintInode(stmp, rwinode),
V_parentId(rwvp), errno);
VForceOffline(rwvp);
ERROR_EXIT(EIO);
char tmpName[32];
b64_string_t stmp;
int tag;
+ afs_ino_str_t stmp;
*rename = 0;
(void)sprintf(path, "%s/%s", dir, name);
if (info->ili_magic != XFS_VICEMAGIC) {
Log("%s magic for %s/%s (inode %s) from %d to %d\n",
Testing ? "Would have changed" : "Changing", dir, name,
- PrintInode(NULL, info->ili_info.inodeNumber), info->ili_magic,
+ PrintInode(stmp, info->ili_info.inodeNumber), info->ili_magic,
XFS_VICEMAGIC);
if (!Testing)
update_chown = 1;
if (info->ili_vno != AFS_XFS_VNO_CLIP(vno)) {
Log("%s volume id for %s/%s (inode %s) from %d to %d\n",
Testing ? "Would have changed" : "Changing", dir, name,
- PrintInode(NULL, info->ili_info.inodeNumber), info->ili_vno,
+ PrintInode(stmp, info->ili_info.inodeNumber), info->ili_vno,
AFS_XFS_VNO_CLIP(vno));
if (!Testing)
update_chown = 1;
if (strncmp(name, tmpName, strlen(tmpName))) {
Log("%s name %s (inode %s) in directory %s, unique=%d, tag=%d\n",
Testing ? "Would have returned bad" : "Bad", name,
- PrintInode(NULL, info->ili_info.inodeNumber), dir,
+ PrintInode(stmp, info->ili_info.inodeNumber), dir,
info->ili_info.param[2], info->ili_tag);
if (!Testing)
*rename = 1;
p = strchr(tmpName + 1, '.');
if (!p) {
Log("No tag found on name %s (inode %s)in directory, %s.\n",
- name, PrintInode(NULL, info->ili_info.inodeNumber), dir,
+ name, PrintInode(stmp, info->ili_info.inodeNumber), dir,
Testing ? "would have renamed" : "will rename");
if (!Testing)
*rename = 1;
tag = base64_to_int(p + 1);
Log("%s the tag for %s (inode %s) from %d to %d.\n",
Testing ? "Would have changed" : "Will change", path,
- PrintInode(NULL, info->ili_info.inodeNumber), dir, tag,
+ PrintInode(stmp, info->ili_info.inodeNumber), dir, tag,
info->ili_tag);
if (!Testing)
update_tag = 1;
/* Unlink the old special inode; otherwise we will get duplicate
* special inodes if we recreate the RO again */
if (IH_DEC(ih, specinos[j].inodeNumber, volumeId) == -1) {
+ afs_ino_str_t stmp;
Log("IH_DEC failed: %x, %s, %u errno %d\n", ih,
- PrintInode(NULL, specinos[j].inodeNumber), volumeId, errno);
+ PrintInode(stmp, specinos[j].inodeNumber), volumeId, errno);
}
IH_RELEASE(ih);
ssize_t nBytes;
IHandle_t *ihP = vp->vnodeIndex[class].handle;
FdHandle_t *fdP;
+ afs_ino_str_t stmp;
*ec = 0;
vcp->reads++;
fdP = IH_OPEN(ihP);
if (fdP == NULL) {
Log("VnLoad: can't open index dev=%u, i=%s\n", vp->device,
- PrintInode(NULL, vp->vnodeIndex[class].handle->ih_ino));
+ PrintInode(stmp, vp->vnodeIndex[class].handle->ih_ino));
*ec = VIO;
goto error_encountered_nolock;
} else if (FDH_SEEK(fdP, vnodeIndexOffset(vcp, Vn_id(vnp)), SEEK_SET)
* or the inode table is full. */
if (nBytes == BAD_IGET) {
Log("VnLoad: bad inumber %s\n",
- PrintInode(NULL, vp->vnodeIndex[class].handle->ih_ino));
+ PrintInode(stmp, vp->vnodeIndex[class].handle->ih_ino));
*ec = VIO;
dosalv = 0;
} else if (nBytes == -1 && errno == EIO) {
afs_foff_t offset;
IHandle_t *ihP = vp->vnodeIndex[class].handle;
FdHandle_t *fdP;
+ afs_ino_str_t stmp;
#ifdef AFS_DEMAND_ATTACH_FS
VnState vn_state_save;
#endif
FDH_REALLYCLOSE(fdP);
if (nBytes == BAD_IGET) {
Log("VnStore: bad inumber %s\n",
- PrintInode(NULL,
+ PrintInode(stmp,
vp->vnodeIndex[class].handle->ih_ino));
*ec = VIO;
VOL_LOCK;
/* Fix actual inode counts */
if (!Showmode) {
+ afs_ino_str_t stmp;
Log("totalInodes %d\n",totalInodes);
for (ip = inodes; totalInodes; ip++, totalInodes--) {
static int TraceBadLinkCounts = 0;
#endif
if (ip->linkCount != 0 && TraceBadLinkCounts) {
TraceBadLinkCounts--; /* Limit reports, per volume */
- Log("#### DEBUG #### Link count incorrect by %d; inode %s, size %llu, p=(%u,%u,%u,%u)\n", ip->linkCount, PrintInode(NULL, ip->inodeNumber), (afs_uintmax_t) ip->byteCount, ip->u.param[0], ip->u.param[1], ip->u.param[2], ip->u.param[3]);
+ Log("#### DEBUG #### Link count incorrect by %d; inode %s, size %llu, p=(%u,%u,%u,%u)\n", ip->linkCount, PrintInode(stmp, ip->inodeNumber), (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) {
/* below used to assert, not break */
if (!Testing) {
if (IH_DEC(salvinfo->VGLinkH, ip->inodeNumber, ip->u.param[0])) {
Log("idec failed. inode %s errno %d\n",
- PrintInode(NULL, ip->inodeNumber), errno);
+ PrintInode(stmp, ip->inodeNumber), errno);
break;
}
}
if (!Testing) {
if (IH_INC(salvinfo->VGLinkH, ip->inodeNumber, ip->u.param[0])) {
Log("iinc failed. inode %s errno %d\n",
- PrintInode(NULL, ip->inodeNumber), errno);
+ PrintInode(stmp, ip->inodeNumber), errno);
break;
}
}
}
}
for (i = 0; i < isp->nSpecialInodes; i++) {
+ afs_ino_str_t stmp;
ip = &inodes[isp->index + i];
if (ip->u.special.type <= 0 || ip->u.special.type > MAXINODETYPE) {
if (check) {
Log("Rubbish header inode %s of type %d\n",
- PrintInode(NULL, ip->inodeNumber),
+ PrintInode(stmp, ip->inodeNumber),
ip->u.special.type);
if (skip) {
free(skip);
return -1;
}
Log("Rubbish header inode %s of type %d; deleted\n",
- PrintInode(NULL, ip->inodeNumber),
+ PrintInode(stmp, ip->inodeNumber),
ip->u.special.type);
} else if (!stuff[ip->u.special.type - 1].obsolete) {
if (skip && skip[i]) {
if (orphans == ORPH_REMOVE) {
Log("Removing orphan special inode %s of type %d\n",
- PrintInode(NULL, ip->inodeNumber), ip->u.special.type);
+ PrintInode(stmp, ip->inodeNumber), ip->u.special.type);
continue;
} else {
Log("Ignoring orphan special inode %s of type %d\n",
- PrintInode(NULL, ip->inodeNumber), ip->u.special.type);
+ PrintInode(stmp, ip->inodeNumber), ip->u.special.type);
/* fall through to the ip->linkCount--; line below */
}
} else {
ip++;
nInodes--;
} else { /* no matching inode */
+ afs_ino_str_t stmp;
if (VNDISK_GET_INO(vnode) != 0
|| vnode->type == vDirectory) {
/* No matching inode--get rid of the vnode */
if (check) {
if (VNDISK_GET_INO(vnode)) {
if (!Showmode) {
- Log("Vnode %d (unique %u): corresponding inode %s is missing\n", vnodeNumber, vnode->uniquifier, PrintInode(NULL, VNDISK_GET_INO(vnode)));
+ Log("Vnode %d (unique %u): corresponding inode %s is missing\n", vnodeNumber, vnode->uniquifier, PrintInode(stmp, VNDISK_GET_INO(vnode)));
}
} else {
if (!Showmode)
if (VNDISK_GET_INO(vnode)) {
if (!Showmode) {
time_t serverModifyTime = vnode->serverModifyTime;
- Log("Vnode %d (unique %u): corresponding inode %s is missing; vnode deleted, vnode mod time=%s", vnodeNumber, vnode->uniquifier, PrintInode(NULL, VNDISK_GET_INO(vnode)), ctime(&serverModifyTime));
+ Log("Vnode %d (unique %u): corresponding inode %s is missing; vnode deleted, vnode mod time=%s", vnodeNumber, vnode->uniquifier, PrintInode(stmp, VNDISK_GET_INO(vnode)), ctime(&serverModifyTime));
}
} else {
if (!Showmode) {
struct ViceInodeInfo *buf;
struct afs_stat status;
int nInodes;
+ afs_ino_str_t stmp;
assert(afs_fstat(salvinfo->inodeFd, &status) == 0);
buf = (struct ViceInodeInfo *)malloc(status.st_size);
assert(read(salvinfo->inodeFd, buf, status.st_size) == status.st_size);
for (ip = buf; nInodes--; ip++) {
Log("Inode:%s, linkCount=%d, size=%#llx, p=(%u,%u,%u,%u)\n",
- PrintInode(NULL, ip->inodeNumber), ip->linkCount,
+ PrintInode(stmp, 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]);
}
struct stat st;
struct VolumeHeader tempHeader;
struct afs_inode_info stuff[MAXINODETYPE];
+ afs_ino_str_t stmp;
# ifdef AFS_DEMAND_ATTACH_FS
int locktype = 0;
# endif /* AFS_DEMAND_ATTACH_FS */
fdP = IH_OPEN(handle);
if (fdP == NULL) {
Log("VCreateVolume: Problem iopen inode %s (err=%d)\n",
- PrintInode(NULL, *(p->inode)), errno);
+ PrintInode(stmp, *(p->inode)), errno);
goto bad;
}
if (FDH_SEEK(fdP, 0, SEEK_SET) < 0) {
if (FDH_WRITE(fdP, (char *)&p->stamp, sizeof(p->stamp)) !=
sizeof(p->stamp)) {
Log("VCreateVolume: Problem writing to inode %s (err=%d)\n",
- PrintInode(NULL, *(p->inode)), errno);
+ PrintInode(stmp, *(p->inode)), errno);
FDH_REALLYCLOSE(fdP);
goto bad;
}
fdP = IH_OPEN(handle);
if (fdP == NULL) {
Log("VCreateVolume: Problem iopen inode %s (err=%d)\n",
- PrintInode(NULL, tempHeader.volumeInfo), errno);
+ PrintInode(stmp, tempHeader.volumeInfo), errno);
goto bad;
}
if (FDH_SEEK(fdP, 0, SEEK_SET) < 0) {
}
if (FDH_WRITE(fdP, (char *)&vol, sizeof(vol)) != sizeof(vol)) {
Log("VCreateVolume: Problem writing to inode %s (err=%d)\n",
- PrintInode(NULL, tempHeader.volumeInfo), errno);
+ PrintInode(stmp, tempHeader.volumeInfo), errno);
FDH_REALLYCLOSE(fdP);
goto bad;
}
afs_foff_t lcode = 0;
byte *p;
afs_uint32 hi, lo;
+ afs_ino_str_t stmp;
#ifndef AFS_NT40_ENV
struct afs_stat status;
#endif
/* Record the read error */
if (n < 0) {
n = 0;
- Log("1 Volser: DumpFile: Error reading inode %s for vnode %d: %s\n", PrintInode(NULL, handleP->fd_ih->ih_ino), vnode, afs_error_message(errno));
+ Log("1 Volser: DumpFile: Error reading inode %s for vnode %d: %s\n", PrintInode(stmp, handleP->fd_ih->ih_ino), vnode, afs_error_message(errno));
} else if (!pad) {
- Log("1 Volser: DumpFile: Error reading inode %s for vnode %d\n", PrintInode(NULL, handleP->fd_ih->ih_ino), vnode);
+ Log("1 Volser: DumpFile: Error reading inode %s for vnode %d\n", PrintInode(stmp, handleP->fd_ih->ih_ino), vnode);
}
/* Pad the rest of the buffer with zeros. Remember offset we started
size_t howMany;
byte *p;
afs_uint32 hi, lo;
+ afs_ino_str_t stmp;
#ifndef AFS_NT40_ENV
struct afs_stat status;
#endif
if (n < 0) {
n = 0;
fprintf(stderr, "Error %d reading inode %s for vnode %d\n",
- errno, PrintInode(NULL, handleP->fd_ih->ih_ino),
+ errno, PrintInode(stmp, handleP->fd_ih->ih_ino),
vnode);
} else if (!pad) {
fprintf(stderr, "Error reading inode %s for vnode %d\n",
- PrintInode(NULL, handleP->fd_ih->ih_ino), vnode);
+ PrintInode(stmp, handleP->fd_ih->ih_ino), vnode);
}
/* Pad the rest of the buffer with zeros. Remember offset we started
int code = 0;
IHandle_t *ihP;
FdHandle_t *fdP;
+ afs_ino_str_t stmp;
if (verbose)
fprintf(stderr, "dumping vnode %d\n", vnodeNumber);
if (fdP == NULL) {
fprintf(stderr,
"Unable to open inode %s for vnode %u (volume %i); not dumped, error %d\n",
- PrintInode(NULL, VNDISK_GET_INO(v)), vnodeNumber, volid,
+ PrintInode(stmp, VNDISK_GET_INO(v)), vnodeNumber, volid,
errno);
}
else
{
if (verbose)
fprintf(stderr, "about to dump inode %s for vnode %u\n",
- PrintInode(NULL, VNDISK_GET_INO(v)), vnodeNumber);
+ PrintInode(stmp, VNDISK_GET_INO(v)), vnodeNumber);
code = DumpFile(dumpfd, vnodeNumber, fdP, v);
FDH_CLOSE(fdP);
}