# -*- text -*- LINUX PATCHES TO SUPPORT FIST To support stackable file systems in Linux, at least for now, you have to apply one of the patches in this directory. *NO* patches are needed to support stacking in Solaris, FreeBSD, or Linux 2.4. To apply these Linux patches into an existing source tree, use something like: $ cd /usr/src/linux $ patch -p1 < fist-X.Y.Z.diff where X.Y.Z is your kernel version, or the closest one to it. Then [re]build your kernel as usual. Note that we do not include patches for many of the linux-2.3 kernels. The reason is that these are alpha development kernels, and are by definition unstable and changing. So including patches for 2.3 kernels doesn't make sense. They change too much too often. You must therefore keep up with the latest linux 2.3 kernel. Many people have asked me if I submitted these patches for inclusion with the mainline kernel. Yes I have, many times. Most of my patches got already included in the linux kernel, at various points in the 2.3 development tree. But still, a few remain, and these patches here represent what's left. If you think my patches are useful for your work, then please ask the linux maintainers to include them soon. Thanks. * WHAT DO THE 2.2 PATCHES DO? The patches are passive! They are intended to make the Linux kernel more "stacking-friendly" so that my stacking templates can call VFS code directly rather than reproducing it. - moved some static inline functions from .c files to .h files where they can be called by our code. - we split some static inline functions from namei.c to their own header because I needed to call those directly, and there was no better place to put them. - make default_llseek a non-static function so it can be called from other stackable file systems. - Added an extern declaration to default_llseek and other filemap functions in fs.h. - exporting symbols for loadable modules in kernel/ksyms.c Erez Zadok.