- fist.h has an apparently unnecessary #include of <asm/segment.h>,
  which does not exist on sparc*. Despite this apparent lack of
  testing on sparc*, my quick tests on sparc64 show no problems :)

- arches like sparc64 (and MIPS) are notable for having a 32-bit
  userspace and a 64-bit kernelspace, so it would be nice to be able to
  force use of the appropriate tool to switch personalities during kernel
  module build (and not at other times, because some of us have GCC
  wrappers which consult the current personality to decide what to build
  code for).

- I have an elaborate set of CFLAGS used for userspace compilation which
  are quite unsuitable for kernel modules. It's likely that this will be
  true of just about anyone doing complicated things with CFLAGS (for
  instance, my CFLAGS for 32-bit compilation force on -m32; this is hardly
  suitable for a kernel module, which requires -m64 on sparc64). The easiest
  way to fix this is simply to use a `fistdev-kernel.mk' for compiling
  kernel modules; you might want to ship an empty fistdev.mk and a
  fistdev-kernel.mk which is a symlink to it, for the common case

- the unionimap manpage isn't installed.


One moan: unionfs doesn't seem willing to cross mount points, which
eliminates one major potential use:

mount -t unionfs -o dirs=/tmp/rwdir=rw:/=ro none /tmp/unionfs
chroot /tmp/unionfs
# do stuff, say a make install, in perfect safety
exit
umount /tmp/unionfs
# now that `stuff' is all nearly preserved in /tmp/rwdir

Since unionfs fakes its inodes anyway, the largest objection to
crossing mount points (that it might confuse programs that check
for (dev,inum) identity) is moot anyway, or at least as moot as
it is for NFS... and NFS has a `nohide' option to let people do
this if they want.

Is there some fundamental reason why crossing mount points isn't
supported, or could it be made to work?

Anyway, the patch:

diff -durN 1.1.1-orig/Makefile 1.1.1/Makefile
--- 1.1.1-orig/Makefile 2005-10-26 01:50:19.000000000 +0100
+++ 1.1.1/Makefile      2005-11-01 22:39:02.000000000 +0000
@@ -9,6 +9,7 @@
 PREFIX   = /usr/local
 MANDIR   = ${PREFIX}/man
 MODPREFIX=
+MACHINE_MODE=
 VERSION  = 1.1.1
 TAROPTS = czvf
 COMPEXT = .gz
@@ -49,7 +50,7 @@
        @echo ""
 
 unionfs.ko: FRC
-       make -C ${LINUXSRC} SUBDIRS=$(PWD) FISTDEVMK=$(PWD)/fistdev.mk modules
+       $(MACHINE_MODE) make -C ${LINUXSRC} SUBDIRS=$(PWD) 
FISTDEVMK=$(PWD)/fistdev-kernel.mk modules
 
 FRC:
 
@@ -95,3 +96,4 @@
        cp man/unionfs.4 ${MANDIR}/man4
        cp man/unionctl.8 ${MANDIR}/man8
        cp man/uniondbg.8 ${MANDIR}/man8
+       cp man/unionimap.8 ${MANDIR}/man8
diff -durN 1.1.1-orig/fist.h 1.1.1/fist.h
--- 1.1.1-orig/fist.h   2005-10-26 01:50:19.000000000 +0100
+++ 1.1.1/fist.h        2005-11-01 20:49:07.000000000 +0000
@@ -63,7 +63,6 @@
 #include <linux/swap.h>
 
 #include <asm/system.h>
-#include <asm/segment.h>
 #include <asm/mman.h>
 #include <linux/seq_file.h>
 #include <linux/dcache.h>

-- 
`"Gun-wielding recluse gunned down by local police" isn't the epitaph
 I want. I am hoping for "Witnesses reported the sound up to two hundred
 kilometers away" or "Last body part finally located".' --- James Nicoll
_______________________________________________
unionfs mailing list
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs

Reply via email to