From 01d08c0ce879487226d78f423588b27b18d888f7 Mon Sep 17 00:00:00 2001 From: Rod Widdowson Date: Sat, 15 May 2010 16:25:26 +0100 Subject: [PATCH] Stop overanxious htonl in vldb_check -fix vldb_check -fix is corrupting the server entries (Number, Partition, Flags). This is because it is doing a htonl on what is a char field. The read code already has a comment "make sure not to ntohl these, as they're chars, not ints". This change strips the corresponding htonl from writeheader (and puts in a similar comment). Change-Id: I5902be0f1e928521bfcb5ec66edd227c08ea2bdc Reviewed-on: http://gerrit.openafs.org/1964 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/vlserver/vldb_check.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/vlserver/vldb_check.c b/src/vlserver/vldb_check.c index 5eb1ed9..d04af37 100644 --- a/src/vlserver/vldb_check.c +++ b/src/vlserver/vldb_check.c @@ -459,9 +459,10 @@ writeentry(afs_int32 addr, struct nvlentry *vlentryp) vlentryp->nextIdHash[i] = htonl(vlentryp->nextIdHash[i]); vlentryp->nextNameHash = htonl(vlentryp->nextNameHash); for (i = 0; i < NMAXNSERVERS; i++) { - vlentryp->serverNumber[i] = htonl(vlentryp->serverNumber[i]); - vlentryp->serverPartition[i] = htonl(vlentryp->serverPartition[i]); - vlentryp->serverFlags[i] = htonl(vlentryp->serverFlags[i]); + /* make sure not to htonl these, as they're chars, not ints */ + vlentryp->serverNumber[i] = vlentryp->serverNumber[i] ; + vlentryp->serverPartition[i] = vlentryp->serverPartition[i] ; + vlentryp->serverFlags[i] = vlentryp->serverFlags[i] ; } vldbwrite(addr, (char *)vlentryp, sizeof(*vlentryp)); } -- 1.9.4