--------------------- PatchSet 311 Date: 2002/12/10 22:41:44 Author: rbcollins Branch: unify-io Tag: (none) Log: make behaviour on reentrant reads identical across diskd ufs and aufs Members: src/fs/diskd/store_io_diskd.cc:1.1.20.29->1.1.20.30 src/fs/ufs/store_io_ufs.cc:1.3.10.23->1.3.10.24 Index: squid3/src/fs/diskd/store_io_diskd.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/fs/diskd/Attic/store_io_diskd.cc,v retrieving revision 1.1.20.29 retrieving revision 1.1.20.30 diff -u -r1.1.20.29 -r1.1.20.30 --- squid3/src/fs/diskd/store_io_diskd.cc 10 Dec 2002 22:38:14 -0000 1.1.20.29 +++ squid3/src/fs/diskd/store_io_diskd.cc 10 Dec 2002 22:41:44 -0000 1.1.20.30 @@ -1,6 +1,6 @@ /* - * $Id: store_io_diskd.cc,v 1.1.20.29 2002/12/10 22:38:14 rbcollins Exp $ + * $Id: store_io_diskd.cc,v 1.1.20.30 2002/12/10 22:41:44 rbcollins Exp $ * * DEBUG: section 79 Squid-side DISKD I/O functions. * AUTHOR: Duane Wessels @@ -465,10 +465,7 @@ diskdstate_t *diskdstate = dynamic_cast(sio); debug(79, 3) ("storeDiskdRead: dirno %d, fileno %08X\n", sio->swap_dirn, sio->swap_filen); assert(!diskdstate->closing); - if (diskdstate->reading) { - debug(79, 1) ("storeDiskdRead: already reading!\n"); - return; - } + assert(!diskdstate->reading); assert(sio->read.callback == NULL); assert(sio->read.callback_data == NULL); sio->read.callback = callback; Index: squid3/src/fs/ufs/store_io_ufs.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/fs/ufs/store_io_ufs.cc,v retrieving revision 1.3.10.23 retrieving revision 1.3.10.24 diff -u -r1.3.10.23 -r1.3.10.24 --- squid3/src/fs/ufs/store_io_ufs.cc 10 Dec 2002 22:38:14 -0000 1.3.10.23 +++ squid3/src/fs/ufs/store_io_ufs.cc 10 Dec 2002 22:41:45 -0000 1.3.10.24 @@ -1,6 +1,6 @@ /* - * $Id: store_io_ufs.cc,v 1.3.10.23 2002/12/10 22:38:14 rbcollins Exp $ + * $Id: store_io_ufs.cc,v 1.3.10.24 2002/12/10 22:41:45 rbcollins Exp $ * * DEBUG: section 79 Storage Manager UFS Interface * AUTHOR: Duane Wessels @@ -240,6 +240,8 @@ assert(sio->read.callback == NULL); assert(sio->read.callback_data == NULL); + assert(!ufsstate->reading); + assert(!ufsstate->closing); sio->read.callback = callback; sio->read.callback_data = cbdataReference(callback_data); debug(79, 3) ("storeUfsRead: dirno %d, fileno %08X, FD %d\n",