Update of /cvsroot/linuxcompressed/linux/include/linux
In directory usw-pr-cvs1:/tmp/cvs-serv24950/include/linux
Modified Files:
comp_cache.h
Log Message:
- Fixed a bug reported by Paolo Ciarrocchi (kernel BUG at vswap.c:380). The
cause of this bug is the variable used for offset in vswap_address. It had
been declared as unsigned short, so if we had more than 32767 entries in
vswap address table, the offset field of a entry with a higher offset would
report the wrong offset, causing corruption (including the one Paolo had).
To fix it, offset field hass been changed to unsigned long. Also all the
variables used to index when creating or resizing vswap were changed to
unsigned long as well.
Index: comp_cache.h
===================================================================
RCS file: /cvsroot/linuxcompressed/linux/include/linux/comp_cache.h,v
retrieving revision 1.62
retrieving revision 1.63
diff -C2 -r1.62 -r1.63
*** comp_cache.h 21 Mar 2002 19:24:17 -0000 1.62
--- comp_cache.h 26 Mar 2002 12:35:09 -0000 1.63
***************
*** 2,6 ****
* linux/mm/comp_cache.h
*
! * Time-stamp: <2002-03-21 16:10:53 rcastro>
*
* Linux Virtual Memory Compressed Cache
--- 2,6 ----
* linux/mm/comp_cache.h
*
! * Time-stamp: <2002-03-26 09:18:56 rcastro>
*
* Linux Virtual Memory Compressed Cache
***************
*** 329,334 ****
struct list_head list;
! unsigned short count;
! unsigned short offset;
comp_cache_fragment_t * fragment;
--- 329,334 ----
struct list_head list;
! unsigned int count;
! unsigned long offset;
comp_cache_fragment_t * fragment;
***************
*** 371,375 ****
extern int FASTCALL(free_pte_list(struct pte_list *, unsigned long));
! void vswap_alloc_and_init(struct vswap_address **, int);
#else
--- 371,375 ----
extern int FASTCALL(free_pte_list(struct pte_list *, unsigned long));
! void vswap_alloc_and_init(struct vswap_address **, unsigned long);
#else
|