Jean-Pierre André wrote: > Hi Eric, > > Eric Biggers wrote: [...] >>> About integrating system compression into ntfs-3g, I >>> want to try making it a plugin loaded on demand. this >>> will improve modularity and facilitate maintainance. >>> For instance an upgrade such as the one you are >>> announcing could be released independently of ntfs-3g. >>> In the fuse interface (ntfs-3g.c or lownetfs-3g.c) the >>> inode would be opened, and if it has a reparse mark, >>> control would be passed to a handler depending of the >>> reparse tag, either internal (symlinks and junctions) >>> or external (system compression). The interface would >>> be like the fuse one, with the path replaced by a pointer >>> to inode descriptor. More thoughts needed... >> >> Interesting idea. I agree that it would be nice to support new types >> of reparse >> points without having them directly tied to the core library/driver. >> There is >> quite a bit of code needed to support the system-compressed files and >> I expect >> that the majority of users don't need it. >> >> I suppose that NTFS-3g would have to provide a plugins directory, a >> plugin >> package would drop a .so file into it, and the FUSE driver would >> dynamically >> load the available plugins when starting up? > > My initial view (subject to change) is to have > the reparse tag in the name of the .so (such as > ntfs_plugin_80000017.so). When some application > wants to access a file with reparse tag 80000017 > for the first time, the plugin is loaded and its > init() function returns an array of functions. > > Defining a plugin directory would require some > customization by distributions. > > Roughly speaking, the hooks you have inserted > have to be replaced by two function calls, one to > locate the plugin, then a call to the needed plugin > entry.
See proposal on http://jp-andre.pagesperso-orange.fr/systcomp.patches.gz Jean-Pierre ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140 _______________________________________________ ntfs-3g-devel mailing list ntfs-3g-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel