Hi, I'm working slowly towards using SFTs in the kernel using a series of patches (so we can backtrack in case somebody finds a filesystem bug). The idea is to still use the near fnodes for internal use but to use only SFTs (no more far fnodes) for the file data.
First the two had to be made compatible though, to make it possible to transfer entries. Changes so far: r1389: remove near fnode allocation scheme, instead hardcoding which one to use: eliminates the dreaded "more than two near fnodes requested at the same time!" messages and workarounds. r1390: introduces f_dirsector/f_diridx fields to store the sector and index within the sector of the file's FAT entry. This is the SFT info and makes dir_write() very efficient -- the previous technique stored the starting cluster of the directory + the entry within the directory, requiring a lookup. r1391: use explicit dir_write() instead of dir_close() calling dir_write() r1392: introduce a dir_write_update() to update dir entries using information obtainable from SFTs (the rest stays the same on-disk). now everything is clear to eliminate far fnodes, I'll do that when I have time. Bart ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel