head	1.124;
access;
symbols
	UNIONFS-1_4:1.121
	LKML-branch:1.119.0.2
	LKML:1.119
	UNIONFS-1_3-branch:1.117.0.2
	UNIONFS-1_3:1.117
	UNIONFS-1_2:1.114.2.1
	UNIONFS-1_2-branch:1.114.0.2
	UNIONFS-1_2-branchpoint:1.114
	UNIONFS_branchman:1.113
	branchman:1.113.0.2
	UNIONFS-1_1_4:1.108.2.1
	UNIONFS-1_1-patches:1.108.0.2
	UNIONFS-1_1_3:1.108
	crc-submitted-to-ols2006:1.111
	remount:1.111.0.2
	UNIONFS-1_1_2:1.105
	BEFORE_MOUNTPOINT_CROSSING:1.100
	UNIONFS-1_1_1:1.97
	UNIONFS_PRE_1_1_1:1.94
	UNIONFS-1_1:1.94
	UNIONFS_PRE_1_1:1.89.0.2
	UNIONFS-1_0_14:1.89
	UNIONFS_PRE_DENTRY_LOCKING:1.85
	UNIONFS-1_0_13:1.82
	submitted-to-tos-2005:1.78
	UNIONFS-1_0_12:1.70
	UNIONFS-1_0_11:1.62
	UNIONFS-1_0_10:1.62
	UNIONFS-1_0_9:1.54
	UNIONFS-1_0_6:1.38
	UNIONFS-1_0_4:1.31
	UNIONFS-1_0_3:1.29
	SUBMITTED_TO_USENIX_2005:1.24
	UNIONFS-1_0:1.24
	before-new-rename:1.20
	before_applying_linux_coding_style:1.17
	copied-to-replicfs-branch-on-march-17-2004:1.17
	PRE_SNAPSHOT:1.15
	SUBMITTED_TO_USENIX_2004:1.14
	SUBMITTED_TO_FAST_2004:1.14;
locks; strict;
comment	@# @;


1.124
date	2006.12.28.20.30.56;	author yiannos;	state Exp;
branches;
next	1.123;

1.123
date	2006.12.28.02.48.47;	author yiannos;	state Exp;
branches;
next	1.122;

1.122
date	2006.11.04.23.58.07;	author jsipek;	state Exp;
branches;
next	1.121;

1.121
date	2006.11.04.23.55.31;	author jsipek;	state Exp;
branches;
next	1.120;

1.120
date	2006.09.21.18.19.36;	author jsipek;	state Exp;
branches;
next	1.119;

1.119
date	2006.07.08.05.35.27;	author dquigley;	state Exp;
branches
	1.119.2.1;
next	1.118;

1.118
date	2006.06.30.00.45.13;	author jsipek;	state Exp;
branches;
next	1.117;

1.117
date	2006.06.26.19.32.28;	author jsipek;	state Exp;
branches
	1.117.2.1;
next	1.116;

1.116
date	2006.06.14.22.52.53;	author jsipek;	state Exp;
branches;
next	1.115;

1.115
date	2006.06.09.20.53.05;	author jsipek;	state Exp;
branches;
next	1.114;

1.114
date	2006.06.05.16.31.15;	author jsipek;	state Exp;
branches
	1.114.2.1;
next	1.113;

1.113
date	2006.05.31.03.28.40;	author dquigley;	state Exp;
branches
	1.113.2.1;
next	1.112;

1.112
date	2006.05.31.02.51.04;	author dquigley;	state Exp;
branches;
next	1.111;

1.111
date	2006.03.07.09.03.40;	author dquigley;	state Exp;
branches
	1.111.2.1;
next	1.110;

1.110
date	2006.03.04.21.15.05;	author jsipek;	state Exp;
branches;
next	1.109;

1.109
date	2006.02.20.22.54.02;	author cwright;	state Exp;
branches;
next	1.108;

1.108
date	2006.02.20.22.40.03;	author cwright;	state Exp;
branches
	1.108.2.1;
next	1.107;

1.107
date	2006.02.05.03.10.30;	author dquigley;	state Exp;
branches;
next	1.106;

1.106
date	2006.01.25.22.12.28;	author jsipek;	state Exp;
branches;
next	1.105;

1.105
date	2006.01.25.21.59.00;	author jsipek;	state Exp;
branches;
next	1.104;

1.104
date	2006.01.13.03.00.24;	author jsipek;	state Exp;
branches;
next	1.103;

1.103
date	2005.12.27.16.54.47;	author cwright;	state Exp;
branches;
next	1.102;

1.102
date	2005.11.24.18.08.06;	author cwright;	state Exp;
branches;
next	1.101;

1.101
date	2005.11.20.23.03.34;	author arunmk;	state Exp;
branches;
next	1.100;

1.100
date	2005.11.08.22.10.38;	author cwright;	state Exp;
branches;
next	1.99;

1.99
date	2005.11.08.20.08.13;	author cwright;	state Exp;
branches;
next	1.98;

1.98
date	2005.10.26.01.08.35;	author cwright;	state Exp;
branches;
next	1.97;

1.97
date	2005.10.26.00.50.26;	author cwright;	state Exp;
branches;
next	1.96;

1.96
date	2005.10.19.17.43.16;	author cwright;	state Exp;
branches;
next	1.95;

1.95
date	2005.10.17.22.22.18;	author dquigley;	state Exp;
branches;
next	1.94;

1.94
date	2005.09.28.16.20.39;	author cwright;	state Exp;
branches;
next	1.93;

1.93
date	2005.09.22.23.32.04;	author jsipek;	state Exp;
branches;
next	1.92;

1.92
date	2005.09.21.19.12.00;	author dquigley;	state Exp;
branches;
next	1.91;

1.91
date	2005.09.16.14.00.45;	author cwright;	state Exp;
branches;
next	1.90;

1.90
date	2005.09.15.19.04.19;	author dquigley;	state Exp;
branches;
next	1.89;

1.89
date	2005.09.15.18.58.56;	author dquigley;	state Exp;
branches;
next	1.88;

1.88
date	2005.08.29.14.20.36;	author cwright;	state Exp;
branches;
next	1.87;

1.87
date	2005.08.26.20.00.12;	author cwright;	state Exp;
branches;
next	1.86;

1.86
date	2005.08.26.14.33.23;	author cwright;	state Exp;
branches;
next	1.85;

1.85
date	2005.08.09.17.12.03;	author cwright;	state Exp;
branches;
next	1.84;

1.84
date	2005.08.03.19.45.07;	author cwright;	state Exp;
branches;
next	1.83;

1.83
date	2005.07.25.15.43.04;	author cwright;	state Exp;
branches;
next	1.82;

1.82
date	2005.07.22.17.16.14;	author cwright;	state Exp;
branches;
next	1.81;

1.81
date	2005.07.19.19.50.01;	author cwright;	state Exp;
branches;
next	1.80;

1.80
date	2005.06.25.02.25.00;	author dquigley;	state Exp;
branches;
next	1.79;

1.79
date	2005.06.23.17.31.01;	author arunmk;	state Exp;
branches;
next	1.78;

1.78
date	2005.06.17.14.26.15;	author cwright;	state Exp;
branches;
next	1.77;

1.77
date	2005.06.15.17.34.23;	author dquigley;	state Exp;
branches;
next	1.76;

1.76
date	2005.06.15.13.03.12;	author cwright;	state Exp;
branches;
next	1.75;

1.75
date	2005.06.15.12.32.51;	author cwright;	state Exp;
branches;
next	1.74;

1.74
date	2005.06.10.22.36.15;	author dquigley;	state Exp;
branches;
next	1.73;

1.73
date	2005.05.19.19.26.14;	author cwright;	state Exp;
branches;
next	1.72;

1.72
date	2005.05.14.19.42.32;	author cwright;	state Exp;
branches;
next	1.71;

1.71
date	2005.05.13.21.32.28;	author cwright;	state Exp;
branches;
next	1.70;

1.70
date	2005.05.13.21.29.53;	author cwright;	state Exp;
branches;
next	1.69;

1.69
date	2005.05.13.15.56.54;	author dquigley;	state Exp;
branches;
next	1.68;

1.68
date	2005.05.12.20.57.52;	author dquigley;	state Exp;
branches;
next	1.67;

1.67
date	2005.04.26.17.19.29;	author cwright;	state Exp;
branches;
next	1.66;

1.66
date	2005.04.20.20.59.58;	author cwright;	state Exp;
branches;
next	1.65;

1.65
date	2005.04.20.19.49.57;	author cwright;	state Exp;
branches;
next	1.64;

1.64
date	2005.04.18.20.16.05;	author cwright;	state Exp;
branches;
next	1.63;

1.63
date	2005.04.12.00.50.47;	author dquigley;	state Exp;
branches;
next	1.62;

1.62
date	2005.03.24.03.26.46;	author dquigley;	state Exp;
branches;
next	1.61;

1.61
date	2005.03.16.19.08.30;	author cwright;	state Exp;
branches;
next	1.60;

1.60
date	2005.03.10.02.06.39;	author dquigley;	state Exp;
branches;
next	1.59;

1.59
date	2005.03.07.14.38.20;	author cwright;	state Exp;
branches;
next	1.58;

1.58
date	2005.03.03.13.42.00;	author cwright;	state Exp;
branches;
next	1.57;

1.57
date	2005.02.24.18.44.14;	author cwright;	state Exp;
branches;
next	1.56;

1.56
date	2005.02.22.18.42.58;	author cwright;	state Exp;
branches;
next	1.55;

1.55
date	2005.02.19.00.51.48;	author ezk;	state Exp;
branches;
next	1.54;

1.54
date	2005.02.07.19.40.52;	author cwright;	state Exp;
branches;
next	1.53;

1.53
date	2005.02.07.02.16.39;	author dquigley;	state Exp;
branches;
next	1.52;

1.52
date	2005.02.01.22.21.09;	author dquigley;	state Exp;
branches;
next	1.51;

1.51
date	2005.02.01.21.35.03;	author dquigley;	state Exp;
branches;
next	1.50;

1.50
date	2005.01.28.22.19.06;	author cwright;	state Exp;
branches;
next	1.49;

1.49
date	2005.01.19.15.04.05;	author cwright;	state Exp;
branches;
next	1.48;

1.48
date	2005.01.19.14.31.51;	author cwright;	state Exp;
branches;
next	1.47;

1.47
date	2005.01.13.14.33.54;	author cwright;	state Exp;
branches;
next	1.46;

1.46
date	2005.01.10.17.59.02;	author cwright;	state Exp;
branches;
next	1.45;

1.45
date	2005.01.10.14.57.38;	author cwright;	state Exp;
branches;
next	1.44;

1.44
date	2005.01.10.14.45.44;	author cwright;	state Exp;
branches;
next	1.43;

1.43
date	2005.01.10.14.14.07;	author cwright;	state Exp;
branches;
next	1.42;

1.42
date	2005.01.10.13.53.37;	author cwright;	state Exp;
branches;
next	1.41;

1.41
date	2005.01.09.22.03.13;	author cwright;	state Exp;
branches;
next	1.40;

1.40
date	2005.01.09.21.43.24;	author ezk;	state Exp;
branches;
next	1.39;

1.39
date	2005.01.07.16.18.53;	author cwright;	state Exp;
branches;
next	1.38;

1.38
date	2005.01.07.14.54.42;	author cwright;	state Exp;
branches;
next	1.37;

1.37
date	2005.01.07.14.31.25;	author cwright;	state Exp;
branches;
next	1.36;

1.36
date	2005.01.06.18.54.53;	author cwright;	state Exp;
branches;
next	1.35;

1.35
date	2005.01.06.13.32.20;	author cwright;	state Exp;
branches;
next	1.34;

1.34
date	2005.01.04.20.19.01;	author cwright;	state Exp;
branches;
next	1.33;

1.33
date	2005.01.04.19.09.07;	author cwright;	state Exp;
branches;
next	1.32;

1.32
date	2005.01.04.13.42.16;	author dquigley;	state Exp;
branches;
next	1.31;

1.31
date	2004.12.29.15.40.14;	author cwright;	state Exp;
branches;
next	1.30;

1.30
date	2004.12.06.19.16.45;	author cwright;	state Exp;
branches;
next	1.29;

1.29
date	2004.11.10.14.41.18;	author cwright;	state Exp;
branches;
next	1.28;

1.28
date	2004.11.10.14.12.10;	author cwright;	state Exp;
branches;
next	1.27;

1.27
date	2004.11.10.00.34.19;	author ezk;	state Exp;
branches;
next	1.26;

1.26
date	2004.11.10.00.28.16;	author ezk;	state Exp;
branches;
next	1.25;

1.25
date	2004.11.09.20.56.16;	author cwright;	state Exp;
branches;
next	1.24;

1.24
date	2004.08.24.15.25.09;	author cwright;	state Exp;
branches;
next	1.23;

1.23
date	2004.08.20.14.03.01;	author cwright;	state Exp;
branches;
next	1.22;

1.22
date	2004.08.20.13.29.46;	author cwright;	state Exp;
branches;
next	1.21;

1.21
date	2004.08.19.15.10.04;	author cwright;	state Exp;
branches;
next	1.20;

1.20
date	2004.08.17.14.41.36;	author cwright;	state Exp;
branches;
next	1.19;

1.19
date	2004.08.10.19.59.59;	author cwright;	state Exp;
branches;
next	1.18;

1.18
date	2004.08.10.16.26.03;	author zubair;	state Exp;
branches;
next	1.17;

1.17
date	2004.03.11.23.46.50;	author cwright;	state Exp;
branches;
next	1.16;

1.16
date	2004.03.03.22.07.57;	author cwright;	state Exp;
branches;
next	1.15;

1.15
date	2003.11.06.20.21.12;	author cwright;	state Exp;
branches;
next	1.14;

1.14
date	2003.09.22.06.14.08;	author ezk;	state Exp;
branches;
next	1.13;

1.13
date	2003.09.21.04.54.41;	author zubair;	state Exp;
branches;
next	1.12;

1.12
date	2003.09.20.17.10.31;	author cwright;	state Exp;
branches;
next	1.11;

1.11
date	2003.09.19.22.23.17;	author hari;	state Exp;
branches;
next	1.10;

1.10
date	2003.09.19.22.20.07;	author hari;	state Exp;
branches;
next	1.9;

1.9
date	2003.09.18.02.10.25;	author puja;	state Exp;
branches;
next	1.8;

1.8
date	2003.09.17.19.04.42;	author hari;	state Exp;
branches;
next	1.7;

1.7
date	2003.09.11.01.16.16;	author cwright;	state Exp;
branches;
next	1.6;

1.6
date	2003.09.10.23.28.04;	author cwright;	state Exp;
branches;
next	1.5;

1.5
date	2003.09.05.16.23.05;	author cwright;	state Exp;
branches;
next	1.4;

1.4
date	2003.09.01.22.36.27;	author cwright;	state Exp;
branches;
next	1.3;

1.3
date	2003.08.27.17.48.24;	author zubair;	state Exp;
branches;
next	1.2;

1.2
date	2003.08.13.23.58.25;	author zubair;	state Exp;
branches;
next	1.1;

1.1
date	2003.05.27.23.15.29;	author puja;	state Exp;
branches;
next	;

1.108.2.1
date	2006.04.11.20.18.20;	author jsipek;	state Exp;
branches;
next	1.108.2.2;

1.108.2.2
date	2006.06.12.01.46.33;	author jsipek;	state Exp;
branches;
next	1.108.2.3;

1.108.2.3
date	2006.06.12.02.14.27;	author jsipek;	state Exp;
branches;
next	;

1.111.2.1
date	2006.03.13.04.32.49;	author jsipek;	state Exp;
branches;
next	;

1.113.2.1
date	2006.06.05.03.11.53;	author jsipek;	state Exp;
branches;
next	1.113.2.2;

1.113.2.2
date	2006.06.11.20.06.17;	author jsipek;	state Exp;
branches;
next	1.113.2.3;

1.113.2.3
date	2006.07.02.18.31.16;	author jsipek;	state Exp;
branches;
next	;

1.114.2.1
date	2006.06.09.07.09.14;	author jsipek;	state Exp;
branches;
next	;

1.117.2.1
date	2006.07.07.14.49.10;	author dquigley;	state Exp;
branches;
next	;

1.119.2.1
date	2006.07.26.02.19.37;	author jsipek;	state Exp;
branches;
next	1.119.2.2;

1.119.2.2
date	2006.07.26.02.36.08;	author jsipek;	state Exp;
branches;
next	1.119.2.3;

1.119.2.3
date	2006.07.26.03.18.19;	author jsipek;	state Exp;
branches;
next	1.119.2.4;

1.119.2.4
date	2006.07.26.05.05.21;	author dquigley;	state Exp;
branches;
next	1.119.2.5;

1.119.2.5
date	2006.08.02.21.23.09;	author jsipek;	state dead;
branches;
next	1.119.2.6;

1.119.2.6
date	2006.08.03.05.34.44;	author jsipek;	state Exp;
branches;
next	1.119.2.7;

1.119.2.7
date	2006.08.04.19.28.49;	author jsipek;	state Exp;
branches;
next	1.119.2.8;

1.119.2.8
date	2006.08.23.22.58.42;	author jsipek;	state Exp;
branches;
next	;


desc
@@


1.124
log
@compile imap on 2.6.19 and export.o when exportfs is module
@
text
@# Makefile for the Linux 2.6 unionfs

# this should point to where your kernel headers are
KVERS?=$(shell uname -r)
MODDIR= /lib/modules/$(KVERS)
LINUXSRC = /lib/modules/$(KVERS)/build
TOPINC   = -I${LINUXSRC}/include
# This is where the make install target will put stuff
PREFIX   = /usr/local
MANDIR   = ${PREFIX}/man
MODPREFIX=
VERSION  = 1.5pre
SUP_MAJOR= 2
SUP_MINOR= 6
SUP_PATCH= 19
SUP_EXTRA=
TAROPTS = czvf
COMPEXT = .gz
UNIONFS_DEBUG_CFLAG = -g
UNIONFS_OPT_CFLAG= -O2
UNIONFS_VERSION_CFLAG=-DUNIONFS_VERSION=\"${VERSION}\" -DSUP_MAJOR=${SUP_MAJOR} -DSUP_MINOR=${SUP_MINOR} -DSUP_PATCH=${SUP_PATCH}

# allow custmom override of TOPINC for fistgen developers
# These options enable extended attribute support
#  EXTRACFLAGS=-DUNIONFS_XATTR
# Some kernels also require FIST_SETXATTR_CONSTVOID
#  EXTRACFLAGS=-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID
ifneq ($(FISTDEVMK),)
-include $(FISTDEVMK)
else
-include fistdev.mk
endif

CC	= gcc
KERNELVERSION=$(shell echo $(KVERS) | cut -d. -f1,2)
EXTRA_CFLAGS += ${TOPINC} -Wall -Werror ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} ${UNIONFS_VERSION_CFLAG}
UCFLAGS = -I. ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} -Wall -Werror ${EXTRAUCFLAGS}  ${UNIONFS_VERSION_CFLAG}

obj-m := unionfs.o
unionfs-y := subr.o dentry.o file.o inode.o main.o super.o \
	stale_inode.o branchman.o xattr.o rdstate.o copyup.o  \
	dirhelper.o rename.o unlink.o lookup.o persistent_inode.o \
	commonfops.o dirfops.o print.o malloc_debug.o mmap.o sioq.o
ifneq ($(CONFIG_EXPORTFS),)
unionfs-y += export.o
endif

all:	readthereadme unionfs.ko utils

readthereadme:
	@@echo "******************************************************************************"
	@@echo "If you have questions about or problems building Unionfs, please read INSTALL."
	@@echo "******************************************************************************"
	@@echo ""

unionfs.ko: FRC
	make -C ${LINUXSRC} SUBDIRS=$(PWD) FISTDEVMK=$(PWD)/fistdev.mk modules

FRC:

${obj-m}: ${unionfs-objs}
	${LD} -o ${obj-m} -r ${unionfs-objs}

memtest:
	perl match-malloc.pl log.txt

TAGS: $(wildcard *.[ch])
	etags -t $^

tags: $(wildcard *.[ch])
	ctags $^

clean:
	-make -C ${LINUXSRC} SUBDIRS=$(PWD) FISTDEVMK=$(PWD)/fistdev.mk clean
	rm -f ${unionfs-objs} ${obj-m} ${obj-m:.o=.ko} *.d .*.flags \#* *~
	rm -f TAGS tags
	rm -f unionfs-${VERSION}.tar${COMPEXT}
	make -C utils clean

kvers:
	@@echo "This Unionfs release supports only Linux kernel version:"
	@@echo "${SUP_MAJOR}.${SUP_MINOR}.${SUP_PATCH}${SUP_EXTRA}"

sparse:
	sparse $(patsubst, %.o, %.c, $(unionfs-objs)) ${EXTRA_CFLAGS} -D__KERNEL__

${unionfs-objs}: unionfs.h

utils: FRC
	make -C utils all CC=${CC} UCFLAGS='-I.. ${UCFLAGS}'

install-utils: utils
	make -C utils install PREFIX=${PREFIX}
	mkdir -p ${MANDIR}/man4
	mkdir -p ${MANDIR}/man8
	cp man/unionfs.4 ${MANDIR}/man4
	cp man/unionctl.8 ${MANDIR}/man8
	cp man/uniondbg.8 ${MANDIR}/man8
	cp man/unionimap.8 ${MANDIR}/man8

install-mod: unionfs.ko
	mkdir -p ${MODPREFIX}/${MODDIR}/kernel/fs/unionfs
	cp unionfs.ko ${MODPREFIX}/${MODDIR}/kernel/fs/unionfs
	-/sbin/depmod -a

install: install-utils install-mod

uninstall:
	rm ${MODPREFIX}/${MODDIR}/kernel/fs/unionfs.ko
	-/sbin/depmod -a
	rm /usr/include/unionfs.h
	rm ${MANDIR}/man8/unionimap.8
	rm ${MANDIR}/man8/unionctl.8
	rm ${MANDIR}/man8/uniondbg.8
	rm ${MANDIR}/man4/unionfs.4
	make -C utils uninstall PREFIX=${PREFIX}

release: unionfs-${VERSION}.tar${COMPEXT}

kernel-source-unionfs-${VERSION}.tar${COMPEXT}:
	mkdir kernel-source-unionfs-${VERSION}
	cp -a Makefile *.h *.c kernel-source-unionfs-${VERSION}
	subst "s/\(^all.*\)\(\${BINS}\)/\1/" kernel-source-unionfs-${VERSION}/Makefile
	tar ${TAROPTS} kernel-source-unionfs-${VERSION}.tar${COMPEXT} kernel-source-unionfs-${VERSION}

unionfs-${VERSION}.tar${COMPEXT}:
	mkdir unionfs-${VERSION}
	cp patch-kernel.sh Makefile.kernel COPYING AUTHORS README INSTALL NEWS BUGS ChangeLog doit.sh undoit.sh Makefile *.[ch] misc/snapmerge misc/match-*.pl unionfs-${VERSION}
	cp -r rpm debian unionfs-${VERSION}
	rm -rf unionfs-${VERSION}/rpm/CVS
	rm -rf unionfs-${VERSION}/debian/CVS
	mkdir unionfs-${VERSION}/regression
	mkdir unionfs-${VERSION}/regression/progs
	mkdir unionfs-${VERSION}/utils
	cp regression/Makefile regression/*.sh regression/ChangeLog regression/scaffold regression/README unionfs-${VERSION}/regression
	cp regression/progs/Makefile regression/progs/*.[ch] unionfs-${VERSION}/regression/progs
	cp utils/Makefile utils/*.[ch] unionfs-${VERSION}/utils
	mkdir unionfs-${VERSION}/man
	cp man/*.[0-9] unionfs-${VERSION}/man
	tar ${TAROPTS} unionfs-${VERSION}.tar${COMPEXT} unionfs-${VERSION}
	rm -rf unionfs-${VERSION}
@


1.123
log
@compile with 2.6.19
@
text
@d44 3
a46 1
unionfs-$(CONFIG_EXPORTFS) += export.o
@


1.122
log
@* Makefile, Makefile.kernel: Up the version to 1.5pre
@
text
@d40 1
a40 1
unionfs-objs := subr.o dentry.o file.o inode.o main.o super.o \
d44 1
@


1.121
log
@* Makefile, Makefile.kernel, NEWS: Unionfs 1.4
@
text
@d12 1
a12 1
VERSION  = 1.4
d15 1
a15 1
SUP_PATCH= 18
@


1.120
log
@* ALL: Junjiro's sioq code with some (not so minor) modifications
@
text
@d12 1
a12 1
VERSION  = 1.4pre
@


1.119
log
@* Makefile: Cleanedup install and uninstall targets.


* copyup.c (copyup_xattrs): removed LSM hooks in function. They are not
needed since the only time we access xattrs are with the vfs_*xattr
functions which already have the checks. In addition replaced makeshift
setxattr code with appropriate vfs_setxattr call.
@
text
@d43 1
a43 1
	commonfops.o dirfops.o print.o malloc_debug.o mmap.o
@


1.119.2.1
log
@* Makefile, copyup.c, dirfops.c, main.c, super.c, unionfs.h,
persistent_inode.c, unionfs_imap.h: (lkml cleanup branch) killed
imap
@
text
@d42 1
a42 1
	dirhelper.o rename.o unlink.o lookup.o \
d96 1
d109 1
@


1.119.2.2
log
@* Makefile, copyup.c, file.c, inode.c, main.c, super.c, mmap.c:
(lkml cleanup branch) killed mmap
@
text
@d43 1
a43 1
	commonfops.o dirfops.o print.o malloc_debug.o
@


1.119.2.3
log
@* ALL: (lkml cleanup branch) killed malloc debug
@
text
@d43 1
a43 1
	commonfops.o dirfops.o print.o
d45 1
a45 1
all:	readthereadme unionfs.ko
d75 1
d86 11
d102 1
a102 1
install: install-mod
d111 1
d129 1
d132 1
@


1.119.2.4
log
@* Everything: Removed all debug code and references
to debug in parsing and in the regession suite.
@
text
@d43 1
a43 1
	commonfops.o dirfops.o
@


1.119.2.5
log
@* AUTHORS, BUGS, COPYING, INSTALL, Makefile, Lindent, Makefile.kernel,
NEWS, README, announce-email.txt, commit, doit.sh, patch-kernel.sh,
undoit.sh: (lkml branch) Removed some unneeded files - trying to make
it compile as a part of the kernel tree..
@
text
@@


1.119.2.6
log
@* Makefile, copyup.c, inode.c, unionfs.h, xattr.c: (lkml branch)
removed xattr related code

* Makefile, .cvsignore: (lkml branch) Accidentally removed the
makefile in the previous commit, another addition to the ignore file
@
text
@d1 1
a1 1
UNIONFS_VERSION  = 1.4pre
d3 19
a21 1
EXTRA_CFLAGS+=-DUNIONFS_VERSION=\"${UNIONFS_VERSION}\"
d23 10
a32 2
# This will enable full debugging support
# EXTRA_CFLAGS+=-DUNIONFS_DEBUG
d34 4
a37 1
obj-$(CONFIG_UNION_FS) += unionfs.o
d39 1
d41 81
a121 2
	stale_inode.o branchman.o rdstate.o copyup.o dirhelper.o \
	rename.o unlink.o lookup.o commonfops.o dirfops.o
@


1.119.2.7
log
@* Makefile, cred.c, dirhelper.c, lookup.c, subr.c, unionfs.h: (lkml
branch) Renamed superio, and small Makefile cleanup (version number is
now in unionfs.h)
@
text
@d1 7
d12 1
a12 1
	rename.o unlink.o lookup.o commonfops.o dirfops.o cred.o
@


1.119.2.8
log
@* cred.c, sioq.c: (lkml branch) Renamed a file
@
text
@d5 1
a5 1
	rename.o unlink.o lookup.o commonfops.o dirfops.o sioq.o
@


1.118
log
@* Makefile, Makefile.kernel, commonfops.c, main.c, super.c,
unionfs.h: Updated to make 2.6.18-rc happy.
@
text
@d108 2
@


1.117
log
@* Makefile, Makefile.kernel: Unionfs 1.3, supports 2.6.17 only

* NEWS: Unionfs 1.3, copied over 1.1.5 release news
@
text
@d12 1
a12 1
VERSION  = 1.3
d15 1
a15 1
SUP_PATCH= 17
@


1.117.2.1
log
@* Makefile: Cleanedup install and uninstall targets.
@
text
@a92 1
	cp unionfs.h /usr/include
d106 1
a106 1
	rm ${MODPREFIX}/${MODDIR}/kernel/fs/unionfs/unionfs.ko
a107 2
	rm /usr/include/unionfs.h
	rm ${MANDIR}/man8/unionimap.8
@


1.116
log
@* Makefile, utils/Makefile, rpm/unionfs.spec: Updated RPM specfile,
fixed up Makefiles
@
text
@d12 1
a12 1
VERSION  = 1.3pre
@


1.115
log
@* Makefile: Up the version number

* README, NEWS: Sync with the 1.2 branch

* Makefile, Makefile.kernel, unionfs.h: Define supported version in
the Makefile; added kvers make target to display the supported
kernel version

* docs/OO-INDEX, docs/versions.txt: Document describing the new
versioning scheme
@
text
@d4 1
a4 1
KVERS=$(shell uname -r)
@


1.114
log
@* Makefile: fixed tarball target
@
text
@d12 5
a16 1
VERSION  = 1.2.0pre
d21 1
a21 1
UNIONFS_VERSION_CFLAG=-DUNIONFS_VERSION=\"${VERSION}\"
d76 4
@


1.114.2.1
log
@* Makefile, NEWS, README: Version 1.2

* README: Formating fixes

* Makefile, unionfs.h: Define supported version in the Makefile;
added kvers make target to display the supported kernel version

* docs/00-INDEX, docs/versions.txt: Document describing new
versioning scheme
@
text
@d12 1
a12 5
VERSION  = 1.2
SUP_MAJOR= 2
SUP_MINOR= 6
SUP_PATCH= 16
SUP_EXTRA=
d17 1
a17 1
UNIONFS_VERSION_CFLAG=-DUNIONFS_VERSION=\"${VERSION}\" -DSUP_MAJOR=${SUP_MAJOR} -DSUP_MINOR=${SUP_MINOR} -DSUP_PATCH=${SUP_PATCH}
a71 4

kvers:
	@@echo "This Unionfs release supports only Linux kernel version:"
	@@echo "${SUP_MAJOR}.${SUP_MINOR}.${SUP_PATCH}${SUP_EXTRA}"
@


1.113
log
@* utils/Makefile: Removed some variable declarations
* Makefile: Passed variables down to lower file
@
text
@d115 1
a115 1
	cp patch-kernel.sh Makefile.kernel COPYING AUTHORS README INSTALL NEWS BUGS ChangeLog doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
d121 1
d124 1
@


1.113.2.1
log
@* Makefile, branchman.c, lookup.c, main.c, unionfs.h,
docs/new_locking.txt: (Experimental branch) begining of
branchman/locking rewrite
@
text
@d32 2
a33 2
EXTRA_CFLAGS += ${TOPINC} -Wall ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} ${UNIONFS_VERSION_CFLAG}
UCFLAGS = -I. ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} -Wall ${EXTRAUCFLAGS}  ${UNIONFS_VERSION_CFLAG}
@


1.113.2.2
log
@* unionfs.h: More cleanup

* unionfs_branchman.h: Branchman related code; to be merged into
unionfs.h

* docs/new_locking.txt: Stucture conversion progress

* commonfops.c, copyup.c, dentry.c, dirfops.c, dirhelper.c, file.c,
inode.c, lookup.c, main.c, malloc_debug.c, mmap.c,
persistent_inode.c, print.c, rdstate.c, rename.c, stale_inode.c,
subr.c, super.c, unionfs_branchman.h, unionfs_debug.h, unionfs.h,
unionfs_imap.h, unionfs_macros.h, unlink.c, xattr.c: Update to use
new structure layout

* utils/unionctl.c: Fixed parse_options -> __parse_options

* utils/.cvsignore: Ignore cscope.out and vim swap files
@
text
@d37 3
a39 3
	stale_inode.o xattr.o rdstate.o copyup.o dirhelper.o \
	rename.o unlink.o lookup.o persistent_inode.o \
	commonfops.o dirfops.o print.o malloc_debug.o branchman.o
@


1.113.2.3
log
@* Makefile, branchman.c, commonfops.c, copyup.c, dentry.c,
* dirhelper.c, super.c, unionfs.h, unionfs_branchman.h: Misc. fixups
and cleanups - incgen works flawlessly
@
text
@a65 5
cscope: cscope.out

cscope.out: $(wildcard *.[ch])
	cscope -b -R

@


1.112
log
@* utils/: Moved all user mode programs into this directory
* usils/Makefile: New Makefile for this directory
* Makefile: Changed file to call utils/Makefile for user mode program
related operations.
@
text
@d69 1
a69 1
	rm -f ${BINS} TAGS tags
d71 1
d78 2
a79 2
.PHONY utils: FRC
	make -C utils all
d82 1
a82 1
	make -C utils install
d103 1
a103 1
	make -C utils uninstall
@


1.111
log
@* file.c (__unionfs_read, __unionfs_write): code that was removed
by Shaya's patch which we fall back on if the person chooses not to
compile with UNIONFS_MMAP
* copyup.c, file.c, inode.c, main.c, super.c: Ifdefed around Shaya's
code and extracted some code to support not using UNIONFS_MMAP
* Makefile: added mmap.c
* INSTALL: added comment for UNIONFS_MMAP
* Note this code hasn't been fully tested yet and is considered highly
experimental.


* copyup.c, file.c, inode.c, main.c, super.c: Implemented true mmap
@
text
@d41 1
a41 3
BINS	:=	unionctl uniondbg unionimap

all:	readthereadme unionfs.ko ${BINS}
a56 9
unionctl: unionctl.c usercommon.c
	${CC} -o $@@ $^ ${UCFLAGS}

uniondbg: uniondbg.c
	${CC} -o $@@ $^ ${UCFLAGS}

unionimap: unionimap.c usercommon.c
	${CC} -o $@@ $^ -luuid ${UCFLAGS}

d77 2
a78 1
PHONY. utils: ${BINS}
d81 1
a81 4
	mkdir -p ${PREFIX}/sbin
	cp unionctl ${PREFIX}/sbin
	cp uniondbg ${PREFIX}/sbin
	cp unionimap ${PREFIX}/sbin
d102 1
a102 2
	rm ${PREFIX}/sbin/unionctl
	rm ${PREFIX}/sbin/uniondbg
@


1.111.2.1
log
@* super.c: Beginings of remount
@
text
@d32 2
a33 2
EXTRA_CFLAGS += ${TOPINC} -Wall ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} ${UNIONFS_VERSION_CFLAG}
UCFLAGS = -I. ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} -Wall ${EXTRAUCFLAGS}  ${UNIONFS_VERSION_CFLAG}
@


1.110
log
@* Makefile: Install the unionimap man page along with all the other
man pages

* inode.c (unionfs_permission): Fixed unionfs_permission on reiserfs
and xfs
@
text
@d39 1
a39 1
	commonfops.o dirfops.o print.o malloc_debug.o
@


1.109
log
@* Makefile: Increment version number require 2.6.16.
@
text
@d100 1
@


1.108
log
@* Makefile: Increment version number.
* INSTALL, NEWS: Add new define options.
@
text
@d12 1
a12 1
VERSION  = 1.1.3
@


1.108.2.1
log
@* NEWS, Makefile, Makefile.kernel: Version 1.1.4

* unionfs.h: Modified kernel version check to allow <= 2.6.15 and
>= 2.6.9
@
text
@d12 1
a12 1
VERSION  = 1.1.4
@


1.108.2.2
log
@* regression/rename-501.sh: (Backport) test for Bug #501
* rename.c (do_rename, unionfs_rename_whiteout, __rename_all,
  __rename_all_revert, __rename_all_clobber, unionfs_rename_all):
  create the whiteout for rename_src under the old parent dir.
* subr.c (create_whiteout_parent): remove create_whiteout_parent()
  temporary.
@
text
@d12 1
a12 1
VERSION  = 1.1.5pre
@


1.108.2.3
log
@* NEWS, Makefile, Makefile.kernel: Version 1.1.5
@
text
@d12 1
a12 1
VERSION  = 1.1.5
@


1.107
log
@* debug_malloc.c: Moved all malloc debugging functions to this file.

* Makefile: added debug_malloc.o to object list.

* persistent_inode.c (remove_map): removed a decrement that wasent
needed.
@
text
@d12 1
a12 1
VERSION  = 1.1.3pre
@


1.106
log
@* Makefile, Makefile.kernel: Incremented version
@
text
@d39 1
a39 1
	commonfops.o dirfops.o print.o
@


1.105
log
@* NEWS, Makefile, Makefile.kernel: Version 1.1.2
@
text
@d12 1
a12 1
VERSION  = 1.1.2
@


1.104
log
@* fist.h: Code moved to unionfs.h, unionfs_macros.h, and
unionfs_debugmacros.h

* ALL, misc/*.c: Removed all references to fist.h
@
text
@d12 1
a12 1
VERSION  = 1.1.2pre
@


1.103
log
@* copyup.c (copyup_permissions): Properly copyup atime, mtime, and
ctime.
@
text
@d86 1
a86 1
${unionfs-objs}: unionfs.h fist.h
@


1.102
log
@* print.c: Remove unused function.

* Makefile: Don't duplicate source list.
@
text
@d72 1
a72 1
	etags -t $@@
d75 1
a75 1
	ctags $@@
@


1.101
log
@* global : Changes made for "sparse"
@
text
@d83 2
a84 7
unionfs-kernelsrc := subr.c dentry.c file.c inode.c main.c super.c \
	stale_inode.c branchman.c xattr.c rdstate.c copyup.c  \
	dirhelper.c rename.c unlink.c lookup.c persistent_inode.c \
	commonfops.c dirfops.c print.c

sparse : ${unionfs-usersrc}
	sparse ${unionfs-kernelsrc} ${EXTRA_CFLAGS} -D__KERNEL__
@


1.100
log
@* Makefile: use /lib/modules/`uname -r`/kernel/fs/unionfs/unionfs.ko
to be consistent with other file systems.
@
text
@d83 7
@


1.99
log
@* Use WHPFX and WHLEN instead of ".wh." and 4.
@
text
@d100 2
a101 2
	mkdir -p ${MODPREFIX}/${MODDIR}/kernel/fs
	cp unionfs.ko ${MODPREFIX}/${MODDIR}/kernel/fs
@


1.98
log
@* Makefile: Increment version to 1.1.2pre.
* regression/readdir.sh: readdir regression script.
It doesn't reproduce the bug for us, but extra tests can't hurt.
@
text
@d72 1
a72 1
	etags -t *.[hc]
d75 1
a75 1
	ctags *.[ch]
@


1.97
log
@* dirfops.c (unionfs_readdir): Properly update uds_dirpos,
which fixes directory reading operations.
@
text
@d12 1
a12 1
VERSION  = 1.1.1
@


1.96
log
@* inode.c (inode_permission): If NFS_SECURITY_HOLE is defined
treat -EACCESS as if we should fall back on inode_permission.
@
text
@d1 1
a1 3
#
# Makefile for the Linux 2.4 unionfs
#
d12 1
a12 1
VERSION  = 1.1.1pre
@


1.95
log
@*** empty log message ***
@
text
@d68 1
a68 1
	${CC} -o $@@ -luuid $^ ${UCFLAGS}
d127 1
a127 1
	cp patch-kernel.sh Makefile.kernel COPYING AUTHORS README INSTALL NEWS ChangeLog doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.94
log
@* commonfops.c (unionfs_file_revalidate): Properly update
generation when we combine copyup and reopening.
* Makefile: Remove some 2.4 cruft.
@
text
@d14 1
a14 1
VERSION  = 1.1.0pre
@


1.93
log
@* Makefile: remove 'tags' target dependency from 'all'
@
text
@a33 3
ifeq ($(KERNELVERSION),2.4)
CFLAGS = -D__KERNEL__ -DMODULE -I. ${TOPINC} -Wall -Wno-unused-label -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} ${UNIONFS_VERSION_CFLAG}
endif
a41 3
ifeq ($(KERNELVERSION),2.4)
unionfs-objs += compat24.o
endif
d45 1
a45 1
all:	readthereadme unionfs$(KERNELVERSION) ${BINS}
d53 1
a53 1
unionfs2.6:
d56 1
a56 1
unionfs2.4: ${obj-m}
a79 1
ifeq ($(KERNELVERSION),2.6)
a80 1
endif
d101 1
a101 1
install-mod: unionfs$(KERNELVERSION)
d103 1
a103 1
	if [ -f unionfs.ko ] ; then cp unionfs.ko ${MODPREFIX}/${MODDIR}/kernel/fs ; else cp unionfs.o ${MODPREFIX}/${MODDIR}/kernel/fs ; fi
d109 1
a109 1
	if [ -f unionfs.ko ] ; then rm ${MODPREFIX}/${MODDIR}/kernel/fs/unionfs.ko ; else rm ${MODPREFIX}/${MODDIR}/kernel/fs/unionfs.o ; fi
@


1.92
log
@* Makefile: forgot to remove locks.c from source list
@
text
@d51 1
a51 1
all:	readthereadme tags unionfs$(KERNELVERSION) ${BINS}
@


1.91
log
@* Makefile: Use ${LD} instead of ld, for cross compilation.
@
text
@d41 1
a41 1
unionfs-objs := subr.o dentry.o locks.o file.o inode.o main.o super.o \
@


1.90
log
@* Makefile: Updated to 1.1.0pre
* Makefile.kernel: Updated to 1.1.0pre
@
text
@d65 1
a65 1
	ld -o ${obj-m} -r ${unionfs-objs}
@


1.89
log
@* NEWS: Updated for release.
* Makefile: updated for release.
* Makefile.kernel: updated for release
@
text
@d14 1
a14 1
VERSION  = 1.0.14
@


1.88
log
@* Makefile: Update release target for new directory structure.
@
text
@d14 1
a14 1
VERSION  = 1.0.14pre
@


1.87
log
@* Passes regression tests.
@
text
@d141 2
a142 2
	cp ../regression/Makefile ../regression/*.sh ../regression/ChangeLog ../regression/scaffold ../regression/README unionfs-${VERSION}/regression
	cp ../regression/progs/Makefile ../regression/progs/*.[ch] unionfs-${VERSION}/regression/progs
@


1.86
log
@* Dentries need locking, and there isn't much way around it.This
snapshot adds some untested locking, and you won't want to use it
yet.  The basic principles are:
	1. As soon as a VFS operation that touches a dentry is entered,
	the dentry should be locked.
	2. The lock ordering is:
		Children before parents
		Two children are tie broken with their address
There are several functions not done yet, most notably create_parents,
because it is going to require more thought (we walk up the parent
list and then back down it).  This in part is why children need to go
before parents (also revalidate walks up the parent list).
@
text
@a54 5
	@@echo "This build is highly experimental, you probably do not want to use it!"
	@@echo "You might want to try unionfs-20050825-1736.tar.gz instead."
	@@echo "******************************************************************************"
	@@echo 
	@@echo "******************************************************************************"
@


1.85
log
@* Some AMD64 fixes.
* vprintk wrapper for 2.4.
@
text
@d55 5
d84 1
a84 1
TAGS:
d87 1
a87 1
tags:
@


1.84
log
@* unionfs.h (putmap): We need to keep track of the mapping between
branch numbers for older generation numbers and the current
generation so that we can properly branchput.
* branchman.c: Add functions to manipulate putmaps.
* commonfops.c: Use putmaps for revalidation and close.
@
text
@d45 3
@


1.83
log
@* Makefile: Update version number to 1.0.14pre.
@
text
@d48 1
a48 1
all:	readthereadme unionfs$(KERNELVERSION) ${BINS}
@


1.82
log
@* Makefile: Update version to 1.0.13.
* Makefile: Include new regression tests in distribution.
* man/unionimap.8: An empty placeholder man page.
@
text
@d14 1
a14 1
VERSION  = 1.0.13
@


1.81
log
@* unionctl.c: Check if we are trying to remove a branch while
this process is causing it to be busy and print an appropriate
error message.

* man/unionctl.8: Minor edits.
@
text
@d14 1
a14 1
VERSION  = 1.0.13pre
d137 3
a139 1
	cp ../regression/*.sh ../regression/ChangeLog ../regression/scaffold ../regression/README unionfs-${VERSION}/regression
@


1.80
log
@* Makefile: added usercommon.c into the make targets
* usercommon.c: Moves find_union to here and fixed it up
* unionimap.c: uses mkfsid now if fsid comes back as 0
* unionimap.h: added extern for mkfsid
* persistent_inode.c: fixed some bugs
* unionctl.c: removed find_union from here and updated calls to it.
@
text
@d65 1
a65 1
	${CC} -o $@@ $? ${UCFLAGS}
d68 1
a68 1
	${CC} -o $@@ $? ${UCFLAGS}
d71 1
a71 1
	${CC} -o $@@ -luuid $? ${UCFLAGS}
@


1.79
log
@* Makefile: Include Makefile.kernel.
@
text
@d64 1
a64 1
unionctl: unionctl.c
d70 1
a70 1
unionimap: unionimap.c
@


1.78
log
@* Makefile: Fix the Makefile so that it won't recompile every
object every time.
@
text
@d132 1
a132 1
	cp patch-kernel.sh COPYING AUTHORS README INSTALL NEWS ChangeLog doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.77
log
@* unionimap.c : wrote some more code not tested yet
* unionimap.h : added a struct that is needed.
* Makefile: Cleanedup a conflict.
@
text
@d19 1
a19 1
UNIONFS_VERSION_CFLAG= '-DUNIONFS_VERSION="'${VERSION}'"'
d37 1
a37 1
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -I. ${TOPINC} -Wall -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} ${UNIONFS_VERSION_CFLAG}
@


1.76
log
@* fist.h,print.c,unionfs.h: Change NODEBUG to UNIONFS_NDEBUG to be
more inline with the rest of the kernel.
* print.c: Wrap in UNIONFS_NDEBUG, so there is no need for a separate
flag to not compile it.
@
text
@d46 1
a46 1
BINS	:=	unionctl uniondbg #unionimap
d99 1
@


1.75
log
@* unionctl.c: Add Unionfs version to help message
	(not just unionctl version).
* unionimap.c: Add version to help message.
@
text
@d44 1
a44 4
	commonfops.o dirfops.o
ifneq ($(DEBUG),0)
unionfs-objs += print.o
endif
@


1.74
log
@* unionimap.c: Beginning of a user mode program to create inode map files.
* unionimap.h: Header for program.
@
text
@d73 2
a74 2
#unionimap: unionimap.c
#	${CC} -o $@@ $? ${UCFLAGS}
@


1.73
log
@* Makefile: Define UNIONFS_VERSION to be the current version.
* main.c: Print the version of Unionfs, not main.c.
@
text
@d49 1
a49 1
BINS	:=	unionctl uniondbg
d72 3
@


1.72
log
@* inode.c(unionfs_follow_link): Return 0 not the number of bytes
in follow_link.

* Reduce Unionfs module size when NODEBUG is set by not compiling
print.c, and using a different set of macros that don't require
__FILE__, __FUNCTION__, and __LINE__, and don't do as much checking
because we've aleady turned ASSERT off.

* Support for inline objects, so that we don't need more
than one allocation for inodes and only two for dentries (the dentry
itself and its private data).

* Separate directory file operations from normal file operations.
@
text
@d19 1
d35 1
a35 1
CFLAGS = -D__KERNEL__ -DMODULE -I. ${TOPINC} -Wall -Wno-unused-label -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG}
d37 2
a38 2
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -I. ${TOPINC} -Wall -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG}
UCFLAGS = -I. ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} -Wall -Werror ${EXTRAUCFLAGS}
@


1.71
log
@* Makefile: Increment version number.
@
text
@d40 1
a40 1
unionfs-objs := subr.o dentry.o locks.o file.o inode.o main.o super.o print.o \
d42 5
a46 1
	dirhelper.o rename.o unlink.o lookup.o persistent_inode.o
@


1.70
log
@* Makefile: Release 1.0.12
@
text
@d14 1
a14 1
VERSION  = 1.0.12
@


1.69
log
@* Makefile : fixed spelling mistake
* persistent_inode.c : fixed typo for compilation
@
text
@d14 1
a14 1
VERSION  = 1.0.11
@


1.68
log
@* persistant_inode.c : Functions needed to establish and maintain
a persistant inode scheme for unionfs.
* main.c : modified parse options for persistant inodes. Not done yet
@
text
@d42 1
a42 1
	dirhelper.o rename.o unlink.o lookup.o persistant_inode.o
@


1.67
log
@* lookup.c (unionfs_lookup_backend): When a whiteout is encountered,
set opauqeness as we do with opaque directories, to prevent partial
lookup from seeing past the whiteout.

* lookup.c: Separate file for lookup code.
* subr.c: Move unionfs_partial_lookup to lookup.c.
* inode.c: Move unionfs_lookup to lookup.c:

* rename.c: Don't print lower-level dentries using a Unionfs
specific function.

* print.c: Divide fist_print_dentry into one function for Unionfs
specific dentries, and then a generic function.  Also ASSERT that
we are really printing a Unionfs dentry (so we don't dereference
bad private data).
@
text
@d42 1
a42 1
	dirhelper.o rename.o unlink.o lookup.o
@


1.66
log
@* subr.c (unionfs_partial_lookup) ,unionfs.h
(unionfs_dentry_info), inode.c(unionfs_lookup):
Correctly mark a directory as opaque and respect that
during partial lookups.
@
text
@d42 1
a42 1
	dirhelper.o rename.o unlink.o
@


1.65
log
@* inode.c: Experimental support for opaque directories,
not all of the loose ends are tied up, so this snapshot
will have some associated oddities.

* xattr.c: Use EOPNOTSUPP, not ENOTSUPP.

* Makefile, unionfs.h: Separation of rename/unlink code.
* rename.c: Separate rename code from inode.c
* unlink.c: Separate unlink code from inode.c
@
text
@a49 5
	@@echo "This snapshot is highly experimental, you should use a previous snapshot"
	@@echo "unless you want to experiment with opaque directories."
	@@echo "******************************************************************************"
	@@echo ""
	@@echo "******************************************************************************"
@


1.64
log
@* file.c, locks.c: Use #ifdef for 64-bit locking
commands, which are not defined on amd64.
@
text
@d42 1
a42 1
	dirhelper.o
d49 5
@


1.63
log
@* patch-kernel.sh : Script written to move unionfs into the kernel
source tree. The original script was submitted by Sven Geggus however
the script was cleaned up and modified for various reasons. Check the
file for more details.
* Makefile: PHONY added to the utils target to aid in building them
for the kernel.
* INSTALL: Directions added for building unionfs into a monolithic kernel.
@
text
@d103 1
d109 1
@


1.62
log
@* INSTALL: removed the warning about NFS exports
* Makefile: Increases release number.
* NEWS: Added release news for 1.0.11
* unionfs.h: added a function rdstate2offset
* file.c: redid llseek and readdir implementation
* rdstate: redid find_rdstate
@
text
@d88 1
a88 1
utils: ${BINS}
d124 1
a124 1
	cp COPYING AUTHORS README INSTALL NEWS ChangeLog doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.61
log
@* Makefile: fix clean target
@
text
@d14 1
a14 1
VERSION  = 1.0.10
@


1.60
log
@* file.c (unionfs_lock): function is completely rewritten to actually
work.
* locks.c (unionfs_setlk,unionfs_getlk): locks.c was added to house
locking functions so file.c doesent get overcrowded. unionfs_setlk
and unionfs_getlk were added and placed in this file with some
helper functions for 2.6
@
text
@d79 1
a79 1
	-make -C ${LINUXSRC} SUBDIRS=$(PWD) FISTDEVMK=$(PWD)/fistdev.mk modules
@


1.59
log
@* Makefile: Use MODDIR instead of /lib/modules/`uname -r`

* man/*: Fix man page sections
* Makefile: Add separate modules target, remove excessive uname -r's
so that kernel version can be overridden.
@
text
@d40 1
a40 1
unionfs-objs := subr.o dentry.o file.o inode.o main.o super.o print.o \
@


1.58
log
@* Makefile: Can now build utilities without building kernel module.
@
text
@d6 3
a8 1
LINUXSRC = /lib/modules/`uname -r`/build
d32 1
a32 1
KERNELVERSION=$(shell uname -r | cut -d. -f1,2)
d78 3
d85 1
d100 5
a104 2
install: all install-utils
	if [ -f unionfs.ko ] ; then cp unionfs.ko ${MODPREFIX}/lib/modules/`uname -r`/kernel/fs ; else cp unionfs.o ${MODPREFIX}/lib/modules/`uname -r`/kernel/fs ; fi
d107 1
a107 1
	if [ -f unionfs.ko ] ; then rm /lib/modules/`uname -r`/kernel/fs/unionfs.ko ; else rm /lib/modules/`uname -r`/kernel/fs/unionfs.o ; fi
@


1.57
log
@* RPM spec file included in release.  Remove CVS directory from
debian directory in release.

* Add fsid= to interactions, with pointer to exports(5).
@
text
@d10 1
d14 1
d32 1
a32 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG}
d34 2
a35 2
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG}
UCFLAGS = -DFISTGEN -I. ${TOPINC} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} -Wall -Werror ${EXTRAUCFLAGS}
d44 1
a44 1
all:	readthereadme unionfs$(KERNELVERSION)
d52 1
a52 1
unionfs2.6: ${BINS}
d55 1
a55 1
unionfs2.4: ${obj-m} ${BINS}
d78 1
a78 1
	rm -f unionfs-${VERSION}.tar.gz
d82 3
a84 1
install: all
d88 7
a94 5
	mkdir -p ${PREFIX}/man/man4
	mkdir -p ${PREFIX}/man/man8
	cp man/unionfs.4 ${PREFIX}/man/man4
	cp man/unionctl.8 ${PREFIX}/man/man8
	cp man/uniondbg.8 ${PREFIX}/man/man8
d99 3
a101 3
	rm ${PREFIX}/man/man8/unionctl.8
	rm ${PREFIX}/man/man8/uniondbg.8
	rm ${PREFIX}/man/man4/unionfs.4
d105 7
a111 1
release: unionfs-${VERSION}.tar.gz
d113 1
a113 1
unionfs-${VERSION}.tar.gz:
d123 1
a123 1
	tar ${TAROPTS} unionfs-${VERSION}.tar.gz unionfs-${VERSION}
@


1.56
log
@* main.c (unionfs_interpose): Reorganize if statement.

* rdstate.c (add_filldir_node,find_filldir_node): Don't print the
names in debug mode because they aren't '0' terminated.
@
text
@d104 3
a106 1
	cp -r debian unionfs-${VERSION}
@


1.55
log
@minor NEWS updates. pesky trailing whitespace nuked
@
text
@d11 1
a11 1
VERSION  = 1.0.9
@


1.54
log
@* Makefile: Allow module prefixes to be specified for
RPM_BUILD_ROOT
* rpm/unionfs.spec: Compiled, tested, and installed.
@
text
@d30 1
a30 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror -fno-strict-aliasing ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} 
@


1.53
log
@

Added an initial version of an rpmspec file. Unfortunatly Im still unclear how
to build rpms so it will have to be tested later.
@
text
@d10 2
a11 1
VERSION  = 1.0.8
d89 1
a89 1
	if [ -f unionfs.ko ] ; then cp unionfs.ko /lib/modules/`uname -r`/kernel/fs ; else cp unionfs.o /lib/modules/`uname -r`/kernel/fs ; fi
@


1.52
log
@* dirhelper.c : fixed 2.6 compilation. call to vfs_creat missing last param in 2.6

* Makefile : namei.c is no longer needed so it was removed from the make file.
@
text
@d90 7
@


1.51
log
@*** empty log message ***
@
text
@d36 1
a36 1
	stale_inode.o branchman.o namei.o xattr.o rdstate.o copyup.o  \
@


1.50
log
@* subr.c, dirhelper.c: Move mkdir/rmdir helpers into separate
file.
@
text
@d29 1
a29 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG} 
d31 1
a31 1
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Werror ${EXTRACFLAGS} ${UNIONFS_DEBUG_CFLAG} ${UNIONFS_OPT_CFLAG}
@


1.49
log
@* INSTALL: Add more CFLAGS options to make things smaller.
@
text
@d36 2
a37 1
	stale_inode.o branchman.o namei.o xattr.o rdstate.o copyup.o 
@


1.48
log
@* unionfs.h, file.c, rdstate.c: Change DIREOF from -1 to 2^31-1 to
fix readdir.

* unionctl.c: Don't strip trailing slash for "/" when searching for
the Union.

* Makefile: Include INSTALL.
@
text
@d10 1
a10 1
VERSION  = 1.0.7
d12 2
d29 1
a29 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror -g ${EXTRACFLAGS} -O2
d31 2
a32 2
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Werror -g ${EXTRACFLAGS} -O2
UCFLAGS = -DFISTGEN -I. ${TOPINC} -g -O2 -Wall -Werror ${EXTRAUCFLAGS}
@


1.47
log
@* Split README into INSTALL as well.

* Makefile: Spit out a message saying to read install.

* Don't build xattr functions w/o -DUNIONFS_XATTR
@
text
@d92 1
a92 1
	cp COPYING AUTHORS README NEWS ChangeLog doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.46
log
@authors.
@
text
@d10 1
a10 1
VERSION  = 1.0.6
d38 7
a44 1
all:	unionfs$(KERNELVERSION)
@


1.45
log
@* README updates.
@
text
@d86 1
a86 1
	cp COPYING README NEWS ChangeLog doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.44
log
@* Allow NFS exports on 2.6 (Sai Suman)
* Fixes to print format in xattr.c (Sai Suman)
@
text
@d87 1
@


1.43
log
@* Remove -Wno-unused-label for gcc 2.9.5 (alex@@delandgraaf.com).
@
text
@d34 1
a34 1
	stale_inode.o branchman.o namei.o xattr.o rdstate.o copyup.o
@


1.42
log
@* Allow "EXTRACFLAGS=-DNODEBUG" in fistdev.mk to disable
the printing/ASSERT facility, cutting object size in half.
@
text
@d29 2
a30 2
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror -g ${EXTRACFLAGS} -O2
UCFLAGS = -DFISTGEN -I. ${TOPINC} -g -O2 -Wall -Wno-unused -Werror ${EXTRAUCFLAGS}
@


1.41
log
@* unionfs.h: Warn when compiling on unsupported kernels.
* super.c: Compile fix for 2.6.8.
* Makefile: Include ChangeLog in the release.
@
text
@d18 3
d22 1
d41 1
a41 1
	make -C ${LINUXSRC} SUBDIRS=$(PWD) modules
@


1.40
log
@reformat changelog properly. remove trailing whitespaces
@
text
@d82 1
a82 1
	cp COPYING README NEWS doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.39
log
@Allow override of tar options.
@
text
@d76 1
a76 1
		
@


1.38
log
@* Prepare 1.0.6 release.
* Fix 2.6 compile issues in new code.
@
text
@d11 1
d87 1
a87 1
	tar czvf unionfs-${VERSION}.tar.gz unionfs-${VERSION}
@


1.37
log
@* rdstate.c: Move readdir state away from subr.c.
Use a kmem_cache for filldir nodes.
* copyup.c: Move copyup functions away from subr.c
@
text
@d10 1
a10 1
VERSION  = 1.0.5
@


1.36
log
@* Makefile: Fix dependencies on .h files.
* print.c: Consistencify printing of files and superblocks
and shorten some overly verbose output that added no information,
but reduced the effective kernel log size.
* fist.h: Make gcc check fist_dprint_internal formats.
* file.c,unionfs.h: Separate readdir state into a separate structure.
* file.c,unionfs.h,subr.c: Make readdir state use variable sized
hash tables based on number of pages in lower-level directories.
@
text
@d29 1
a29 1
	stale_inode.o branchman.o namei.o xattr.o
@


1.35
log
@* Makefile: Install unionfs.ko, not unionfs.o if it exists.
* main.c: Remove MODULE_PARM because it is deprecated.
@
text
@d63 1
a63 1
${O_OBJS}: unionfs.h fist.h
@


1.34
log
@* Makefile: Auto-select 2.4 vs. 2.6 for build.
@
text
@d74 2
a75 1
	cp unionfs.o /lib/modules/`uname -r`/kernel/fs
@


1.33
log
@* Unify 2.4 and 2.6 Makefiles
@
text
@d20 2
d23 2
d33 1
a33 2
all:
	@@echo You must run "make unionfs24" or "make unionfs26".
d35 1
a35 1
unionfs26: ${BINS}
d38 1
a38 1
unionfs24: ${obj-m} ${BINS}
@


1.32
log
@
Initial Port of unionfs to 2.6 Changes made by chip to subr.c and main.c still need to be merged. Will commit those changes shortly.
@
text
@d2 1
a2 2
# Makefile for the Linux 2.6 base2fs
# $Id: Makefile,v 1.14 2004/07/30 19:51:49 cwright Exp $
a4 2
# this is where your kernel sources are
LINUXSRC = /lib/modules/$(shell uname -r)/build
d6 11
a16 12
TOPINC = -I${LINUXSRC}/include

# Fedora Core has the annoying habit of changing the kernel prototypes on us.
FEDORAVER=$(shell rpm -q fedora-release | cut -d- -f3)
KERNELEXTRA=x$(shell uname -r | cut -d- -f 2 -s)
ifeq ($(FEDORAVER),2)
ifneq ($(KERNELEXTRA),x)
EXTRA_CFLAGS += -DFEDORACORE2
endif
endif

# allow custmom override of TOPINC and LINUXSRC
d20 2
a21 2
EXTRA_CFLAGS += -DFISTGEN -I. ${TOPINC} ${EXTRACFLAGS} -O2 -Wall -Wno-unused -fno-strict-aliasing #-Werror
UCFLAGS = -DFISTGEN -I. ${TOPINC} -g -O2 -Wall -Wno-unused # -Werror
d24 2
a25 4
ADD_M_SRC =  
unionfs-objs :=   dentry.o file.o inode.o super.o print.o \
	stale_inode.o branchman.o namei.o xattr.o subr.o main.o \
	${ADD_M_SRC:.c=.o}
d27 1
a27 1
BINS	= unionctl uniondbg 
d29 4
a32 1
all:	${BINS}
d35 4
d52 2
a53 1

d56 28
a83 8
	rm -f ${obj-m:.o=.ko} ${unionfs-objs} *.d .*.o.cmd .*.flags \#* *~
	rm -f ${BINS} TAGS
# dependencies
${base2fs-objs}: unionfs.h fist.h missing_vfs_funcs.h 

# additional makefile rules, if any


@


1.31
log
@add regression test.
@
text
@d2 2
a3 1
# Makefile for the Linux 2.4 unionfs
d6 2
d9 12
a20 10
TOPINC	= -I/lib/modules/`uname -r`/build/include
# This is where the make install target will put stuff
PREFIX  = /usr/local
VERSION = 1.0.4

# allow custmom override of TOPINC for fistgen developers
# These options enable extended attribute support
#  EXTRACFLAGS=-DUNIONFS_XATTR
# Some kernels also require FIST_SETXATTR_CONSTVOID
#  EXTRACFLAGS=-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID
d24 2
a25 2
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror -g ${EXTRACFLAGS} -O2
UCFLAGS = -DFISTGEN -I. ${TOPINC} -g -O2 -Wall -Wno-unused -Werror ${EXTRAUCFLAGS}
d27 1
a27 1
O_TARGET := unionfs.o
d29 2
a30 4
# vm_area.o is not needed if we use generic_file_mmap
# mmap.o and attach.o are optionally added
O_OBJS   := subr.o dentry.o file.o inode.o main.o super.o print.o \
	stale_inode.o branchman.o namei.o xattr.o \
d33 1
a33 1
M_OBJS   := $(O_TARGET)
d35 2
a36 1
BINS	:=	unionctl uniondbg
a37 4
all:	${O_TARGET} ${BINS}

${O_TARGET}: ${O_OBJS}
	ld -o ${O_TARGET} -r ${O_OBJS}
d51 1
a51 2
tags:
	ctags *.[ch]
d54 8
a61 28
	rm -f ${O_TARGET} ${O_OBJS} *.d .*.flags \#* *~
	rm -f ${BINS} TAGS tags
	rm -f unionfs-${VERSION}.tar.gz

${O_OBJS}: unionfs.h fist.h

install: all
	mkdir -p ${PREFIX}/sbin
	cp unionctl ${PREFIX}/sbin
	cp uniondbg ${PREFIX}/sbin
	mkdir -p ${PREFIX}/man/man4
	mkdir -p ${PREFIX}/man/man8
	cp man/unionfs.4 ${PREFIX}/man/man4
	cp man/unionctl.8 ${PREFIX}/man/man8
	cp man/uniondbg.8 ${PREFIX}/man/man8
	cp unionfs.o /lib/modules/`uname -r`/kernel/fs

release: unionfs-${VERSION}.tar.gz

unionfs-${VERSION}.tar.gz:
	mkdir unionfs-${VERSION}
	cp COPYING README NEWS doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
	mkdir unionfs-${VERSION}/man
	cp man/*.[0-9] unionfs-${VERSION}/man
	mkdir unionfs-${VERSION}/regression
	cp ../regression/*.sh ../regression/ChangeLog ../regression/scaffold ../regression/README unionfs-${VERSION}/regression
	tar czvf unionfs-${VERSION}.tar.gz unionfs-${VERSION}
	rm -rf unionfs-${VERSION}
@


1.30
log
@* README, Makefile, inode.c: Turn off extended attributes, unless
the user specifically turns them back on by defining UNIONFS_XATTR.
This prevents us from getting various compile errors depending on
vendor-specific patches.
@
text
@d9 1
a9 1
VERSION = 1.0.3
d79 2
@


1.29
log
@* Fix .cvsignore and release.
@
text
@d12 4
@


1.28
log
@* main.c (unionfs_read_super): Remove double free along error path.
* wrapfs.h (dtopd_lhs): Remove cast from LHS of assignments.
@
text
@d9 1
a9 1
VERSION = 1.0.2
@


1.27
log
@* README (site): fix typo. missing "`".

* Makefile (clean): remove tarball.
@
text
@d72 1
a72 1
	cp COPYING README doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-${VERSION}
@


1.26
log
@* released unionfs-1.0.2.

* README: updated.

* released unionfs-1.0.1.


* released unionfs-1.0.
@
text
@d53 1
@


1.25
log
@* Makefile: Include man pages in the release.
@
text
@d9 1
a9 1
VERSION = 1.0.1
@


1.24
log
@Release target.
@
text
@d9 1
a9 1

d67 1
a67 1
release: unionfs-1.0.tar.gz
d69 7
a75 5
unionfs-1.0.tar.gz:
	mkdir unionfs-1.0
	cp COPYING README doit.sh undoit.sh *.pl Makefile *.[ch] misc/snapmerge unionfs-1.0
	tar czvf unionfs-1.0.tar.gz unionfs-1.0
	rm -rf unionfs-1.0
@


1.23
log
@* Makefile: install target
@
text
@d66 8
@


1.22
log
@* main.c (unionfs_hidden_dentry_index): This function is unused now
that Mohammad took it out, so I removed it.
* Removed unnecessary files.
* COPYING: SUNY we can't be blamed for anything notice; and the GPL.
@
text
@d7 4
a53 1
# dependencies
d56 10
a65 2
# additional makefile rules, if any

@


1.21
log
@* subr.c (unionfs_refresh_hidden_dentry): Re-lookup a dentry, this
is needed on rename reverts because vfs_rename trashes the dentry
of the target.
* inode.c (unionfs_rename_all): Working revert.
@
text
@d18 1
a18 2
O_OBJS   := fist_unionfs.o \
	subr.o dentry.o file.o inode.o main.o super.o print.o \
d51 1
a51 1
${O_OBJS}: unionfs.h fist.h fist_unionfs.h 
@


1.20
log
@* Makefile: debugging symbols are very useful for Oops tracing
* unionfs.h (CUR_MAX_BRANCH): Removed CUR_MAX_BRANCH which was always
sbend + 1, and replaced with sbmax (that doesn't require a redundant
and possbly inconsistent field within the super-block).
* unionfs.h (dtopd): Converted from a macro to an inline function
so that we can do more checking of the private data that we are
returning.
* unionfs.h (dtohd_index) Added a udi_bcount field to the private data
so we would Oops rather than silently overflow array bounds.
* dentry.c: Recursively revalidate the parent (the ASSERT that was
checking this was mis-written).  It turns out that our parent was not
always valid.
* file.c (unionfs_file_revalidate): Always reassign the read-ahead
values because the older file might have different values and llseek
will cause an assertion failure.
* inode.c (unionfs_lookup_backend): Treat revalidated negative and
positive dentries differently.
@
text
@d11 1
a11 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -O2 -Wall -Wno-unused-label -Werror -g ${EXTRACFLAGS}
@


1.19
log
@Pull options from /proc.
@
text
@d11 1
a11 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -O2 -Wall -Wno-unused-label -Werror ${EXTRACFLAGS}
@


1.18
log
@* uniondbg.c: ioctls to add, remove and set branch permissions moved here

* fist_ioctl.c: remaining ioctls stay here
@
text
@d25 1
a25 1
BINS	:=	fist_ioctl uniondbg
d32 1
a32 1
fist_ioctl: fist_ioctl.c
@


1.17
log
@Branch management changes (broken).
@
text
@d25 1
a25 1
BINS	:=	fist_ioctl 
d33 3
@


1.16
log
@* inode.c (unionfs_create): Creation on a robranch will
cause the file to be created to the left.
* unionfs.h: More macros for checking if things are on read-only
branches.
* xattr.c: Separate xattrs from inode.c.
* ATTACH-TODO.txt: Unionfs doesn't attach.
* README.attach: Unionfs doesn't attach.
* mmap.c: Unionfs doesn't filter data.
* vm_area.c: No data filtering.
@
text
@d11 2
a12 2
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -O2 -Wall -Wno-unused-label -Werror
UCFLAGS = -DFISTGEN -I. ${TOPINC} -g -O2 -Wall -Wno-unused # -Werror
@


1.15
log
@Use uname -r instead of hardcoded kernel names.
@
text
@d20 1
a20 1
	stale_inode.o branchman.o namei.o \
@


1.14
log
@malloc/free testing
@
text
@d6 1
a6 1
TOPINC	= -I/lib/modules/2.4.20/build/include
@


1.13
log
@* inode.c: removed all "dtohd_index(dentry, bindex) = NULL" references and
           any extra dputs

* subr.c:  modified code in troublesome create_whiteout_left() function.
           Removed extra dgets on the parent and dputting the hidden dentry
@
text
@d35 2
a36 1

@


1.12
log
@* Makefile (tags): target for tags

* inode.c (unionfs_unlink_whiteout): Refcount fix.
@
text
@d6 1
a6 1
TOPINC	= -I/lib/modules/2.4.20/include
@


1.11
log
@*** empty log message ***
@
text
@d40 3
d45 1
a45 1
	rm -f ${BINS} TAGS
@


1.10
log
@ChangeLog
@
text
@d6 1
a6 1
TOPINC	= -I/home/hari/linux-2.4.20/include
@


1.9
log
@* Makefile: Changing back to old file.

* subr.c (create_whiteout_left): removed dput, hidden_dentry == NULL.

* inode.c (do_rename): If error, make hidden_dentry NULL.
(unionfs_rename_all): copyup file on err = -EROFS.
@
text
@d6 1
a6 1
TOPINC	= -I/home/2.4.20/linux-2.4.20/include
@


1.8
log
@Fixed bug related to whiteout creation on the leftmost branch when a directory on the left-most branch is rmdir'ed
@
text
@d6 1
a6 1
TOPINC	= -I/home/hari/linux-2.4.20/include
@


1.7
log
@-Wno-unused changed to be -Wno-unused-label
@
text
@d6 1
a6 1
TOPINC	= -I/lib/modules/2.4.20/build/include
@


1.6
log
@* inode.c (unionfs_rmdir): Split into several functions.

* subr.c (delete_whiteouts): Delete all whiteouts in
a given directory in a given branch.
@
text
@d11 1
a11 1
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -O2 -Wall -Wno-unused -Werror
@


1.5
log
@* ioctls via extended attributes works.

* branchman.c (unionfs_ioctl_delbranch): Don't let people delete
the last remaining branch.  It would be cooler if we could, but
probably not worth all the effort to make the root dentry behave
properly when there is nothing underneath it.

* file.c: Removed branch management functions.

* inode.c): xattr functions.

* branchman.c: Branch management functions.
@
text
@d20 1
a20 1
	stale_inode.o branchman.o \
@


1.4
log
@* Updated CUR_MAX_BRANCH and MOUNT_FLAG.

* dentry.c (unionfs_d_revalidate): Make negative dentries that
just turned negative stale.

* inode.c (unionfs_inode_revalidate): Make negative inodes stale.

* stale_inode.c: Functions to make a magic stale inode.
@
text
@d20 1
a20 1
	stale_inode.o \
@


1.3
log
@* inode.c: unionfs_create() implemented as per new design specs.
If found a .wh.foo entry, vfs_rename it to foo.

* inode.c: unionfs_lookup() implemented as per new design specs.
If found a whiteout entry, just stop lookup

* inode.c: unionfs_link() implemented as per new design specs

* inode.c: unionfs_setattr() implemented as per new design specs

* inode.c: unionfs_permission() implemented as per new design specs.

* file.c: calling unionfs_copyup_file() in unionfs_open() if open
with specified flags fails with the current underlying file

* subr.c:  fixes in unionfs_copyup_file()

* unionfs.h: modified mount time flags

Still left (according to new specs):
- mkdir, symlink, mknod,
- unlink, rmdir
- rename hard
@
text
@d20 1
@


1.2
log
@* subr.c: added function: unionfs_copyup_file(inode_t *dir,
dentry_t *dentry, int oldbindex, int newbindex)
first does recursive directory creation, then does vfs_create() and
then reads PAGE_SIZE bytes from old file to new file

* subr.c, inode.c: moved useful functions: unionfs_create_parent_dir() and
unionfs_partial_lookup() to subr.c from inode.c

* unionfs.h: definition for unionfs_copyup_file

* Makefile: added subr.o to the list of OBJS
@
text
@d6 1
a6 1
TOPINC	= -I/lib/modules/$(shell uname -r)/build/include
@


1.1
log
@added: files from cse506 project (spring 2003)
@
text
@d19 1
a19 1
	dentry.o file.o inode.o main.o super.o print.o \
@

