- 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