/*
- * $Id: store_dir_diskd.cc,v 1.49 2001/05/08 15:24:36 hno Exp $
+ * $Id: store_dir_diskd.cc,v 1.50 2001/05/30 17:40:26 wessels Exp $
*
* DEBUG: section 47 Store Directory Routines
* AUTHOR: Duane Wessels
storeDiskdHandle(&M);
retval = 1; /* Return that we've actually done some work */
if (M.shm_offset > -1)
- storeDiskdShmPut(SD, M.shm_offset);
+ storeDiskdShmPut(SD, (off_t) M.shm_offset);
}
return retval;
}
*/
void *
-storeDiskdShmGet(SwapDir * sd, int *shm_offset)
+storeDiskdShmGet(SwapDir * sd, off_t * shm_offset)
{
char *buf;
diskdinfo_t *diskdinfo = sd->fsdata;
buf = linklistShift(&diskdinfo->shm.stack);
assert(buf);
+ assert(buf >= diskdinfo->shm.buf);
+ assert(buf < diskdinfo->shm.buf + (SHMBUFS * SHMBUF_BLKSZ));
*shm_offset = buf - diskdinfo->shm.buf;
- assert(0 <= *shm_offset && *shm_offset < SHMBUFS * SHMBUF_BLKSZ);
diskd_stats.shmbuf_count++;
return buf;
}
void
-storeDiskdShmPut(SwapDir * sd, int offset)
+storeDiskdShmPut(SwapDir * sd, off_t offset)
{
char *buf;
diskdinfo_t *diskdinfo = sd->fsdata;
extern void storeDiskdDirUnlinkFile(SwapDir *, sfileno);
extern void storeDiskdDirReplAdd(SwapDir *, StoreEntry *);
extern void storeDiskdDirReplRemove(StoreEntry *);
-extern void storeDiskdShmPut(SwapDir *, int);
-extern void *storeDiskdShmGet(SwapDir *, int *);
+extern void storeDiskdShmPut(SwapDir *, off_t);
+extern void *storeDiskdShmGet(SwapDir *, off_t *);
extern void storeDiskdHandle(diomsg * M);
extern int storeDiskdDirCallback(SwapDir *);
/*
- * $Id: store_io_diskd.cc,v 1.21 2001/03/03 10:39:38 hno Exp $
+ * $Id: store_io_diskd.cc,v 1.22 2001/05/30 17:40:26 wessels Exp $
*
* DEBUG: section 81 Squid-side DISKD I/O functions.
* AUTHOR: Duane Wessels
#include "store_diskd.h"
-static int storeDiskdSend(int, SwapDir *, int, storeIOState *, int, int, int);
+static int storeDiskdSend(int, SwapDir *, int, storeIOState *, int, int, off_t);
static void storeDiskdIOCallback(storeIOState * sio, int errflag);
static CBDUNL storeDiskdIOFreeEntry;
storeIOState *sio;
char *buf;
diskdstate_t *diskdstate;
- int shm_offset;
+ off_t shm_offset;
diskdinfo_t *diskdinfo = SD->fsdata;
debug(81, 3) ("storeDiskdOpen: fileno %08X\n", f);
/*
int x;
storeIOState *sio;
char *buf;
- int shm_offset;
+ off_t shm_offset;
diskdinfo_t *diskdinfo = SD->fsdata;
diskdstate_t *diskdstate;
/*
storeDiskdRead(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t offset, STRCB * callback, void *callback_data)
{
int x;
- int shm_offset;
+ off_t shm_offset;
char *rbuf;
diskdstate_t *diskdstate = sio->fsstate;
debug(81, 3) ("storeDiskdRead: dirno %d, fileno %08X\n", sio->swap_dirn, sio->swap_filen);
{
int x;
char *sbuf;
- int shm_offset;
+ off_t shm_offset;
diskdstate_t *diskdstate = sio->fsstate;
debug(81, 3) ("storeDiskdWrite: dirno %d, fileno %08X\n", SD->index, sio->swap_filen);
assert(!diskdstate->flags.close_request);
storeDiskdUnlink(SwapDir * SD, StoreEntry * e)
{
int x;
- int shm_offset;
+ off_t shm_offset;
char *buf;
diskdinfo_t *diskdinfo = SD->fsdata;
}
static int
-storeDiskdSend(int mtype, SwapDir * sd, int id, storeIOState * sio, int size, int offset, int shm_offset)
+storeDiskdSend(int mtype, SwapDir * sd, int id, storeIOState * sio, int size, int offset, off_t shm_offset)
{
int x;
diomsg M;
M.size = size;
M.offset = offset;
M.status = -1;
- M.shm_offset = shm_offset;
+ M.shm_offset = (int) shm_offset;
M.id = id;
M.seq_no = ++seq_no;
if (M.callback_data)