"Fossies" - the Fresh Open Source Software Archive

Member "dazuko-2.3.9/README.linux26" (26 Jan 2010, 2917 Bytes) of package /linux/privat/dazuko-2.3.9.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 ==============================
    2  README for Linux 2.6 kernels
    3 ==============================
    4 
    5 
    6 NOTE: This information is only valid if you are using Dazuko with syscall
    7       hooking. i.e. you are configuring Dazuko with --enable-syscalls.
    8       If you are using Dazuko with RedirFS (recommended), then
    9       you will not have any of the problems listed here.
   10 
   11 
   12 In order to lookup full file paths (even in chroot environments), Dazuko
   13 uses the kernel function __d_path(). Unfortunately this function is no
   14 longer exported to kernel modules in the Linux 2.6 kernel.
   15 
   16 Dazuko has its own copy of this function but unfortunately it is only safe
   17 for UP (uni-processor or non-SMP) kernels. This is because the real __d_path()
   18 function uses a kernel lock, which is not available to kernel modules.
   19 
   20 If your kernel is not configured as SMP, then it is safe to use Dazuko's
   21 copy of the __d_path() function. This is default.
   22 
   23 If your kernel is SMP then you should _not_ use Dazuko's copy of __d_path().
   24 You can disable Dazuko's local copy of __d_path() by configuring Dazuko with:
   25 
   26 $ ./configure --disable-local-dpath
   27 
   28 Since Dazuko requires __d_path(), your kernel will have to export it if you
   29 disable the local copy. Some GNU/Linux distributions have a modified kernel
   30 that does export this function. The "vanilla" Linux kernel does _not_ export
   31 this function. You can check if your kernel exports this function with:
   32 
   33 $ grep __d_path /proc/kallsyms
   34 
   35 The results can be interpreted as:
   36 
   37 xxxxx T __d_path <= exported
   38 xxxxx t __d_path <= not exported
   39 
   40 If you are running an SMP kernel and __d_path() is not exported, then you
   41 will have to modify your kernel source code to export the symbol and
   42 rebuild your kernel. The modification is very simply and can be made by
   43 using the included patch to modify the fs/dcache.c file. Here is an example:
   44 
   45 $ patch /lib/modules/`uname -r`/build/fs/dcache.c patch_dpath.diff
   46 
   47 The location of your Linux kernel source code may be different.
   48 
   49 Once you have patched the fs/dcache.c file, you can rebuild and install your
   50 kernel and kernel modules.
   51 
   52 If your GNU/Linux distribution doesn't export the __d_path() function, you
   53 may want to write them email suggesting that this function be exported in
   54 the next release.
   55 
   56 Note: As a workaround, Dazuko now offers the configuration option
   57       --disable-chroot-support. This will disable Dazuko from trying to
   58       resolve chroot'd filenames, thus making Dazuko safe for SMP kernels
   59       that do not export __d_path(). However, if this option is used,
   60       registered applications will only be able to work with chroot'd
   61       filenames if they resolve the filenames from within userland. If
   62       the application you plan to use with Dazuko requires handling
   63       chroot'd filenames (and you have an SMP kernel that cannot export
   64       __d_path()), then you should contact the application developer to
   65       make sure it supports this option.
   66