mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 13:38:01 +00:00
DEVEL15-cbd-20071205
LICENSE IPL10 Windows requires open() to be called with O_BINARY otherwise Ctrl-Z means EOF which breaks dumpfile processing. Be consistent about writing/reading time as afs_uint32 instead of writing as afs_uint32 and reading as time_t since time_t can be 32-bit or 64-bit depending on the platform. (cherry picked from commit 946f416577914aef5b31e398994fb8876b4ee5e9)
This commit is contained in:
parent
4956f41b85
commit
496ed80bd6
@ -2640,11 +2640,14 @@ cb_OldToNew(struct fs_dump_state * state, afs_uint32 old, afs_uint32 * new)
|
||||
int
|
||||
DumpCallBackState(void)
|
||||
{
|
||||
int fd;
|
||||
int fd, oflag;
|
||||
afs_uint32 magic = MAGIC, now = FT_ApproxTime(), freelisthead;
|
||||
|
||||
fd = open(AFSDIR_SERVER_CBKDUMP_FILEPATH, O_WRONLY | O_CREAT | O_TRUNC,
|
||||
0666);
|
||||
oflag = O_WRONLY | O_CREAT | O_TRUNC;
|
||||
#ifdef AFS_NT40_ENV
|
||||
oflag |= O_BINARY;
|
||||
#endif
|
||||
fd = open(AFSDIR_SERVER_CBKDUMP_FILEPATH, oflag, 0666);
|
||||
if (fd < 0) {
|
||||
ViceLog(0,
|
||||
("Couldn't create callback dump file %s\n",
|
||||
@ -2678,11 +2681,15 @@ DumpCallBackState(void)
|
||||
time_t
|
||||
ReadDump(char *file)
|
||||
{
|
||||
int fd;
|
||||
int fd, oflag;
|
||||
afs_uint32 magic, freelisthead;
|
||||
time_t now;
|
||||
afs_uint32 now;
|
||||
|
||||
fd = open(file, O_RDONLY);
|
||||
oflag = O_RDONLY;
|
||||
#ifdef AFS_NT40_ENV
|
||||
oflag |= O_BINARY;
|
||||
#endif
|
||||
fd = open(file, oflag);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "Couldn't read dump file %s\n", file);
|
||||
exit(1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user