On Tue, Jan 18, 2011 at 1:36 PM, Rod Widdowson <[email protected]> wrote: > Mixing CRTL IO and Win32 is a recipe for disaster, and I have been looking at > the servers with a view to reducing this. > > Currently only namei_ops is Win32 aware. AFAICS, the rest of the file either > use open or afs_open which is then mapped onto either > open or open64. > > I'd like to take a couple of passes through "vol" trying to clear this up. > > 1) Redirect IO through the afs_XXXX operations. > a) remove all direct use of open and replace by afs_open, mapped > appropriately > b) change the use of "int fd" to be FD_t and comparison 'fd<0' or 'fd==-1' > to be == INVALID_FD. > c) change direct use of read/write/whatever to be > afs_read/afs_write/afs_whatever, mapped appropriately > > In most cases the compiled code should be the same, although I guess that > there will be some cases where previously we called open > and now we called open64.
the real "issue" will be making sure we make performance no worse than before on unix. but that's easily accomplished by macroizing or inlining as appropriate. > 2) Move individual modules over to using nt_XXXX rather than the CRTL homologs > > At that stage I can start looking at the edge CRTL io functions (like > mkdir()). > > Thoughts? Comments? The only part of this which makes me at all nervous is > the potential to call open64 where before we called > open. some of those may well be "wrong" (using open, not open64 that is) -- Derrick _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
