From: James M. <Jam...@ho...> - 2003-06-08 07:51:24
|
I have been continuing to work on the stackable COW file functions. The latest version has been tested with even with stacks of COW files V2->V2->V1->V1->backing file so it is not just a V3 feature. It will automatically create a COW file of the highest defined version number I deleted the line #define VERSION_V3 3 to create the V2 headers and VERSION_V2 to create the V1 headers I then inspected the headers to see if they appeared correct and as near as I can tell it will create the correct V1/V2/V3 formats I still have not been able to shoehorn in ISAM gracefully. Putting a mode variable in the middle of the V3 header and then having the rest of the header variable has been awkward the new read/write/close_ISAM functions share layout with the _COW versions but quite a few details have to change and devinfo should also change even the variable header has problems putting mode in the middle will violate 64 bit alignment restrictions and so will then require attribute packed or a fill variable. It is looking to me like a V4 for ISAM might be much easier then trying to make V3 format to handle both. I did get the V1, V2, and V3 header formats separated out into cow_vX.h and cow_vX.c files the .h file contains the header layout and the .c file contains the convert_cow_vX and create_cow_vX functions they are only included when the corresponding VERSION_Vx is defined so the header will be the correct size The current tarball contains just the cow files and should be at http://jmcmechan.linuxdriven.net/cow.tgz (7944 bytes) |