head	1.738;
access;
symbols
	UNIONFS-1_4:1.714
	LKML-branch:1.699.0.2
	LKML:1.699
	UNIONFS-1_3-branch:1.692.0.2
	UNIONFS-1_3:1.692
	UNIONFS-1_2:1.683.2.3
	UNIONFS-1_2-branch:1.683.0.2
	UNIONFS-1_2-branchpoint:1.683
	UNIONFS_branchman:1.681
	branchman:1.681.0.2
	UNIONFS-1_1_4:1.622.2.4
	UNIONFS-1_1-patches:1.622.0.2
	UNIONFS-1_1_3:1.622
	crc-submitted-to-ols2006:1.639
	remount:1.634.0.2
	UNIONFS-1_1_2:1.594
	BEFORE_MOUNTPOINT_CROSSING:1.534
	UNIONFS-1_1_1:1.514
	UNIONFS_PRE_1_1_1:1.501
	UNIONFS-1_1:1.501
	UNIONFS_PRE_1_1:1.473.0.2
	UNIONFS-1_0_14:1.473
	UNIONFS_PRE_DENTRY_LOCKING:1.442
	UNIONFS-1_0_13:1.381
	submitted-to-tos-2005:1.351
	UNIONFS-1_0_12:1.322
	UNIONFS-1_0_11:1.277
	UNIONFS-1_0_10:1.277
	UNIONFS-1_0_9:1.240
	UNIONFS-1_0_6:1.200
	UNIONFS-1_0_4:1.189
	UNIONFS-1_0_3:1.185
	SUBMITTED_TO_USENIX_2005:1.178
	UNIONFS-1_0:1.176
	before-new-rename:1.162
	before_applying_linux_coding_style:1.145
	copied-to-replicfs-branch-on-march-17-2004:1.136
	PRE_SNAPSHOT:1.126
	SUBMITTED_TO_USENIX_2004:1.125
	SUBMITTED_TO_FAST_2004:1.125;
locks; strict;
comment	@# @;


1.738
date	2007.01.24.22.13.29;	author yiannos;	state Exp;
branches;
next	1.737;

1.737
date	2007.01.17.19.18.13;	author jsipek;	state Exp;
branches;
next	1.736;

1.736
date	2007.01.17.19.02.09;	author jsipek;	state Exp;
branches;
next	1.735;

1.735
date	2007.01.16.21.30.04;	author yiannos;	state Exp;
branches;
next	1.734;

1.734
date	2007.01.16.20.35.44;	author yiannos;	state Exp;
branches;
next	1.733;

1.733
date	2007.01.16.19.06.13;	author yiannos;	state Exp;
branches;
next	1.732;

1.732
date	2007.01.16.18.53.51;	author yiannos;	state Exp;
branches;
next	1.731;

1.731
date	2007.01.05.04.08.43;	author yiannos;	state Exp;
branches;
next	1.730;

1.730
date	2007.01.05.04.05.56;	author yiannos;	state Exp;
branches;
next	1.729;

1.729
date	2007.01.05.04.00.39;	author yiannos;	state Exp;
branches;
next	1.728;

1.728
date	2007.01.05.03.52.11;	author yiannos;	state Exp;
branches;
next	1.727;

1.727
date	2007.01.05.03.40.44;	author yiannos;	state Exp;
branches;
next	1.726;

1.726
date	2007.01.04.03.14.02;	author jsipek;	state Exp;
branches;
next	1.725;

1.725
date	2006.12.28.22.57.19;	author yiannos;	state Exp;
branches;
next	1.724;

1.724
date	2006.12.28.20.30.56;	author yiannos;	state Exp;
branches;
next	1.723;

1.723
date	2006.12.28.02.58.16;	author yiannos;	state Exp;
branches;
next	1.722;

1.722
date	2006.12.28.02.50.47;	author yiannos;	state Exp;
branches;
next	1.721;

1.721
date	2006.12.28.02.48.47;	author yiannos;	state Exp;
branches;
next	1.720;

1.720
date	2006.12.26.22.20.25;	author yiannos;	state Exp;
branches;
next	1.719;

1.719
date	2006.12.26.22.14.38;	author yiannos;	state Exp;
branches;
next	1.718;

1.718
date	2006.12.26.22.00.32;	author jsipek;	state Exp;
branches;
next	1.717;

1.717
date	2006.11.13.21.25.48;	author yiannos;	state Exp;
branches;
next	1.716;

1.716
date	2006.11.08.08.10.32;	author jsipek;	state Exp;
branches;
next	1.715;

1.715
date	2006.11.04.23.58.07;	author jsipek;	state Exp;
branches;
next	1.714;

1.714
date	2006.11.04.23.55.31;	author jsipek;	state Exp;
branches;
next	1.713;

1.713
date	2006.11.04.22.50.35;	author jsipek;	state Exp;
branches;
next	1.712;

1.712
date	2006.11.04.22.27.51;	author jsipek;	state Exp;
branches;
next	1.711;

1.711
date	2006.11.04.21.04.49;	author yiannos;	state Exp;
branches;
next	1.710;

1.710
date	2006.10.31.18.05.33;	author yiannos;	state Exp;
branches;
next	1.709;

1.709
date	2006.10.31.00.05.22;	author yiannos;	state Exp;
branches;
next	1.708;

1.708
date	2006.10.10.09.04.11;	author jsipek;	state Exp;
branches;
next	1.707;

1.707
date	2006.10.10.07.28.13;	author jsipek;	state Exp;
branches;
next	1.706;

1.706
date	2006.10.10.07.26.33;	author jsipek;	state Exp;
branches;
next	1.705;

1.705
date	2006.09.21.18.48.21;	author dquigley;	state Exp;
branches;
next	1.704;

1.704
date	2006.09.21.18.19.36;	author jsipek;	state Exp;
branches;
next	1.703;

1.703
date	2006.08.25.18.53.03;	author jsipek;	state Exp;
branches;
next	1.702;

1.702
date	2006.08.05.01.28.46;	author jro;	state Exp;
branches;
next	1.701;

1.701
date	2006.07.31.22.35.08;	author dquigley;	state Exp;
branches;
next	1.700;

1.700
date	2006.07.31.22.14.59;	author dquigley;	state Exp;
branches;
next	1.699;

1.699
date	2006.07.20.03.47.57;	author dquigley;	state Exp;
branches
	1.699.2.1;
next	1.698;

1.698
date	2006.07.13.18.20.28;	author ezk;	state Exp;
branches;
next	1.697;

1.697
date	2006.07.08.17.58.30;	author ezk;	state Exp;
branches;
next	1.696;

1.696
date	2006.07.08.05.35.27;	author dquigley;	state Exp;
branches;
next	1.695;

1.695
date	2006.06.30.00.57.10;	author dquigley;	state Exp;
branches;
next	1.694;

1.694
date	2006.06.30.00.55.11;	author jsipek;	state Exp;
branches;
next	1.693;

1.693
date	2006.06.30.00.45.13;	author jsipek;	state Exp;
branches;
next	1.692;

1.692
date	2006.06.26.19.32.28;	author jsipek;	state Exp;
branches
	1.692.2.1;
next	1.691;

1.691
date	2006.06.25.23.57.44;	author jro;	state Exp;
branches;
next	1.690;

1.690
date	2006.06.22.15.56.06;	author jro;	state Exp;
branches;
next	1.689;

1.689
date	2006.06.22.14.59.28;	author jro;	state Exp;
branches;
next	1.688;

1.688
date	2006.06.14.23.34.15;	author jsipek;	state Exp;
branches;
next	1.687;

1.687
date	2006.06.14.22.52.53;	author jsipek;	state Exp;
branches;
next	1.686;

1.686
date	2006.06.11.13.02.01;	author jsipek;	state Exp;
branches;
next	1.685;

1.685
date	2006.06.10.22.10.44;	author jsipek;	state Exp;
branches;
next	1.684;

1.684
date	2006.06.09.20.53.05;	author jsipek;	state Exp;
branches;
next	1.683;

1.683
date	2006.06.09.05.14.05;	author jsipek;	state Exp;
branches
	1.683.2.1;
next	1.682;

1.682
date	2006.06.05.16.31.15;	author jsipek;	state Exp;
branches;
next	1.681;

1.681
date	2006.06.03.01.25.52;	author jsipek;	state Exp;
branches
	1.681.2.1;
next	1.680;

1.680
date	2006.06.02.03.29.25;	author dquigley;	state Exp;
branches;
next	1.679;

1.679
date	2006.06.01.21.25.18;	author jsipek;	state Exp;
branches;
next	1.678;

1.678
date	2006.06.01.18.32.26;	author jsipek;	state Exp;
branches;
next	1.677;

1.677
date	2006.06.01.16.03.33;	author jsipek;	state Exp;
branches;
next	1.676;

1.676
date	2006.06.01.15.20.34;	author jsipek;	state Exp;
branches;
next	1.675;

1.675
date	2006.06.01.15.16.17;	author jsipek;	state Exp;
branches;
next	1.674;

1.674
date	2006.06.01.03.29.08;	author jsipek;	state Exp;
branches;
next	1.673;

1.673
date	2006.06.01.03.21.56;	author jsipek;	state Exp;
branches;
next	1.672;

1.672
date	2006.06.01.03.11.02;	author jsipek;	state Exp;
branches;
next	1.671;

1.671
date	2006.05.31.18.40.16;	author jsipek;	state Exp;
branches;
next	1.670;

1.670
date	2006.05.31.03.28.40;	author dquigley;	state Exp;
branches;
next	1.669;

1.669
date	2006.05.31.02.51.04;	author dquigley;	state Exp;
branches;
next	1.668;

1.668
date	2006.05.31.02.26.59;	author jsipek;	state Exp;
branches;
next	1.667;

1.667
date	2006.05.30.22.47.13;	author jsipek;	state Exp;
branches;
next	1.666;

1.666
date	2006.05.30.21.38.45;	author jsipek;	state Exp;
branches;
next	1.665;

1.665
date	2006.05.30.20.25.08;	author jsipek;	state Exp;
branches;
next	1.664;

1.664
date	2006.05.30.05.17.20;	author jro;	state Exp;
branches;
next	1.663;

1.663
date	2006.05.30.04.20.13;	author jsipek;	state Exp;
branches;
next	1.662;

1.662
date	2006.05.30.03.05.30;	author jsipek;	state Exp;
branches;
next	1.661;

1.661
date	2006.05.30.01.47.58;	author jsipek;	state Exp;
branches;
next	1.660;

1.660
date	2006.05.25.21.44.16;	author jsipek;	state Exp;
branches;
next	1.659;

1.659
date	2006.05.25.16.43.28;	author jsipek;	state Exp;
branches;
next	1.658;

1.658
date	2006.05.25.13.21.59;	author jsipek;	state Exp;
branches;
next	1.657;

1.657
date	2006.05.25.13.14.14;	author jsipek;	state Exp;
branches;
next	1.656;

1.656
date	2006.05.25.03.01.01;	author jsipek;	state Exp;
branches;
next	1.655;

1.655
date	2006.05.25.02.29.56;	author jsipek;	state Exp;
branches;
next	1.654;

1.654
date	2006.05.24.14.21.50;	author jro;	state Exp;
branches;
next	1.653;

1.653
date	2006.05.23.15.24.52;	author jsipek;	state Exp;
branches;
next	1.652;

1.652
date	2006.05.23.05.02.31;	author dquigley;	state Exp;
branches;
next	1.651;

1.651
date	2006.05.23.05.01.55;	author dquigley;	state Exp;
branches;
next	1.650;

1.650
date	2006.05.23.05.01.17;	author dquigley;	state Exp;
branches;
next	1.649;

1.649
date	2006.05.20.13.34.33;	author jro;	state Exp;
branches;
next	1.648;

1.648
date	2006.05.19.12.32.33;	author jro;	state Exp;
branches;
next	1.647;

1.647
date	2006.05.18.03.31.02;	author jsipek;	state Exp;
branches;
next	1.646;

1.646
date	2006.05.17.22.05.15;	author jsipek;	state Exp;
branches;
next	1.645;

1.645
date	2006.05.17.19.22.52;	author jsipek;	state Exp;
branches;
next	1.644;

1.644
date	2006.05.03.08.03.05;	author jsipek;	state Exp;
branches;
next	1.643;

1.643
date	2006.04.23.19.54.44;	author jsipek;	state Exp;
branches;
next	1.642;

1.642
date	2006.04.17.09.30.06;	author jsipek;	state Exp;
branches;
next	1.641;

1.641
date	2006.04.15.02.59.50;	author jsipek;	state Exp;
branches;
next	1.640;

1.640
date	2006.04.11.19.23.11;	author jsipek;	state Exp;
branches;
next	1.639;

1.639
date	2006.03.29.07.31.29;	author jsipek;	state Exp;
branches;
next	1.638;

1.638
date	2006.03.22.05.38.21;	author jsipek;	state Exp;
branches;
next	1.637;

1.637
date	2006.03.21.21.30.08;	author dquigley;	state Exp;
branches;
next	1.636;

1.636
date	2006.03.21.09.22.11;	author jsipek;	state Exp;
branches;
next	1.635;

1.635
date	2006.03.12.03.01.48;	author jsipek;	state Exp;
branches;
next	1.634;

1.634
date	2006.03.09.02.26.57;	author jsipek;	state Exp;
branches
	1.634.2.1;
next	1.633;

1.633
date	2006.03.07.19.01.41;	author dquigley;	state Exp;
branches;
next	1.632;

1.632
date	2006.03.07.18.12.46;	author dquigley;	state Exp;
branches;
next	1.631;

1.631
date	2006.03.07.18.12.10;	author dquigley;	state Exp;
branches;
next	1.630;

1.630
date	2006.03.07.09.03.40;	author dquigley;	state Exp;
branches;
next	1.629;

1.629
date	2006.03.04.21.15.05;	author jsipek;	state Exp;
branches;
next	1.628;

1.628
date	2006.03.04.21.07.28;	author jsipek;	state Exp;
branches;
next	1.627;

1.627
date	2006.03.04.20.53.50;	author jsipek;	state Exp;
branches;
next	1.626;

1.626
date	2006.03.03.23.40.48;	author dquigley;	state Exp;
branches;
next	1.625;

1.625
date	2006.02.21.08.36.24;	author jsipek;	state Exp;
branches;
next	1.624;

1.624
date	2006.02.21.07.04.10;	author jsipek;	state Exp;
branches;
next	1.623;

1.623
date	2006.02.20.22.54.02;	author cwright;	state Exp;
branches;
next	1.622;

1.622
date	2006.02.20.22.40.03;	author cwright;	state Exp;
branches
	1.622.2.1;
next	1.621;

1.621
date	2006.02.20.22.38.56;	author dquigley;	state Exp;
branches;
next	1.620;

1.620
date	2006.02.20.22.23.01;	author dquigley;	state Exp;
branches;
next	1.619;

1.619
date	2006.02.15.10.46.56;	author jsipek;	state Exp;
branches;
next	1.618;

1.618
date	2006.02.15.09.07.28;	author jsipek;	state Exp;
branches;
next	1.617;

1.617
date	2006.02.13.18.07.33;	author cwright;	state Exp;
branches;
next	1.616;

1.616
date	2006.02.13.00.18.39;	author jsipek;	state Exp;
branches;
next	1.615;

1.615
date	2006.02.10.18.33.54;	author jsipek;	state Exp;
branches;
next	1.614;

1.614
date	2006.02.09.20.46.15;	author dquigley;	state Exp;
branches;
next	1.613;

1.613
date	2006.02.09.20.39.15;	author dquigley;	state Exp;
branches;
next	1.612;

1.612
date	2006.02.09.04.41.00;	author jsipek;	state Exp;
branches;
next	1.611;

1.611
date	2006.02.09.03.37.42;	author jsipek;	state Exp;
branches;
next	1.610;

1.610
date	2006.02.08.21.33.40;	author dquigley;	state Exp;
branches;
next	1.609;

1.609
date	2006.02.07.23.23.49;	author dquigley;	state Exp;
branches;
next	1.608;

1.608
date	2006.02.07.23.21.50;	author dquigley;	state Exp;
branches;
next	1.607;

1.607
date	2006.02.06.01.16.32;	author jsipek;	state Exp;
branches;
next	1.606;

1.606
date	2006.02.05.08.41.15;	author jsipek;	state Exp;
branches;
next	1.605;

1.605
date	2006.02.05.08.18.48;	author jsipek;	state Exp;
branches;
next	1.604;

1.604
date	2006.02.05.06.19.36;	author dquigley;	state Exp;
branches;
next	1.603;

1.603
date	2006.02.05.05.22.02;	author jsipek;	state Exp;
branches;
next	1.602;

1.602
date	2006.02.05.05.15.26;	author dquigley;	state Exp;
branches;
next	1.601;

1.601
date	2006.02.05.04.01.35;	author jsipek;	state Exp;
branches;
next	1.600;

1.600
date	2006.02.05.03.10.30;	author dquigley;	state Exp;
branches;
next	1.599;

1.599
date	2006.02.05.03.07.19;	author jsipek;	state Exp;
branches;
next	1.598;

1.598
date	2006.02.03.00.04.25;	author jsipek;	state Exp;
branches;
next	1.597;

1.597
date	2006.02.01.08.14.22;	author dquigley;	state Exp;
branches;
next	1.596;

1.596
date	2006.01.31.22.37.02;	author jsipek;	state Exp;
branches;
next	1.595;

1.595
date	2006.01.25.22.12.28;	author jsipek;	state Exp;
branches;
next	1.594;

1.594
date	2006.01.25.21.59.00;	author jsipek;	state Exp;
branches;
next	1.593;

1.593
date	2006.01.25.08.03.37;	author jsipek;	state Exp;
branches;
next	1.592;

1.592
date	2006.01.24.23.57.41;	author jsipek;	state Exp;
branches;
next	1.591;

1.591
date	2006.01.22.19.46.50;	author jsipek;	state Exp;
branches;
next	1.590;

1.590
date	2006.01.21.02.58.55;	author jsipek;	state Exp;
branches;
next	1.589;

1.589
date	2006.01.21.01.33.04;	author jsipek;	state Exp;
branches;
next	1.588;

1.588
date	2006.01.18.01.26.46;	author jsipek;	state Exp;
branches;
next	1.587;

1.587
date	2006.01.15.00.15.57;	author dquigley;	state Exp;
branches;
next	1.586;

1.586
date	2006.01.14.23.07.01;	author jsipek;	state Exp;
branches;
next	1.585;

1.585
date	2006.01.14.20.01.12;	author dquigley;	state Exp;
branches;
next	1.584;

1.584
date	2006.01.14.19.56.01;	author dquigley;	state Exp;
branches;
next	1.583;

1.583
date	2006.01.14.01.23.12;	author jsipek;	state Exp;
branches;
next	1.582;

1.582
date	2006.01.13.23.37.38;	author jsipek;	state Exp;
branches;
next	1.581;

1.581
date	2006.01.13.03.00.24;	author jsipek;	state Exp;
branches;
next	1.580;

1.580
date	2006.01.10.01.50.00;	author jsipek;	state Exp;
branches;
next	1.579;

1.579
date	2006.01.08.06.55.05;	author jsipek;	state Exp;
branches;
next	1.578;

1.578
date	2006.01.07.23.04.32;	author jsipek;	state Exp;
branches;
next	1.577;

1.577
date	2006.01.03.19.30.27;	author dquigley;	state Exp;
branches;
next	1.576;

1.576
date	2006.01.03.19.10.29;	author dquigley;	state Exp;
branches;
next	1.575;

1.575
date	2006.01.03.19.09.12;	author dquigley;	state Exp;
branches;
next	1.574;

1.574
date	2006.01.03.06.28.14;	author jsipek;	state Exp;
branches;
next	1.573;

1.573
date	2006.01.03.05.43.58;	author jsipek;	state Exp;
branches;
next	1.572;

1.572
date	2006.01.03.03.40.27;	author jsipek;	state Exp;
branches;
next	1.571;

1.571
date	2006.01.03.01.15.56;	author jsipek;	state Exp;
branches;
next	1.570;

1.570
date	2006.01.01.05.10.02;	author jsipek;	state Exp;
branches;
next	1.569;

1.569
date	2005.12.30.22.19.59;	author jsipek;	state Exp;
branches;
next	1.568;

1.568
date	2005.12.29.23.54.46;	author dquigley;	state Exp;
branches;
next	1.567;

1.567
date	2005.12.29.22.01.43;	author jsipek;	state Exp;
branches;
next	1.566;

1.566
date	2005.12.29.18.53.44;	author jsipek;	state Exp;
branches;
next	1.565;

1.565
date	2005.12.29.03.14.46;	author cwright;	state Exp;
branches;
next	1.564;

1.564
date	2005.12.29.00.40.36;	author jsipek;	state Exp;
branches;
next	1.563;

1.563
date	2005.12.28.23.54.36;	author jsipek;	state Exp;
branches;
next	1.562;

1.562
date	2005.12.28.17.15.25;	author jsipek;	state Exp;
branches;
next	1.561;

1.561
date	2005.12.28.04.49.08;	author jsipek;	state Exp;
branches;
next	1.560;

1.560
date	2005.12.28.04.46.07;	author jsipek;	state Exp;
branches;
next	1.559;

1.559
date	2005.12.28.04.40.44;	author jsipek;	state Exp;
branches;
next	1.558;

1.558
date	2005.12.28.04.27.04;	author jsipek;	state Exp;
branches;
next	1.557;

1.557
date	2005.12.28.01.56.20;	author jsipek;	state Exp;
branches;
next	1.556;

1.556
date	2005.12.27.23.19.23;	author dquigley;	state Exp;
branches;
next	1.555;

1.555
date	2005.12.27.20.10.46;	author dquigley;	state Exp;
branches;
next	1.554;

1.554
date	2005.12.27.18.35.03;	author dquigley;	state Exp;
branches;
next	1.553;

1.553
date	2005.12.27.16.54.47;	author cwright;	state Exp;
branches;
next	1.552;

1.552
date	2005.12.27.16.26.08;	author jsipek;	state Exp;
branches;
next	1.551;

1.551
date	2005.12.21.02.35.18;	author jsipek;	state Exp;
branches;
next	1.550;

1.550
date	2005.11.30.20.49.05;	author jsipek;	state Exp;
branches;
next	1.549;

1.549
date	2005.11.29.23.13.33;	author arunmk;	state Exp;
branches;
next	1.548;

1.548
date	2005.11.29.20.41.40;	author arunmk;	state Exp;
branches;
next	1.547;

1.547
date	2005.11.29.20.14.14;	author cwright;	state Exp;
branches;
next	1.546;

1.546
date	2005.11.29.05.48.19;	author arunmk;	state Exp;
branches;
next	1.545;

1.545
date	2005.11.28.23.27.29;	author arunmk;	state Exp;
branches;
next	1.544;

1.544
date	2005.11.28.21.33.56;	author arunmk;	state Exp;
branches;
next	1.543;

1.543
date	2005.11.26.23.17.03;	author arunmk;	state Exp;
branches;
next	1.542;

1.542
date	2005.11.24.18.08.06;	author cwright;	state Exp;
branches;
next	1.541;

1.541
date	2005.11.23.19.55.26;	author cwright;	state Exp;
branches;
next	1.540;

1.540
date	2005.11.20.23.03.34;	author arunmk;	state Exp;
branches;
next	1.539;

1.539
date	2005.11.18.21.54.04;	author jsipek;	state Exp;
branches;
next	1.538;

1.538
date	2005.11.18.21.46.33;	author arunmk;	state Exp;
branches;
next	1.537;

1.537
date	2005.11.18.17.47.41;	author jsipek;	state Exp;
branches;
next	1.536;

1.536
date	2005.11.18.17.23.01;	author cwright;	state Exp;
branches;
next	1.535;

1.535
date	2005.11.18.16.10.43;	author cwright;	state Exp;
branches;
next	1.534;

1.534
date	2005.11.16.15.08.36;	author cwright;	state Exp;
branches;
next	1.533;

1.533
date	2005.11.15.21.55.17;	author cwright;	state Exp;
branches;
next	1.532;

1.532
date	2005.11.11.18.31.43;	author cwright;	state Exp;
branches;
next	1.531;

1.531
date	2005.11.09.23.30.04;	author cwright;	state Exp;
branches;
next	1.530;

1.530
date	2005.11.09.23.15.42;	author cwright;	state Exp;
branches;
next	1.529;

1.529
date	2005.11.09.22.59.26;	author cwright;	state Exp;
branches;
next	1.528;

1.528
date	2005.11.09.22.57.03;	author cwright;	state Exp;
branches;
next	1.527;

1.527
date	2005.11.09.22.37.05;	author cwright;	state Exp;
branches;
next	1.526;

1.526
date	2005.11.09.21.52.14;	author cwright;	state Exp;
branches;
next	1.525;

1.525
date	2005.11.08.22.10.38;	author cwright;	state Exp;
branches;
next	1.524;

1.524
date	2005.11.08.22.08.33;	author cwright;	state Exp;
branches;
next	1.523;

1.523
date	2005.11.08.20.08.13;	author cwright;	state Exp;
branches;
next	1.522;

1.522
date	2005.11.08.18.27.41;	author cwright;	state Exp;
branches;
next	1.521;

1.521
date	2005.11.08.16.31.50;	author cwright;	state Exp;
branches;
next	1.520;

1.520
date	2005.11.08.02.33.10;	author dquigley;	state Exp;
branches;
next	1.519;

1.519
date	2005.11.07.21.14.04;	author cwright;	state Exp;
branches;
next	1.518;

1.518
date	2005.11.07.19.28.04;	author cwright;	state Exp;
branches;
next	1.517;

1.517
date	2005.11.07.19.19.21;	author cwright;	state Exp;
branches;
next	1.516;

1.516
date	2005.11.06.20.25.39;	author jsipek;	state Exp;
branches;
next	1.515;

1.515
date	2005.10.26.01.08.35;	author cwright;	state Exp;
branches;
next	1.514;

1.514
date	2005.10.26.00.50.26;	author cwright;	state Exp;
branches;
next	1.513;

1.513
date	2005.10.24.18.57.38;	author cwright;	state Exp;
branches;
next	1.512;

1.512
date	2005.10.24.18.52.17;	author cwright;	state Exp;
branches;
next	1.511;

1.511
date	2005.10.24.18.45.23;	author cwright;	state Exp;
branches;
next	1.510;

1.510
date	2005.10.21.15.03.26;	author cwright;	state Exp;
branches;
next	1.509;

1.509
date	2005.10.21.15.02.04;	author cwright;	state Exp;
branches;
next	1.508;

1.508
date	2005.10.20.17.22.19;	author cwright;	state Exp;
branches;
next	1.507;

1.507
date	2005.10.20.16.24.41;	author cwright;	state Exp;
branches;
next	1.506;

1.506
date	2005.10.19.20.17.01;	author cwright;	state Exp;
branches;
next	1.505;

1.505
date	2005.10.19.20.08.10;	author cwright;	state Exp;
branches;
next	1.504;

1.504
date	2005.10.19.17.43.16;	author cwright;	state Exp;
branches;
next	1.503;

1.503
date	2005.10.19.16.03.49;	author cwright;	state Exp;
branches;
next	1.502;

1.502
date	2005.10.18.04.08.20;	author dquigley;	state Exp;
branches;
next	1.501;

1.501
date	2005.10.14.18.43.15;	author arunmk;	state Exp;
branches;
next	1.500;

1.500
date	2005.10.13.21.53.34;	author arunmk;	state Exp;
branches;
next	1.499;

1.499
date	2005.10.13.21.16.23;	author dquigley;	state Exp;
branches;
next	1.498;

1.498
date	2005.10.13.20.14.13;	author arunmk;	state Exp;
branches;
next	1.497;

1.497
date	2005.10.11.20.54.26;	author cwright;	state Exp;
branches;
next	1.496;

1.496
date	2005.10.06.13.19.31;	author cwright;	state Exp;
branches;
next	1.495;

1.495
date	2005.09.29.12.39.02;	author cwright;	state Exp;
branches;
next	1.494;

1.494
date	2005.09.28.18.02.38;	author cwright;	state Exp;
branches;
next	1.493;

1.493
date	2005.09.28.16.20.39;	author cwright;	state Exp;
branches;
next	1.492;

1.492
date	2005.09.27.22.13.03;	author cwright;	state Exp;
branches;
next	1.491;

1.491
date	2005.09.27.18.03.53;	author cwright;	state Exp;
branches;
next	1.490;

1.490
date	2005.09.27.17.11.38;	author dquigley;	state Exp;
branches;
next	1.489;

1.489
date	2005.09.27.16.40.06;	author cwright;	state Exp;
branches;
next	1.488;

1.488
date	2005.09.23.21.58.13;	author dquigley;	state Exp;
branches;
next	1.487;

1.487
date	2005.09.22.23.32.04;	author jsipek;	state Exp;
branches;
next	1.486;

1.486
date	2005.09.21.19.12.00;	author dquigley;	state Exp;
branches;
next	1.485;

1.485
date	2005.09.21.12.30.50;	author cwright;	state Exp;
branches;
next	1.484;

1.484
date	2005.09.20.19.34.01;	author dquigley;	state Exp;
branches;
next	1.483;

1.483
date	2005.09.18.05.02.56;	author jsipek;	state Exp;
branches;
next	1.482;

1.482
date	2005.09.18.04.59.46;	author dquigley;	state Exp;
branches;
next	1.481;

1.481
date	2005.09.18.04.42.10;	author jsipek;	state Exp;
branches;
next	1.480;

1.480
date	2005.09.18.04.02.20;	author jsipek;	state Exp;
branches;
next	1.479;

1.479
date	2005.09.18.03.51.41;	author dquigley;	state Exp;
branches;
next	1.478;

1.478
date	2005.09.16.14.02.39;	author cwright;	state Exp;
branches;
next	1.477;

1.477
date	2005.09.16.14.00.45;	author cwright;	state Exp;
branches;
next	1.476;

1.476
date	2005.09.15.20.51.03;	author ezk;	state Exp;
branches;
next	1.475;

1.475
date	2005.09.15.20.50.05;	author ezk;	state Exp;
branches;
next	1.474;

1.474
date	2005.09.15.19.04.19;	author dquigley;	state Exp;
branches;
next	1.473;

1.473
date	2005.09.15.18.58.56;	author dquigley;	state Exp;
branches;
next	1.472;

1.472
date	2005.09.12.21.14.22;	author dquigley;	state Exp;
branches;
next	1.471;

1.471
date	2005.09.08.18.46.14;	author cwright;	state Exp;
branches;
next	1.470;

1.470
date	2005.09.05.15.09.35;	author cwright;	state Exp;
branches;
next	1.469;

1.469
date	2005.09.02.13.04.35;	author cwright;	state Exp;
branches;
next	1.468;

1.468
date	2005.09.01.23.04.41;	author cwright;	state Exp;
branches;
next	1.467;

1.467
date	2005.09.01.20.57.04;	author cwright;	state Exp;
branches;
next	1.466;

1.466
date	2005.09.01.13.20.49;	author cwright;	state Exp;
branches;
next	1.465;

1.465
date	2005.08.31.14.38.58;	author cwright;	state Exp;
branches;
next	1.464;

1.464
date	2005.08.30.19.23.20;	author cwright;	state Exp;
branches;
next	1.463;

1.463
date	2005.08.30.14.09.24;	author cwright;	state Exp;
branches;
next	1.462;

1.462
date	2005.08.29.17.51.58;	author cwright;	state Exp;
branches;
next	1.461;

1.461
date	2005.08.29.14.39.57;	author cwright;	state Exp;
branches;
next	1.460;

1.460
date	2005.08.29.14.26.36;	author cwright;	state Exp;
branches;
next	1.459;

1.459
date	2005.08.29.14.20.36;	author cwright;	state Exp;
branches;
next	1.458;

1.458
date	2005.08.29.14.10.11;	author cwright;	state Exp;
branches;
next	1.457;

1.457
date	2005.08.29.14.08.20;	author cwright;	state Exp;
branches;
next	1.456;

1.456
date	2005.08.29.13.53.40;	author cwright;	state Exp;
branches;
next	1.455;

1.455
date	2005.08.29.13.10.45;	author cwright;	state Exp;
branches;
next	1.454;

1.454
date	2005.08.28.14.00.49;	author cwright;	state Exp;
branches;
next	1.453;

1.453
date	2005.08.28.12.22.03;	author cwright;	state Exp;
branches;
next	1.452;

1.452
date	2005.08.27.00.55.22;	author arunmk;	state Exp;
branches;
next	1.451;

1.451
date	2005.08.26.20.00.12;	author cwright;	state Exp;
branches;
next	1.450;

1.450
date	2005.08.26.19.42.20;	author cwright;	state Exp;
branches;
next	1.449;

1.449
date	2005.08.26.18.34.35;	author cwright;	state Exp;
branches;
next	1.448;

1.448
date	2005.08.26.14.33.23;	author cwright;	state Exp;
branches;
next	1.447;

1.447
date	2005.08.25.21.31.18;	author dquigley;	state Exp;
branches;
next	1.446;

1.446
date	2005.08.25.20.35.38;	author cwright;	state Exp;
branches;
next	1.445;

1.445
date	2005.08.25.20.17.22;	author cwright;	state Exp;
branches;
next	1.444;

1.444
date	2005.08.25.19.09.20;	author cwright;	state Exp;
branches;
next	1.443;

1.443
date	2005.08.25.17.53.11;	author cwright;	state Exp;
branches;
next	1.442;

1.442
date	2005.08.25.13.42.28;	author cwright;	state Exp;
branches;
next	1.441;

1.441
date	2005.08.24.19.51.39;	author cwright;	state Exp;
branches;
next	1.440;

1.440
date	2005.08.24.17.36.19;	author cwright;	state Exp;
branches;
next	1.439;

1.439
date	2005.08.24.17.24.05;	author dquigley;	state Exp;
branches;
next	1.438;

1.438
date	2005.08.24.16.13.21;	author dquigley;	state Exp;
branches;
next	1.437;

1.437
date	2005.08.24.14.17.09;	author cwright;	state Exp;
branches;
next	1.436;

1.436
date	2005.08.24.02.23.37;	author cwright;	state Exp;
branches;
next	1.435;

1.435
date	2005.08.24.02.13.26;	author cwright;	state Exp;
branches;
next	1.434;

1.434
date	2005.08.23.15.35.11;	author cwright;	state Exp;
branches;
next	1.433;

1.433
date	2005.08.22.16.34.57;	author cwright;	state Exp;
branches;
next	1.432;

1.432
date	2005.08.22.16.01.14;	author cwright;	state Exp;
branches;
next	1.431;

1.431
date	2005.08.22.15.44.45;	author cwright;	state Exp;
branches;
next	1.430;

1.430
date	2005.08.22.14.46.40;	author cwright;	state Exp;
branches;
next	1.429;

1.429
date	2005.08.22.12.54.21;	author cwright;	state Exp;
branches;
next	1.428;

1.428
date	2005.08.20.04.06.03;	author cwright;	state Exp;
branches;
next	1.427;

1.427
date	2005.08.19.20.35.47;	author arunmk;	state Exp;
branches;
next	1.426;

1.426
date	2005.08.19.20.34.01;	author arunmk;	state Exp;
branches;
next	1.425;

1.425
date	2005.08.18.19.03.47;	author cwright;	state Exp;
branches;
next	1.424;

1.424
date	2005.08.18.18.51.20;	author cwright;	state Exp;
branches;
next	1.423;

1.423
date	2005.08.17.20.02.11;	author cwright;	state Exp;
branches;
next	1.422;

1.422
date	2005.08.15.14.55.47;	author cwright;	state Exp;
branches;
next	1.421;

1.421
date	2005.08.15.14.21.45;	author cwright;	state Exp;
branches;
next	1.420;

1.420
date	2005.08.15.13.11.03;	author cwright;	state Exp;
branches;
next	1.419;

1.419
date	2005.08.15.12.33.34;	author cwright;	state Exp;
branches;
next	1.418;

1.418
date	2005.08.12.18.50.55;	author arunmk;	state Exp;
branches;
next	1.417;

1.417
date	2005.08.11.19.47.45;	author cwright;	state Exp;
branches;
next	1.416;

1.416
date	2005.08.11.19.01.33;	author cwright;	state Exp;
branches;
next	1.415;

1.415
date	2005.08.11.18.40.45;	author arunmk;	state Exp;
branches;
next	1.414;

1.414
date	2005.08.11.17.28.53;	author cwright;	state Exp;
branches;
next	1.413;

1.413
date	2005.08.11.13.36.57;	author cwright;	state Exp;
branches;
next	1.412;

1.412
date	2005.08.10.16.30.52;	author cwright;	state Exp;
branches;
next	1.411;

1.411
date	2005.08.10.16.25.24;	author cwright;	state Exp;
branches;
next	1.410;

1.410
date	2005.08.10.13.39.25;	author cwright;	state Exp;
branches;
next	1.409;

1.409
date	2005.08.10.12.55.39;	author cwright;	state Exp;
branches;
next	1.408;

1.408
date	2005.08.09.18.37.41;	author cwright;	state Exp;
branches;
next	1.407;

1.407
date	2005.08.09.17.12.03;	author cwright;	state Exp;
branches;
next	1.406;

1.406
date	2005.08.09.15.55.53;	author cwright;	state Exp;
branches;
next	1.405;

1.405
date	2005.08.05.18.20.37;	author cwright;	state Exp;
branches;
next	1.404;

1.404
date	2005.08.05.17.08.13;	author arunmk;	state Exp;
branches;
next	1.403;

1.403
date	2005.08.04.21.30.33;	author arunmk;	state Exp;
branches;
next	1.402;

1.402
date	2005.08.04.17.00.11;	author cwright;	state Exp;
branches;
next	1.401;

1.401
date	2005.08.03.21.33.49;	author dquigley;	state Exp;
branches;
next	1.400;

1.400
date	2005.08.03.19.45.07;	author cwright;	state Exp;
branches;
next	1.399;

1.399
date	2005.08.03.17.32.11;	author arunmk;	state Exp;
branches;
next	1.398;

1.398
date	2005.08.03.15.59.58;	author cwright;	state Exp;
branches;
next	1.397;

1.397
date	2005.08.01.22.02.50;	author ezk;	state Exp;
branches;
next	1.396;

1.396
date	2005.08.01.19.47.27;	author arunmk;	state Exp;
branches;
next	1.395;

1.395
date	2005.08.01.19.18.19;	author arunmk;	state Exp;
branches;
next	1.394;

1.394
date	2005.08.01.15.27.56;	author cwright;	state Exp;
branches;
next	1.393;

1.393
date	2005.08.01.15.15.37;	author cwright;	state Exp;
branches;
next	1.392;

1.392
date	2005.08.01.14.06.50;	author cwright;	state Exp;
branches;
next	1.391;

1.391
date	2005.07.26.21.39.16;	author dquigley;	state Exp;
branches;
next	1.390;

1.390
date	2005.07.26.18.49.33;	author cwright;	state Exp;
branches;
next	1.389;

1.389
date	2005.07.26.18.32.10;	author dquigley;	state Exp;
branches;
next	1.388;

1.388
date	2005.07.26.18.30.58;	author cwright;	state Exp;
branches;
next	1.387;

1.387
date	2005.07.25.15.43.04;	author cwright;	state Exp;
branches;
next	1.386;

1.386
date	2005.07.25.12.17.59;	author cwright;	state Exp;
branches;
next	1.385;

1.385
date	2005.07.24.19.11.11;	author dquigley;	state Exp;
branches;
next	1.384;

1.384
date	2005.07.22.21.46.40;	author dquigley;	state Exp;
branches;
next	1.383;

1.383
date	2005.07.22.19.47.21;	author cwright;	state Exp;
branches;
next	1.382;

1.382
date	2005.07.22.18.36.15;	author arunmk;	state Exp;
branches;
next	1.381;

1.381
date	2005.07.22.17.16.14;	author cwright;	state Exp;
branches;
next	1.380;

1.380
date	2005.07.21.21.23.04;	author dquigley;	state Exp;
branches;
next	1.379;

1.379
date	2005.07.21.19.45.39;	author arunmk;	state Exp;
branches;
next	1.378;

1.378
date	2005.07.20.23.01.05;	author arunmk;	state Exp;
branches;
next	1.377;

1.377
date	2005.07.20.22.27.24;	author arunmk;	state Exp;
branches;
next	1.376;

1.376
date	2005.07.20.20.39.01;	author arunmk;	state Exp;
branches;
next	1.375;

1.375
date	2005.07.20.19.38.30;	author cwright;	state Exp;
branches;
next	1.374;

1.374
date	2005.07.20.16.19.14;	author cwright;	state Exp;
branches;
next	1.373;

1.373
date	2005.07.20.13.02.52;	author cwright;	state Exp;
branches;
next	1.372;

1.372
date	2005.07.19.19.50.01;	author cwright;	state Exp;
branches;
next	1.371;

1.371
date	2005.07.19.19.13.32;	author arunmk;	state Exp;
branches;
next	1.370;

1.370
date	2005.07.19.19.10.02;	author arunmk;	state Exp;
branches;
next	1.369;

1.369
date	2005.07.19.17.03.59;	author cwright;	state Exp;
branches;
next	1.368;

1.368
date	2005.07.18.19.13.17;	author arunmk;	state Exp;
branches;
next	1.367;

1.367
date	2005.07.18.15.47.05;	author cwright;	state Exp;
branches;
next	1.366;

1.366
date	2005.07.18.15.03.17;	author cwright;	state Exp;
branches;
next	1.365;

1.365
date	2005.07.14.20.52.54;	author arunmk;	state Exp;
branches;
next	1.364;

1.364
date	2005.07.14.20.26.52;	author arunmk;	state Exp;
branches;
next	1.363;

1.363
date	2005.07.13.19.47.40;	author arunmk;	state Exp;
branches;
next	1.362;

1.362
date	2005.07.08.23.26.27;	author arunmk;	state Exp;
branches;
next	1.361;

1.361
date	2005.07.07.22.19.27;	author dquigley;	state Exp;
branches;
next	1.360;

1.360
date	2005.07.07.21.49.43;	author dquigley;	state Exp;
branches;
next	1.359;

1.359
date	2005.07.07.21.11.05;	author dquigley;	state Exp;
branches;
next	1.358;

1.358
date	2005.07.01.02.12.52;	author dquigley;	state Exp;
branches;
next	1.357;

1.357
date	2005.06.28.22.41.21;	author dquigley;	state Exp;
branches;
next	1.356;

1.356
date	2005.06.25.02.25.00;	author dquigley;	state Exp;
branches;
next	1.355;

1.355
date	2005.06.23.20.18.13;	author cwright;	state Exp;
branches;
next	1.354;

1.354
date	2005.06.23.17.31.01;	author arunmk;	state Exp;
branches;
next	1.353;

1.353
date	2005.06.23.17.23.04;	author arunmk;	state Exp;
branches;
next	1.352;

1.352
date	2005.06.22.17.59.32;	author arunmk;	state Exp;
branches;
next	1.351;

1.351
date	2005.06.21.19.58.15;	author dquigley;	state Exp;
branches;
next	1.350;

1.350
date	2005.06.17.22.37.13;	author dquigley;	state Exp;
branches;
next	1.349;

1.349
date	2005.06.17.21.58.17;	author dquigley;	state Exp;
branches;
next	1.348;

1.348
date	2005.06.17.15.08.33;	author cwright;	state Exp;
branches;
next	1.347;

1.347
date	2005.06.17.14.26.15;	author cwright;	state Exp;
branches;
next	1.346;

1.346
date	2005.06.17.13.38.16;	author cwright;	state Exp;
branches;
next	1.345;

1.345
date	2005.06.17.01.50.28;	author dquigley;	state Exp;
branches;
next	1.344;

1.344
date	2005.06.16.19.50.10;	author dquigley;	state Exp;
branches;
next	1.343;

1.343
date	2005.06.16.17.56.21;	author dquigley;	state Exp;
branches;
next	1.342;

1.342
date	2005.06.15.17.34.23;	author dquigley;	state Exp;
branches;
next	1.341;

1.341
date	2005.06.15.13.03.12;	author cwright;	state Exp;
branches;
next	1.340;

1.340
date	2005.06.15.12.32.51;	author cwright;	state Exp;
branches;
next	1.339;

1.339
date	2005.06.12.04.11.16;	author cwright;	state Exp;
branches;
next	1.338;

1.338
date	2005.06.10.23.33.41;	author dquigley;	state Exp;
branches;
next	1.337;

1.337
date	2005.06.10.22.36.15;	author dquigley;	state Exp;
branches;
next	1.336;

1.336
date	2005.05.26.15.38.04;	author cwright;	state Exp;
branches;
next	1.335;

1.335
date	2005.05.25.20.46.31;	author dquigley;	state Exp;
branches;
next	1.334;

1.334
date	2005.05.24.15.02.32;	author cwright;	state Exp;
branches;
next	1.333;

1.333
date	2005.05.24.14.28.52;	author cwright;	state Exp;
branches;
next	1.332;

1.332
date	2005.05.23.16.58.52;	author cwright;	state Exp;
branches;
next	1.331;

1.331
date	2005.05.23.16.49.26;	author cwright;	state Exp;
branches;
next	1.330;

1.330
date	2005.05.19.20.16.23;	author cwright;	state Exp;
branches;
next	1.329;

1.329
date	2005.05.19.19.37.25;	author cwright;	state Exp;
branches;
next	1.328;

1.328
date	2005.05.19.19.26.14;	author cwright;	state Exp;
branches;
next	1.327;

1.327
date	2005.05.17.22.38.04;	author cwright;	state Exp;
branches;
next	1.326;

1.326
date	2005.05.16.17.22.16;	author cwright;	state Exp;
branches;
next	1.325;

1.325
date	2005.05.14.23.40.07;	author cwright;	state Exp;
branches;
next	1.324;

1.324
date	2005.05.14.19.42.32;	author cwright;	state Exp;
branches;
next	1.323;

1.323
date	2005.05.13.21.32.28;	author cwright;	state Exp;
branches;
next	1.322;

1.322
date	2005.05.13.21.29.53;	author cwright;	state Exp;
branches;
next	1.321;

1.321
date	2005.05.13.19.30.26;	author cwright;	state Exp;
branches;
next	1.320;

1.320
date	2005.05.13.18.14.51;	author cwright;	state Exp;
branches;
next	1.319;

1.319
date	2005.05.13.15.58.50;	author cwright;	state Exp;
branches;
next	1.318;

1.318
date	2005.05.13.15.56.54;	author dquigley;	state Exp;
branches;
next	1.317;

1.317
date	2005.05.12.21.00.51;	author dquigley;	state Exp;
branches;
next	1.316;

1.316
date	2005.05.12.20.57.52;	author dquigley;	state Exp;
branches;
next	1.315;

1.315
date	2005.05.11.16.26.02;	author cwright;	state Exp;
branches;
next	1.314;

1.314
date	2005.05.11.13.04.31;	author cwright;	state Exp;
branches;
next	1.313;

1.313
date	2005.05.10.12.57.29;	author cwright;	state Exp;
branches;
next	1.312;

1.312
date	2005.05.09.02.21.58;	author cwright;	state Exp;
branches;
next	1.311;

1.311
date	2005.05.08.20.37.41;	author cwright;	state Exp;
branches;
next	1.310;

1.310
date	2005.05.08.14.14.33;	author cwright;	state Exp;
branches;
next	1.309;

1.309
date	2005.05.08.12.58.04;	author cwright;	state Exp;
branches;
next	1.308;

1.308
date	2005.05.08.12.50.38;	author cwright;	state Exp;
branches;
next	1.307;

1.307
date	2005.05.06.20.33.56;	author cwright;	state Exp;
branches;
next	1.306;

1.306
date	2005.05.06.15.29.58;	author cwright;	state Exp;
branches;
next	1.305;

1.305
date	2005.05.06.15.18.29;	author cwright;	state Exp;
branches;
next	1.304;

1.304
date	2005.05.05.12.28.15;	author cwright;	state Exp;
branches;
next	1.303;

1.303
date	2005.04.27.15.23.01;	author dquigley;	state Exp;
branches;
next	1.302;

1.302
date	2005.04.27.14.24.05;	author dquigley;	state Exp;
branches;
next	1.301;

1.301
date	2005.04.26.17.19.29;	author cwright;	state Exp;
branches;
next	1.300;

1.300
date	2005.04.26.15.46.59;	author cwright;	state Exp;
branches;
next	1.299;

1.299
date	2005.04.25.19.56.41;	author cwright;	state Exp;
branches;
next	1.298;

1.298
date	2005.04.22.12.53.59;	author cwright;	state Exp;
branches;
next	1.297;

1.297
date	2005.04.21.16.54.58;	author cwright;	state Exp;
branches;
next	1.296;

1.296
date	2005.04.21.16.16.59;	author cwright;	state Exp;
branches;
next	1.295;

1.295
date	2005.04.21.13.51.00;	author cwright;	state Exp;
branches;
next	1.294;

1.294
date	2005.04.20.20.59.58;	author cwright;	state Exp;
branches;
next	1.293;

1.293
date	2005.04.20.20.22.50;	author cwright;	state Exp;
branches;
next	1.292;

1.292
date	2005.04.20.19.49.57;	author cwright;	state Exp;
branches;
next	1.291;

1.291
date	2005.04.20.14.13.19;	author cwright;	state Exp;
branches;
next	1.290;

1.290
date	2005.04.19.21.06.35;	author dquigley;	state Exp;
branches;
next	1.289;

1.289
date	2005.04.18.22.01.29;	author dquigley;	state Exp;
branches;
next	1.288;

1.288
date	2005.04.18.20.28.56;	author dquigley;	state Exp;
branches;
next	1.287;

1.287
date	2005.04.18.20.16.05;	author cwright;	state Exp;
branches;
next	1.286;

1.286
date	2005.04.18.18.42.17;	author dquigley;	state Exp;
branches;
next	1.285;

1.285
date	2005.04.18.18.35.21;	author cwright;	state Exp;
branches;
next	1.284;

1.284
date	2005.04.18.17.28.21;	author cwright;	state Exp;
branches;
next	1.283;

1.283
date	2005.04.18.13.16.42;	author cwright;	state Exp;
branches;
next	1.282;

1.282
date	2005.04.14.00.28.47;	author dquigley;	state Exp;
branches;
next	1.281;

1.281
date	2005.04.13.21.54.34;	author dquigley;	state Exp;
branches;
next	1.280;

1.280
date	2005.04.12.00.50.47;	author dquigley;	state Exp;
branches;
next	1.279;

1.279
date	2005.04.11.23.39.16;	author dquigley;	state Exp;
branches;
next	1.278;

1.278
date	2005.03.25.00.09.58;	author dquigley;	state Exp;
branches;
next	1.277;

1.277
date	2005.03.24.03.26.46;	author dquigley;	state Exp;
branches;
next	1.276;

1.276
date	2005.03.21.15.32.34;	author cwright;	state Exp;
branches;
next	1.275;

1.275
date	2005.03.17.17.40.17;	author cwright;	state Exp;
branches;
next	1.274;

1.274
date	2005.03.16.19.08.30;	author cwright;	state Exp;
branches;
next	1.273;

1.273
date	2005.03.16.15.37.39;	author cwright;	state Exp;
branches;
next	1.272;

1.272
date	2005.03.16.14.08.09;	author cwright;	state Exp;
branches;
next	1.271;

1.271
date	2005.03.15.17.49.54;	author dquigley;	state Exp;
branches;
next	1.270;

1.270
date	2005.03.14.22.19.49;	author dquigley;	state Exp;
branches;
next	1.269;

1.269
date	2005.03.10.16.33.01;	author cwright;	state Exp;
branches;
next	1.268;

1.268
date	2005.03.10.16.24.23;	author dquigley;	state Exp;
branches;
next	1.267;

1.267
date	2005.03.10.14.20.03;	author cwright;	state Exp;
branches;
next	1.266;

1.266
date	2005.03.10.13.48.33;	author cwright;	state Exp;
branches;
next	1.265;

1.265
date	2005.03.10.02.06.39;	author dquigley;	state Exp;
branches;
next	1.264;

1.264
date	2005.03.08.14.42.31;	author cwright;	state Exp;
branches;
next	1.263;

1.263
date	2005.03.07.14.58.34;	author cwright;	state Exp;
branches;
next	1.262;

1.262
date	2005.03.07.14.38.20;	author cwright;	state Exp;
branches;
next	1.261;

1.261
date	2005.03.03.13.42.00;	author cwright;	state Exp;
branches;
next	1.260;

1.260
date	2005.03.03.13.28.41;	author cwright;	state Exp;
branches;
next	1.259;

1.259
date	2005.03.02.21.39.38;	author cwright;	state Exp;
branches;
next	1.258;

1.258
date	2005.03.02.15.10.40;	author cwright;	state Exp;
branches;
next	1.257;

1.257
date	2005.03.02.13.30.13;	author cwright;	state Exp;
branches;
next	1.256;

1.256
date	2005.02.24.18.44.14;	author cwright;	state Exp;
branches;
next	1.255;

1.255
date	2005.02.22.21.36.46;	author cwright;	state Exp;
branches;
next	1.254;

1.254
date	2005.02.22.18.42.58;	author cwright;	state Exp;
branches;
next	1.253;

1.253
date	2005.02.22.17.24.35;	author dquigley;	state Exp;
branches;
next	1.252;

1.252
date	2005.02.22.17.10.04;	author cwright;	state Exp;
branches;
next	1.251;

1.251
date	2005.02.22.16.25.35;	author dquigley;	state Exp;
branches;
next	1.250;

1.250
date	2005.02.22.14.49.42;	author cwright;	state Exp;
branches;
next	1.249;

1.249
date	2005.02.19.00.51.48;	author ezk;	state Exp;
branches;
next	1.248;

1.248
date	2005.02.18.22.49.49;	author dquigley;	state Exp;
branches;
next	1.247;

1.247
date	2005.02.18.22.28.14;	author dquigley;	state Exp;
branches;
next	1.246;

1.246
date	2005.02.18.22.23.14;	author dquigley;	state Exp;
branches;
next	1.245;

1.245
date	2005.02.17.16.55.52;	author cwright;	state Exp;
branches;
next	1.244;

1.244
date	2005.02.14.14.19.11;	author cwright;	state Exp;
branches;
next	1.243;

1.243
date	2005.02.10.00.05.47;	author dquigley;	state Exp;
branches;
next	1.242;

1.242
date	2005.02.08.15.17.38;	author cwright;	state Exp;
branches;
next	1.241;

1.241
date	2005.02.08.14.10.01;	author cwright;	state Exp;
branches;
next	1.240;

1.240
date	2005.02.07.23.32.41;	author cwright;	state Exp;
branches;
next	1.239;

1.239
date	2005.02.07.22.38.04;	author dquigley;	state Exp;
branches;
next	1.238;

1.238
date	2005.02.07.20.57.30;	author dquigley;	state Exp;
branches;
next	1.237;

1.237
date	2005.02.07.19.40.52;	author cwright;	state Exp;
branches;
next	1.236;

1.236
date	2005.02.07.02.17.37;	author dquigley;	state Exp;
branches;
next	1.235;

1.235
date	2005.02.02.15.52.13;	author cwright;	state Exp;
branches;
next	1.234;

1.234
date	2005.02.02.15.28.02;	author cwright;	state Exp;
branches;
next	1.233;

1.233
date	2005.02.01.22.21.09;	author dquigley;	state Exp;
branches;
next	1.232;

1.232
date	2005.01.28.22.19.06;	author cwright;	state Exp;
branches;
next	1.231;

1.231
date	2005.01.28.17.58.44;	author cwright;	state Exp;
branches;
next	1.230;

1.230
date	2005.01.26.16.33.37;	author cwright;	state Exp;
branches;
next	1.229;

1.229
date	2005.01.19.15.04.05;	author cwright;	state Exp;
branches;
next	1.228;

1.228
date	2005.01.19.14.31.51;	author cwright;	state Exp;
branches;
next	1.227;

1.227
date	2005.01.14.20.41.12;	author cwright;	state Exp;
branches;
next	1.226;

1.226
date	2005.01.14.19.57.53;	author dquigley;	state Exp;
branches;
next	1.225;

1.225
date	2005.01.14.15.12.08;	author cwright;	state Exp;
branches;
next	1.224;

1.224
date	2005.01.14.14.14.09;	author cwright;	state Exp;
branches;
next	1.223;

1.223
date	2005.01.13.22.05.26;	author cwright;	state Exp;
branches;
next	1.222;

1.222
date	2005.01.13.14.33.54;	author cwright;	state Exp;
branches;
next	1.221;

1.221
date	2005.01.11.16.18.13;	author dquigley;	state Exp;
branches;
next	1.220;

1.220
date	2005.01.10.18.42.01;	author cwright;	state Exp;
branches;
next	1.219;

1.219
date	2005.01.10.17.58.33;	author cwright;	state Exp;
branches;
next	1.218;

1.218
date	2005.01.10.17.39.47;	author dquigley;	state Exp;
branches;
next	1.217;

1.217
date	2005.01.10.16.41.57;	author cwright;	state Exp;
branches;
next	1.216;

1.216
date	2005.01.10.14.57.38;	author cwright;	state Exp;
branches;
next	1.215;

1.215
date	2005.01.10.14.45.44;	author cwright;	state Exp;
branches;
next	1.214;

1.214
date	2005.01.10.14.20.17;	author cwright;	state Exp;
branches;
next	1.213;

1.213
date	2005.01.10.14.14.07;	author cwright;	state Exp;
branches;
next	1.212;

1.212
date	2005.01.10.13.53.37;	author cwright;	state Exp;
branches;
next	1.211;

1.211
date	2005.01.09.22.03.13;	author cwright;	state Exp;
branches;
next	1.210;

1.210
date	2005.01.09.21.43.24;	author ezk;	state Exp;
branches;
next	1.209;

1.209
date	2005.01.07.17.24.34;	author cwright;	state Exp;
branches;
next	1.208;

1.208
date	2005.01.07.17.20.46;	author cwright;	state Exp;
branches;
next	1.207;

1.207
date	2005.01.07.17.18.45;	author cwright;	state Exp;
branches;
next	1.206;

1.206
date	2005.01.07.17.15.05;	author cwright;	state Exp;
branches;
next	1.205;

1.205
date	2005.01.07.17.13.50;	author cwright;	state Exp;
branches;
next	1.204;

1.204
date	2005.01.07.17.11.57;	author cwright;	state Exp;
branches;
next	1.203;

1.203
date	2005.01.07.17.10.09;	author cwright;	state Exp;
branches;
next	1.202;

1.202
date	2005.01.07.17.02.47;	author cwright;	state Exp;
branches;
next	1.201;

1.201
date	2005.01.07.16.55.35;	author cwright;	state Exp;
branches;
next	1.200;

1.200
date	2005.01.07.14.54.42;	author cwright;	state Exp;
branches;
next	1.199;

1.199
date	2005.01.07.14.31.25;	author cwright;	state Exp;
branches;
next	1.198;

1.198
date	2005.01.06.21.17.35;	author cwright;	state Exp;
branches;
next	1.197;

1.197
date	2005.01.06.18.54.53;	author cwright;	state Exp;
branches;
next	1.196;

1.196
date	2005.01.06.13.32.20;	author cwright;	state Exp;
branches;
next	1.195;

1.195
date	2005.01.04.21.29.55;	author cwright;	state Exp;
branches;
next	1.194;

1.194
date	2005.01.04.20.19.01;	author cwright;	state Exp;
branches;
next	1.193;

1.193
date	2005.01.04.19.09.07;	author cwright;	state Exp;
branches;
next	1.192;

1.192
date	2005.01.04.17.11.05;	author cwright;	state Exp;
branches;
next	1.191;

1.191
date	2005.01.04.15.11.24;	author cwright;	state Exp;
branches;
next	1.190;

1.190
date	2004.12.30.19.44.51;	author cwright;	state Exp;
branches;
next	1.189;

1.189
date	2004.12.29.15.20.37;	author cwright;	state Exp;
branches;
next	1.188;

1.188
date	2004.12.29.15.11.47;	author cwright;	state Exp;
branches;
next	1.187;

1.187
date	2004.12.27.19.59.19;	author cwright;	state Exp;
branches;
next	1.186;

1.186
date	2004.12.06.19.16.45;	author cwright;	state Exp;
branches;
next	1.185;

1.185
date	2004.11.10.14.41.18;	author cwright;	state Exp;
branches;
next	1.184;

1.184
date	2004.11.10.14.38.03;	author cwright;	state Exp;
branches;
next	1.183;

1.183
date	2004.11.10.14.12.10;	author cwright;	state Exp;
branches;
next	1.182;

1.182
date	2004.11.10.00.34.19;	author ezk;	state Exp;
branches;
next	1.181;

1.181
date	2004.11.10.00.28.16;	author ezk;	state Exp;
branches;
next	1.180;

1.180
date	2004.11.09.20.56.16;	author cwright;	state Exp;
branches;
next	1.179;

1.179
date	2004.11.07.15.39.12;	author ezk;	state Exp;
branches;
next	1.178;

1.178
date	2004.09.23.17.47.01;	author ezk;	state Exp;
branches;
next	1.177;

1.177
date	2004.09.15.15.08.15;	author cwright;	state Exp;
branches;
next	1.176;

1.176
date	2004.08.24.17.46.56;	author cwright;	state Exp;
branches;
next	1.175;

1.175
date	2004.08.23.18.21.57;	author zubair;	state Exp;
branches;
next	1.174;

1.174
date	2004.08.20.17.34.13;	author cwright;	state Exp;
branches;
next	1.173;

1.173
date	2004.08.20.16.17.50;	author cwright;	state Exp;
branches;
next	1.172;

1.172
date	2004.08.20.14.03.01;	author cwright;	state Exp;
branches;
next	1.171;

1.171
date	2004.08.20.13.30.45;	author cwright;	state Exp;
branches;
next	1.170;

1.170
date	2004.08.20.13.29.46;	author cwright;	state Exp;
branches;
next	1.169;

1.169
date	2004.08.19.20.13.29;	author zubair;	state Exp;
branches;
next	1.168;

1.168
date	2004.08.19.17.25.52;	author cwright;	state Exp;
branches;
next	1.167;

1.167
date	2004.08.19.15.35.29;	author cwright;	state Exp;
branches;
next	1.166;

1.166
date	2004.08.19.15.13.14;	author cwright;	state Exp;
branches;
next	1.165;

1.165
date	2004.08.19.15.10.04;	author cwright;	state Exp;
branches;
next	1.164;

1.164
date	2004.08.18.20.42.16;	author cwright;	state Exp;
branches;
next	1.163;

1.163
date	2004.08.18.17.39.31;	author zubair;	state Exp;
branches;
next	1.162;

1.162
date	2004.08.18.15.22.48;	author zubair;	state Exp;
branches;
next	1.161;

1.161
date	2004.08.17.18.25.14;	author cwright;	state Exp;
branches;
next	1.160;

1.160
date	2004.08.17.16.17.56;	author cwright;	state Exp;
branches;
next	1.159;

1.159
date	2004.08.17.14.41.36;	author cwright;	state Exp;
branches;
next	1.158;

1.158
date	2004.08.16.14.52.36;	author cwright;	state Exp;
branches;
next	1.157;

1.157
date	2004.08.11.17.31.46;	author cwright;	state Exp;
branches;
next	1.156;

1.156
date	2004.08.11.15.30.58;	author cwright;	state Exp;
branches;
next	1.155;

1.155
date	2004.08.11.14.23.37;	author cwright;	state Exp;
branches;
next	1.154;

1.154
date	2004.08.10.16.56.50;	author zubair;	state Exp;
branches;
next	1.153;

1.153
date	2004.08.10.16.26.03;	author zubair;	state Exp;
branches;
next	1.152;

1.152
date	2004.08.10.15.54.34;	author zubair;	state Exp;
branches;
next	1.151;

1.151
date	2004.08.09.19.56.02;	author zubair;	state Exp;
branches;
next	1.150;

1.150
date	2004.08.09.17.14.31;	author zubair;	state Exp;
branches;
next	1.149;

1.149
date	2004.08.09.16.13.03;	author zubair;	state Exp;
branches;
next	1.148;

1.148
date	2004.08.09.16.10.19;	author zubair;	state Exp;
branches;
next	1.147;

1.147
date	2004.08.09.15.42.07;	author zubair;	state Exp;
branches;
next	1.146;

1.146
date	2004.08.04.14.48.40;	author cwright;	state Exp;
branches;
next	1.145;

1.145
date	2004.08.03.20.26.31;	author zubair;	state Exp;
branches;
next	1.144;

1.144
date	2004.08.03.17.50.27;	author zubair;	state Exp;
branches;
next	1.143;

1.143
date	2004.08.02.18.31.37;	author zubair;	state Exp;
branches;
next	1.142;

1.142
date	2004.05.17.18.06.19;	author cwright;	state Exp;
branches;
next	1.141;

1.141
date	2004.05.10.22.01.57;	author cwright;	state Exp;
branches;
next	1.140;

1.140
date	2004.04.21.20.09.03;	author cwright;	state Exp;
branches;
next	1.139;

1.139
date	2004.04.21.15.55.39;	author cwright;	state Exp;
branches;
next	1.138;

1.138
date	2004.04.20.20.16.35;	author cwright;	state Exp;
branches;
next	1.137;

1.137
date	2004.04.19.17.16.43;	author cwright;	state Exp;
branches;
next	1.136;

1.136
date	2004.03.15.23.47.38;	author cwright;	state Exp;
branches;
next	1.135;

1.135
date	2004.03.15.23.20.04;	author cwright;	state Exp;
branches;
next	1.134;

1.134
date	2004.03.15.04.09.41;	author cwright;	state Exp;
branches;
next	1.133;

1.133
date	2004.03.15.03.54.17;	author cwright;	state Exp;
branches;
next	1.132;

1.132
date	2004.03.12.05.28.55;	author cwright;	state Exp;
branches;
next	1.131;

1.131
date	2004.03.12.04.23.48;	author cwright;	state Exp;
branches;
next	1.130;

1.130
date	2004.03.05.04.42.13;	author cwright;	state Exp;
branches;
next	1.129;

1.129
date	2004.03.05.01.45.55;	author cwright;	state Exp;
branches;
next	1.128;

1.128
date	2004.03.03.22.07.57;	author cwright;	state Exp;
branches;
next	1.127;

1.127
date	2004.03.03.04.20.40;	author cwright;	state Exp;
branches;
next	1.126;

1.126
date	2003.11.11.03.27.15;	author hari;	state Exp;
branches;
next	1.125;

1.125
date	2003.10.01.22.05.18;	author puja;	state Exp;
branches;
next	1.124;

1.124
date	2003.09.27.05.41.48;	author puja;	state Exp;
branches;
next	1.123;

1.123
date	2003.09.27.01.30.46;	author puja;	state Exp;
branches;
next	1.122;

1.122
date	2003.09.26.08.50.06;	author puja;	state Exp;
branches;
next	1.121;

1.121
date	2003.09.26.08.17.04;	author puja;	state Exp;
branches;
next	1.120;

1.120
date	2003.09.26.06.58.45;	author hari;	state Exp;
branches;
next	1.119;

1.119
date	2003.09.24.05.50.41;	author puja;	state Exp;
branches;
next	1.118;

1.118
date	2003.09.23.08.43.32;	author puja;	state Exp;
branches;
next	1.117;

1.117
date	2003.09.23.06.12.21;	author puja;	state Exp;
branches;
next	1.116;

1.116
date	2003.09.23.00.16.46;	author hari;	state Exp;
branches;
next	1.115;

1.115
date	2003.09.22.18.03.58;	author aaranya;	state Exp;
branches;
next	1.114;

1.114
date	2003.09.22.18.01.45;	author cwright;	state Exp;
branches;
next	1.113;

1.113
date	2003.09.22.17.46.41;	author ezk;	state Exp;
branches;
next	1.112;

1.112
date	2003.09.22.09.09.07;	author puja;	state Exp;
branches;
next	1.111;

1.111
date	2003.09.22.08.51.25;	author puja;	state Exp;
branches;
next	1.110;

1.110
date	2003.09.22.08.17.26;	author puja;	state Exp;
branches;
next	1.109;

1.109
date	2003.09.22.06.57.35;	author ezk;	state Exp;
branches;
next	1.108;

1.108
date	2003.09.22.05.49.39;	author ezk;	state Exp;
branches;
next	1.107;

1.107
date	2003.09.22.04.56.11;	author zubair;	state Exp;
branches;
next	1.106;

1.106
date	2003.09.22.04.13.42;	author puja;	state Exp;
branches;
next	1.105;

1.105
date	2003.09.22.04.01.23;	author zubair;	state Exp;
branches;
next	1.104;

1.104
date	2003.09.22.03.45.34;	author puja;	state Exp;
branches;
next	1.103;

1.103
date	2003.09.22.02.08.23;	author zubair;	state Exp;
branches;
next	1.102;

1.102
date	2003.09.22.00.35.49;	author puja;	state Exp;
branches;
next	1.101;

1.101
date	2003.09.22.00.27.42;	author puja;	state Exp;
branches;
next	1.100;

1.100
date	2003.09.22.00.00.50;	author zubair;	state Exp;
branches;
next	1.99;

1.99
date	2003.09.21.22.44.58;	author zubair;	state Exp;
branches;
next	1.98;

1.98
date	2003.09.21.20.13.28;	author puja;	state Exp;
branches;
next	1.97;

1.97
date	2003.09.21.10.58.44;	author zubair;	state Exp;
branches;
next	1.96;

1.96
date	2003.09.21.10.56.02;	author puja;	state Exp;
branches;
next	1.95;

1.95
date	2003.09.21.10.04.39;	author puja;	state Exp;
branches;
next	1.94;

1.94
date	2003.09.21.07.52.32;	author zubair;	state Exp;
branches;
next	1.93;

1.93
date	2003.09.21.07.29.31;	author puja;	state Exp;
branches;
next	1.92;

1.92
date	2003.09.21.05.21.10;	author puja;	state Exp;
branches;
next	1.91;

1.91
date	2003.09.21.04.54.41;	author zubair;	state Exp;
branches;
next	1.90;

1.90
date	2003.09.20.22.42.37;	author puja;	state Exp;
branches;
next	1.89;

1.89
date	2003.09.20.17.10.31;	author cwright;	state Exp;
branches;
next	1.88;

1.88
date	2003.09.20.07.59.48;	author puja;	state Exp;
branches;
next	1.87;

1.87
date	2003.09.20.07.54.55;	author puja;	state Exp;
branches;
next	1.86;

1.86
date	2003.09.20.03.30.54;	author puja;	state Exp;
branches;
next	1.85;

1.85
date	2003.09.20.00.43.52;	author puja;	state Exp;
branches;
next	1.84;

1.84
date	2003.09.19.22.20.07;	author hari;	state Exp;
branches;
next	1.83;

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

1.82
date	2003.09.19.10.45.30;	author zubair;	state Exp;
branches;
next	1.81;

1.81
date	2003.09.18.02.10.25;	author puja;	state Exp;
branches;
next	1.80;

1.80
date	2003.09.18.00.36.17;	author puja;	state Exp;
branches;
next	1.79;

1.79
date	2003.09.17.19.33.43;	author hari;	state Exp;
branches;
next	1.78;

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

1.77
date	2003.09.16.07.27.20;	author puja;	state Exp;
branches;
next	1.76;

1.76
date	2003.09.16.05.58.46;	author zubair;	state Exp;
branches;
next	1.75;

1.75
date	2003.09.16.05.53.41;	author zubair;	state Exp;
branches;
next	1.74;

1.74
date	2003.09.16.05.29.15;	author puja;	state Exp;
branches;
next	1.73;

1.73
date	2003.09.16.05.12.32;	author puja;	state Exp;
branches;
next	1.72;

1.72
date	2003.09.16.03.18.22;	author puja;	state Exp;
branches;
next	1.71;

1.71
date	2003.09.15.19.32.23;	author zubair;	state Exp;
branches;
next	1.70;

1.70
date	2003.09.15.02.19.48;	author puja;	state Exp;
branches;
next	1.69;

1.69
date	2003.09.15.01.11.21;	author cwright;	state Exp;
branches;
next	1.68;

1.68
date	2003.09.14.22.38.45;	author puja;	state Exp;
branches;
next	1.67;

1.67
date	2003.09.14.21.55.46;	author puja;	state Exp;
branches;
next	1.66;

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

1.65
date	2003.09.13.18.35.07;	author puja;	state Exp;
branches;
next	1.64;

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

1.63
date	2003.09.13.01.53.47;	author cwright;	state Exp;
branches;
next	1.62;

1.62
date	2003.09.13.00.37.07;	author cwright;	state Exp;
branches;
next	1.61;

1.61
date	2003.09.12.02.32.20;	author puja;	state Exp;
branches;
next	1.60;

1.60
date	2003.09.12.01.08.33;	author jdave;	state Exp;
branches;
next	1.59;

1.59
date	2003.09.12.00.46.17;	author puja;	state Exp;
branches;
next	1.58;

1.58
date	2003.09.11.20.47.39;	author puja;	state Exp;
branches;
next	1.57;

1.57
date	2003.09.11.17.35.25;	author puja;	state Exp;
branches;
next	1.56;

1.56
date	2003.09.11.17.00.12;	author puja;	state Exp;
branches;
next	1.55;

1.55
date	2003.09.11.15.42.02;	author puja;	state Exp;
branches;
next	1.54;

1.54
date	2003.09.11.10.33.21;	author zubair;	state Exp;
branches;
next	1.53;

1.53
date	2003.09.10.23.28.04;	author cwright;	state Exp;
branches;
next	1.52;

1.52
date	2003.09.10.19.36.46;	author cwright;	state Exp;
branches;
next	1.51;

1.51
date	2003.09.10.17.57.22;	author puja;	state Exp;
branches;
next	1.50;

1.50
date	2003.09.10.15.30.12;	author puja;	state Exp;
branches;
next	1.49;

1.49
date	2003.09.10.02.19.35;	author puja;	state Exp;
branches;
next	1.48;

1.48
date	2003.09.10.00.44.53;	author zubair;	state Exp;
branches;
next	1.47;

1.47
date	2003.09.09.19.44.49;	author zubair;	state Exp;
branches;
next	1.46;

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

1.45
date	2003.09.07.22.32.33;	author puja;	state Exp;
branches;
next	1.44;

1.44
date	2003.09.07.18.56.48;	author puja;	state Exp;
branches;
next	1.43;

1.43
date	2003.09.06.21.52.04;	author puja;	state Exp;
branches;
next	1.42;

1.42
date	2003.09.06.00.59.26;	author zubair;	state Exp;
branches;
next	1.41;

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

1.40
date	2003.09.05.16.23.05;	author cwright;	state Exp;
branches;
next	1.39;

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

1.38
date	2003.09.03.06.49.24;	author zubair;	state Exp;
branches;
next	1.37;

1.37
date	2003.09.01.23.55.04;	author zubair;	state Exp;
branches;
next	1.36;

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

1.35
date	2003.09.01.17.13.48;	author zubair;	state Exp;
branches;
next	1.34;

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

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

1.32
date	2003.08.29.06.16.29;	author zubair;	state Exp;
branches;
next	1.31;

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

1.30
date	2003.08.27.17.48.24;	author zubair;	state Exp;
branches;
next	1.29;

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

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

1.27
date	2003.08.14.03.57.56;	author zubair;	state Exp;
branches;
next	1.26;

1.26
date	2003.08.13.23.58.25;	author zubair;	state Exp;
branches;
next	1.25;

1.25
date	2003.08.13.14.14.04;	author puja;	state Exp;
branches;
next	1.24;

1.24
date	2003.08.12.20.51.22;	author puja;	state Exp;
branches;
next	1.23;

1.23
date	2003.08.04.17.57.22;	author puja;	state Exp;
branches;
next	1.22;

1.22
date	2003.08.04.07.18.13;	author zubair;	state Exp;
branches;
next	1.21;

1.21
date	2003.07.31.22.48.09;	author zubair;	state Exp;
branches;
next	1.20;

1.20
date	2003.07.31.02.18.23;	author puja;	state Exp;
branches;
next	1.19;

1.19
date	2003.07.31.00.13.02;	author puja;	state Exp;
branches;
next	1.18;

1.18
date	2003.07.28.22.11.43;	author puja;	state Exp;
branches;
next	1.17;

1.17
date	2003.07.28.18.20.41;	author zubair;	state Exp;
branches;
next	1.16;

1.16
date	2003.07.28.16.40.18;	author zubair;	state Exp;
branches;
next	1.15;

1.15
date	2003.07.25.00.12.00;	author puja;	state Exp;
branches;
next	1.14;

1.14
date	2003.07.24.20.29.47;	author puja;	state Exp;
branches;
next	1.13;

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

1.12
date	2003.07.23.08.47.15;	author zubair;	state Exp;
branches;
next	1.11;

1.11
date	2003.07.22.13.25.52;	author puja;	state Exp;
branches;
next	1.10;

1.10
date	2003.07.22.02.45.55;	author puja;	state Exp;
branches;
next	1.9;

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

1.8
date	2003.07.17.23.52.47;	author zubair;	state Exp;
branches;
next	1.7;

1.7
date	2003.07.16.01.10.18;	author puja;	state Exp;
branches;
next	1.6;

1.6
date	2003.07.14.07.12.30;	author zubair;	state Exp;
branches;
next	1.5;

1.5
date	2003.07.13.21.50.01;	author puja;	state Exp;
branches;
next	1.4;

1.4
date	2003.07.11.22.44.35;	author zubair;	state Exp;
branches;
next	1.3;

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

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

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

1.622.2.1
date	2006.04.11.05.27.56;	author jsipek;	state Exp;
branches;
next	1.622.2.2;

1.622.2.2
date	2006.04.11.05.36.03;	author jsipek;	state Exp;
branches;
next	1.622.2.3;

1.622.2.3
date	2006.04.11.19.37.35;	author jsipek;	state Exp;
branches;
next	1.622.2.4;

1.622.2.4
date	2006.04.11.20.18.20;	author jsipek;	state Exp;
branches;
next	1.622.2.5;

1.622.2.5
date	2006.04.14.23.58.10;	author dquigley;	state Exp;
branches;
next	1.622.2.6;

1.622.2.6
date	2006.04.17.09.36.34;	author jsipek;	state Exp;
branches;
next	1.622.2.7;

1.622.2.7
date	2006.04.23.19.55.52;	author jsipek;	state Exp;
branches;
next	1.622.2.8;

1.622.2.8
date	2006.05.30.03.22.06;	author jsipek;	state Exp;
branches;
next	1.622.2.9;

1.622.2.9
date	2006.06.10.22.12.12;	author jsipek;	state Exp;
branches;
next	1.622.2.10;

1.622.2.10
date	2006.06.11.13.02.47;	author jsipek;	state Exp;
branches;
next	1.622.2.11;

1.622.2.11
date	2006.06.12.01.46.33;	author jsipek;	state Exp;
branches;
next	1.622.2.12;

1.622.2.12
date	2006.06.12.01.48.03;	author jsipek;	state Exp;
branches;
next	1.622.2.13;

1.622.2.13
date	2006.06.12.01.49.38;	author jsipek;	state Exp;
branches;
next	1.622.2.14;

1.622.2.14
date	2006.06.12.01.51.35;	author jsipek;	state Exp;
branches;
next	1.622.2.15;

1.622.2.15
date	2006.06.12.01.53.21;	author jsipek;	state Exp;
branches;
next	1.622.2.16;

1.622.2.16
date	2006.06.12.02.14.27;	author jsipek;	state Exp;
branches;
next	1.622.2.17;

1.622.2.17
date	2006.06.12.20.55.57;	author jsipek;	state Exp;
branches;
next	1.622.2.18;

1.622.2.18
date	2006.08.05.01.27.24;	author jro;	state Exp;
branches;
next	1.622.2.19;

1.622.2.19
date	2006.12.15.02.21.46;	author yiannos;	state Exp;
branches;
next	1.622.2.20;

1.622.2.20
date	2006.12.28.23.01.17;	author yiannos;	state Exp;
branches;
next	;

1.634.2.1
date	2006.03.13.04.32.49;	author jsipek;	state Exp;
branches;
next	1.634.2.2;

1.634.2.2
date	2006.03.19.04.29.34;	author jsipek;	state Exp;
branches;
next	;

1.681.2.1
date	2006.06.05.03.11.53;	author jsipek;	state Exp;
branches;
next	1.681.2.2;

1.681.2.2
date	2006.06.07.15.25.27;	author jsipek;	state Exp;
branches;
next	1.681.2.3;

1.681.2.3
date	2006.06.08.02.49.48;	author jsipek;	state Exp;
branches;
next	1.681.2.4;

1.681.2.4
date	2006.06.10.21.37.50;	author jsipek;	state Exp;
branches;
next	1.681.2.5;

1.681.2.5
date	2006.06.10.22.18.25;	author jsipek;	state Exp;
branches;
next	1.681.2.6;

1.681.2.6
date	2006.06.11.20.06.17;	author jsipek;	state Exp;
branches;
next	1.681.2.7;

1.681.2.7
date	2006.06.13.00.18.29;	author jsipek;	state Exp;
branches;
next	1.681.2.8;

1.681.2.8
date	2006.06.16.20.21.32;	author jsipek;	state Exp;
branches;
next	1.681.2.9;

1.681.2.9
date	2006.06.16.22.43.41;	author jsipek;	state Exp;
branches;
next	1.681.2.10;

1.681.2.10
date	2006.06.30.23.00.52;	author jsipek;	state Exp;
branches;
next	1.681.2.11;

1.681.2.11
date	2006.07.02.01.04.15;	author jsipek;	state Exp;
branches;
next	1.681.2.12;

1.681.2.12
date	2006.07.02.18.31.16;	author jsipek;	state Exp;
branches;
next	1.681.2.13;

1.681.2.13
date	2006.07.02.19.33.20;	author jsipek;	state Exp;
branches;
next	;

1.683.2.1
date	2006.06.09.05.40.57;	author jsipek;	state Exp;
branches;
next	1.683.2.2;

1.683.2.2
date	2006.06.09.05.44.15;	author jsipek;	state Exp;
branches;
next	1.683.2.3;

1.683.2.3
date	2006.06.09.07.09.14;	author jsipek;	state Exp;
branches;
next	1.683.2.4;

1.683.2.4
date	2006.06.09.20.32.08;	author jsipek;	state Exp;
branches;
next	1.683.2.5;

1.683.2.5
date	2006.06.10.22.13.30;	author jsipek;	state Exp;
branches;
next	1.683.2.6;

1.683.2.6
date	2006.06.11.13.03.25;	author jsipek;	state Exp;
branches;
next	1.683.2.7;

1.683.2.7
date	2006.08.05.01.27.53;	author jro;	state Exp;
branches;
next	;

1.692.2.1
date	2006.07.03.15.31.39;	author dquigley;	state Exp;
branches;
next	1.692.2.2;

1.692.2.2
date	2006.07.07.14.49.10;	author dquigley;	state Exp;
branches;
next	1.692.2.3;

1.692.2.3
date	2006.07.07.14.51.03;	author dquigley;	state Exp;
branches;
next	1.692.2.4;

1.692.2.4
date	2006.08.05.01.28.27;	author jro;	state Exp;
branches;
next	;

1.699.2.1
date	2006.07.26.02.19.37;	author jsipek;	state Exp;
branches;
next	1.699.2.2;

1.699.2.2
date	2006.07.26.02.29.13;	author jsipek;	state Exp;
branches;
next	1.699.2.3;

1.699.2.3
date	2006.07.26.02.36.08;	author jsipek;	state Exp;
branches;
next	1.699.2.4;

1.699.2.4
date	2006.07.26.02.39.02;	author jsipek;	state Exp;
branches;
next	1.699.2.5;

1.699.2.5
date	2006.07.26.03.06.12;	author dquigley;	state Exp;
branches;
next	1.699.2.6;

1.699.2.6
date	2006.07.26.03.18.19;	author jsipek;	state Exp;
branches;
next	1.699.2.7;

1.699.2.7
date	2006.07.26.05.05.21;	author dquigley;	state Exp;
branches;
next	1.699.2.8;

1.699.2.8
date	2006.07.26.21.37.47;	author dquigley;	state Exp;
branches;
next	1.699.2.9;

1.699.2.9
date	2006.07.26.21.52.59;	author jsipek;	state Exp;
branches;
next	1.699.2.10;

1.699.2.10
date	2006.08.02.17.28.16;	author jsipek;	state Exp;
branches;
next	1.699.2.11;

1.699.2.11
date	2006.08.02.21.23.09;	author jsipek;	state Exp;
branches;
next	1.699.2.12;

1.699.2.12
date	2006.08.03.05.34.44;	author jsipek;	state Exp;
branches;
next	1.699.2.13;

1.699.2.13
date	2006.08.03.05.45.53;	author jsipek;	state Exp;
branches;
next	1.699.2.14;

1.699.2.14
date	2006.08.03.06.56.31;	author jsipek;	state Exp;
branches;
next	1.699.2.15;

1.699.2.15
date	2006.08.03.07.24.16;	author jsipek;	state Exp;
branches;
next	1.699.2.16;

1.699.2.16
date	2006.08.03.08.03.13;	author jsipek;	state Exp;
branches;
next	1.699.2.17;

1.699.2.17
date	2006.08.03.09.29.31;	author jsipek;	state Exp;
branches;
next	1.699.2.18;

1.699.2.18
date	2006.08.03.20.06.42;	author jsipek;	state Exp;
branches;
next	1.699.2.19;

1.699.2.19
date	2006.08.03.22.01.25;	author jsipek;	state Exp;
branches;
next	1.699.2.20;

1.699.2.20
date	2006.08.03.22.18.27;	author jsipek;	state Exp;
branches;
next	1.699.2.21;

1.699.2.21
date	2006.08.03.22.33.54;	author jsipek;	state Exp;
branches;
next	1.699.2.22;

1.699.2.22
date	2006.08.03.22.49.38;	author jsipek;	state Exp;
branches;
next	1.699.2.23;

1.699.2.23
date	2006.08.04.01.20.25;	author jsipek;	state Exp;
branches;
next	1.699.2.24;

1.699.2.24
date	2006.08.04.19.28.49;	author jsipek;	state Exp;
branches;
next	1.699.2.25;

1.699.2.25
date	2006.08.05.05.48.04;	author jsipek;	state Exp;
branches;
next	1.699.2.26;

1.699.2.26
date	2006.08.05.05.56.02;	author jsipek;	state Exp;
branches;
next	1.699.2.27;

1.699.2.27
date	2006.08.10.01.19.59;	author jsipek;	state Exp;
branches;
next	1.699.2.28;

1.699.2.28
date	2006.08.10.08.25.48;	author jsipek;	state Exp;
branches;
next	1.699.2.29;

1.699.2.29
date	2006.08.10.18.03.12;	author dquigley;	state Exp;
branches;
next	1.699.2.30;

1.699.2.30
date	2006.08.11.04.37.08;	author jsipek;	state Exp;
branches;
next	1.699.2.31;

1.699.2.31
date	2006.08.11.04.41.21;	author dquigley;	state Exp;
branches;
next	1.699.2.32;

1.699.2.32
date	2006.08.11.04.57.55;	author jsipek;	state Exp;
branches;
next	1.699.2.33;

1.699.2.33
date	2006.08.23.04.21.17;	author jsipek;	state Exp;
branches;
next	1.699.2.34;

1.699.2.34
date	2006.08.23.04.22.26;	author jsipek;	state Exp;
branches;
next	1.699.2.35;

1.699.2.35
date	2006.08.23.22.51.40;	author jsipek;	state Exp;
branches;
next	1.699.2.36;

1.699.2.36
date	2006.08.23.22.58.42;	author jsipek;	state Exp;
branches;
next	1.699.2.37;

1.699.2.37
date	2006.08.29.03.33.33;	author jsipek;	state Exp;
branches;
next	1.699.2.38;

1.699.2.38
date	2006.08.30.03.04.38;	author ezk;	state Exp;
branches;
next	1.699.2.39;

1.699.2.39
date	2006.08.30.03.26.40;	author jsipek;	state Exp;
branches;
next	;


desc
@@


1.738
log
@reverted shaya's patch
@
text
@2007-01-24 Yiannis Pericleous <yiannnos@@gmail.com>

	* inode.c : Reverted shaya's optimization
	
	* lookup.c : Reverted shaya's optimization
	
	* unlink.c : Reverted shaya's optimization

2007-01-17  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore: Clean things up

2007-01-17  Shaya Potter <spotter@@cs.columbia.edu>

	* inode.c: Fixed unionfs_create, et. al.

2007-01-16 Yiannis Pericleous <yiannnos@@gmail.com>

	* AUTHORS: added shaya and martin qiao

2007-01-16 Yiannis Pericleous <yiannnos@@gmail.com>

	* inode.c: Shaya's optimization

	* lookup.c: Shaya's optimization

	* unlink.c: Shaya's optimization
 
2007-01-16 Yiannis Pericleous <yiannnos@@gmail.com>

	* misc/snapmerge: Another small bug fix

2007-01-16 Yiannis Pericleous <yiannnos@@gmail.com>

	* misc/snapmerge: Applied martin qiao's fix for
	ownership and linked files bugs

2007-01-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* dentry.c: Align structure memebers

	* dirfops.c: Align structure memebers

	* file.c: Align structure memebers

	* super.c: Align structure memebers

	* inode.c: Align structure memebers

2007-01-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* sioq.c: Use C-style comment

2006-12-28 Yiannis Pericleous <yiannnos@@gmail.com>
	* copyup.c : Print error when copyup fails

2006-12-28 Yiannis Pericleous <yiannnos@@gmail.com>
	* Makefile, Makefile.kernel : Compile export.o if exportfs is
	a module

	* persistent_inode.c : Fixed a warning given by a call to statfs

2006-12-27 Yiannis Pericleous <yiannnos@@gmail.com>
	* Makefile.kernel : somehow i managed to replace this
	with Makefile, reverted to correct version

2006-12-27 Yiannis Pericleous <yiannnos@@gmail.com>
	* export.c : forgot to add to cvs

2006-12-27 Yiannis Pericleous <yiannnos@@gmail.com>
	* dirfops.c, lookup.c, dirhelper.c, rdstate.c, super.c :
	fixed warnings with vfs_readdir and kmem_cache_destroy

	* super.c, export.c : moved export operations from super.c
	to new file export.c

	* Makefile, Makefile.kernel : export.o

2006-12-26 Yiannis Pericleous <yiannnos@@gmail.com>
	* rdstate.c super.c : Replaced SLAB_KERNEL with GFP_KERNEL

2006-12-26 Yiannis Pericleous <yiannnos@@gmail.com>
	* lookup.c, rdstate.c super.c : Replaced kmem_cache_t with
	struct kmem_cache

2006-12-26  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c, super.c, unionfs.h: Export fixes

2006-11-13 Yiannis Pericleous <yiannnos@@gmail.com>

	* branchman.c : fixed addbranch if imap is used

2006-11-08  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h, stale_inode.c: Remove config.h include (depricated),
	struct inode sliming patch fix (removed i_blksize)

2006-11-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, Makefile.kernel: Up the version to 1.5pre

2006-11-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, Makefile.kernel, NEWS: Unionfs 1.4

2006-11-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore: ignore .sioq.o.cmd and Module.symvers

2006-11-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* super.c (unionfs_remount_fs): Removed unused variable

2006-11-04 Yiannis Preicleous <yiannnos@@gmail.com>

	* super.c: allow remounting, print warning

2006-10-31 Yiannis Pericleous <yiannnos@@gmail.com>

	* sioq.c, lookup.c, copyup.c, inode.c: Convert sioq to anonymous unions

2006-10-30 Yiannis Pericleous <yiannnos@@gmail.com>

	* branchman.c: Prevent branch manipulations if imap used

2006-10-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c, inode.c: More fixes related to copyup of files >= 2GB 

2006-10-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c: Sioq wasn't being properly initialized

2006-10-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c: Fixed copyup of files >= 2GB 

2006-09-21  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* sioq.c: One function was missing a complete and another was not 
	formatted properly.

2006-09-21  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* ALL: Junjiro's sioq code with some minor modifications

2006-08-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* super.c: Fixed compilation on 64-bit systems

2006-08-05  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* ALL: Copyright header update (fixed my name - added 'Jeff', added
	  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)

2006-07-31  David P. Quigley  <dpquigl@@fsl.cs.sunysb.edu>

	* main.c: Fixed a printk statement.

2006-07-31  David P. Quigley  <dpquigl@@fsl.cs.sunysb.edu>

	* main.c: Added a new mount option to specify the directory 
	specifier for the dirs= section of the unionfs mount command
	* man/unionfs.4: Added separator documentation

2006-07-19  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* subr.c: Removed references to tasklist_lock since it will
	be removed from 2.6.18 and is not needed.

2006-07-13  Erez Zadok  <ezk@@cs.sunysb.edu>

	* INSTALL (UNIONFS_IMAP): rephrase.

2006-07-07  David P. Quigley  <dpquigl@@tycho.nsa.gov>

	* Makefile: Cleanedup install and uninstall targets.

2006-07-03  David P. Quigley  <dpquigl@@tycho.nsa.gov>

	* 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.

2006-06-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* misc/runtests.sh: Fixed inverted logic condition

	* misc/runtests.sh: If build fails, provide an fallback option

2006-06-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, Makefile.kernel, commonfops.c, main.c, super.c,
	unionfs.h: Updated to make 2.6.18-rc happy.

2006-06-26  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* NEWS: Unionfs 1.3, copied over 1.1.5 release news

	* Makefile, Makefile.kernel: Unionfs 1.3, supports 2.6.17 only

2006-06-26  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* main.c, super.c, unionfs.h: use '#ifdef CONFIG_EXPORTFS'

2006-06-22  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* persistent_inode.c: fix tiny bugs in __write_uin() and
	  read_uin(), use __fread() in get_lin().
	* super.c: new export functions. un-tested 64 bit environment
	  (pointer and inode number).

2006-06-14  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* man/uniondbg.8, man/unionimap.8: newline after .IP "-foo" to
	make man happy

2006-06-14  Gregory Haskins  <ghaskins@@novell.com>

	* Makefile, utils/Makefile, rpm/unionfs.spec: Updated RPM specfile,
	fixed up Makefiles

2006-06-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: Fixed silly typo

2006-06-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h (copy_inode_size): Removed copy_inode_size because it
	was (1) ugly, and (2) unnecessary; the code can easily be in the two
	functions that used it

2006-06-09  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* 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

2006-06-09  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore: ignore cscope.out

2006-06-05  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile: fixed tarball target

2006-06-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* docs/00-INDEX, docs/new_locking.txt: Proposed design for new locking
	mechanism (work-in-progress)

2006-06-01  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* branchman.c: Added comments
	* commonfops.c: Added comments
	* docs/locks.txt: Beginnings of a comprehensive file on lock placement
	in unionfs

2006-06-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* super.c: Remove reference to split-view caches

	* unionfs_debug.h: Small touch ups

2006-06-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs_debug.h: Finished debuging code (print entry/exit)

2006-06-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* misc/runtests.sh: Nicified the output of the script

2006-06-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* misc/runtests.sh: Little cleanup

2006-06-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* misc/nightly-build.sh, misc/runtests.sh: Move unionfs build to after
	reboot; added code to do test builds with different EXTRACFLAGS

2006-05-31  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* docs/debug.c, docs/debug.txt: Wrong file extension

2006-05-31  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore: ignore vi/vim swap files

	* match-dget.pl, match-iget.pl, match-malloc.pl, misc/match-dget.pl,
	misc/match-iget.pl, misc/match-malloc.pl: Moved debug scripts to misc/


2006-05-31  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* INSTALL, Makefile.kernel, commonfops.c, copyup.c, dentry.c,
	dirfops.c, file.c, inode.c, lookup.c, main.c, print.c, rdstate.c,
	rename.c, subr.c, super.c, unionfs.h, unionfs_debug.h,
	unionfs_macros.h, unlink.c, xattr.c: Simplified & cleaned up debugging
	support

2006-05-31  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore, utils/.cvsignore: updated ignore files

2006-05-30  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* utils/Makefile: Removed some variable declarations
	* Makefile: Passed variables down to lower file

2006-05-30  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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.

2006-05-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs_macros.h (stohs{,_index}, ftohf{,_index}, itohi{,_index}):
	make objects passed const - make GCC 4.0 happy

2006-05-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* man/unionctl.2: Branch deletion and file querying

2006-05-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h, unionfs_imap.h, unionfs_macros.h, unionfs_debugmacros.h:
	simplified the macro files

	* unlink.c, rdstate.c: minor cleanup

2006-05-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* mmap.c (sync_page, unionfs_sync_page): Merged the two functions,
	since (1) sync_page might be confused with kernel's own sync_page,
	and (2) our sync_page did not do much beside an if and a function call

2006-05-30  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* regression/rename-501.sh: remove obsoleted debug lines.

2006-05-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* man/unionctl.2: About 70% of the manpage. Still need to describe
	branch deletion, and file querying.

2006-05-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* inode.c (inode_permission): Ignore EROFS returned by all but the
	first branch

2006-05-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* inode.c, rename.c, subr.c, unionfs.h: Several rename fixes by
	Junjiro to comply with the newly established rename semantics (see
	docs/rename.txt); includes new make_dir_opaque() function

2006-05-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* docs/rename.txt: Enumerated thought all the possible cases of
	logically/physicaly empty to logically/physicaly empty directories

2006-05-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* docs/rename.txt: Rename "matrix" documented

2006-05-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_named_dentry): Removed several hard-coded values

	* main.c: same as above

	* mmap.c (unionfs_do_readpage): same as above

	* print.c (fist_print_inode, fist_print_file, __fist_print_dentry):
	same as above

	* unionimap.c (create_forwardmap, check_if_entry_exists,
	print_forwardmap): same as above

	* misc/runtests.sh: build torture tests before running them

2006-05-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: Bail out if KERNEL_VERSION is less than 2.6.17
	(EXTRAVERSION happens to be conveniently ignored)

2006-05-24  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* misc/nightly-build.sh: Make /cvs/cvsupdate after we have
	successfully updated and re-exec-ed the script

2006-05-24  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* misc/nightly-build.sh: Make kernel build on 2 CPUs

2006-05-24  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* rename.c: add new function may_rename_dir() to check the rename src
	  dir is empty or not. After rename succeeds, decrement its generation
	  in order to force lookup at next time.
	* regression/rename-501.sh: add test patterns.

2006-05-23  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_mkdir): __dir_opaque whiteouts' creation mode
	should not be hardcoded to an octal value

	* mmap.c (unionfs_sync_page): Removed leftover line of code

2006-05-22  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* regression/lookout-opaque.sh: added option to useradd so that userdelete will work
	* regression/unlink-whiteout.sh: removed bin prefix from touch and
	unlink

2006-05-20  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* rename.c: fold too long line.
	* subr.c: remove unused create_whiteout_parent() which was disabled by
	  '#if 0 ... #endif'
	* unionfs.h: remove the declaration of the unused function

2006-05-19  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* regression/rename-501.sh: 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.

2006-05-17  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* mmap.c (unionfs_commit_write, unionfs_copy_block): Removed incorrect
	comment, removed completely useless function (unionfs_copy_block)

2006-05-17  Shaya Potter <spotter@@cs.columbia.edu>

	* mmap.c (unionfs_commit_write): Shaya's commit_write fix

2006-05-17  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* mmap.c (sync_page, unionfs_sync_page): Compiles with
	2.6.17-rc3-git18

2006-05-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* subr.c (superio_store): Fixed bizarre printk format

2006-04-23  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c (unionfs_parse_options, parse_dirs_option): Fixed refcounting
	leak (if a branch dir doesn't exist during mount, the previously
	lookedup branches were not freed properly)

2006-04-17  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* unlink.c (unionfs_unlink_whiteout): Fixed link-unlink issue (i_nlink
	going to 0)

2006-04-14  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* BUGS, man/unionfs.4: Added warning of dire consequences (Bug #256)

	* README: Mention latest 2.6 kernel only

2006-04-11  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* file.c (__unionfs_read, unionfs_read): Fixed mtime being incorrectly
	updated on access

2006-03-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c (parse_dirs_option): On error, NULL the pointers after free

2006-03-22  Tomas Matejicek  <tomas@@linux-live.org>

	* INSTALL: Little updates and corrections

2006-03-21  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c, super.c, main.c, unionfs.h: removed references to
	COPYUP_CURRENT_USER and copyup mount option since we only have one
	copyup mode now.

2006-03-21  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* commonfops.c, dirfops.c, inode.c, main.c, stale_inode.c: Remove old
	checks for kernel version - it's always going to be the latest only

2006-03-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore: Ignore generated files *.o.cmd (mmap and malloc)

2006-03-08  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* copyup.c (copyup_xattr): Fixed xattr "not supported" check

2006-03-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* misc/preprocess.pl: added UNIONFS_MMAP to list of symbols.

2006-03-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* file.c: forgot to put an ifndef around __do_mmap
	* mmap.c: forgot to add this file to cvs

2006-03-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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.

2006-03-05  Shaya Potter <spotter@@cs.columbia.edu>

	* copyup.c, file.c, inode.c, main.c, super.c: Implemented true mmap

2006-03-04  Ed Swierk  <eswierk@@gmail.com>

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

2006-03-04  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* inode.c (unionfs_permission): Fixed unionfs_permission on reiserfs
	and xfs

2006-03-04  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* main.c (unionfs_interpose): Fixed bug - when the target entry is
	hard-linked, the unionfs inode will be broken

2006-03-03  Bill Nottingham <notting@@redhat.com>

	* unionfs.h: added extern for temp vfs_listxattr function
	* copyup.c: removed old style listxattr code and replaced
	it with vfs_listxattr
	* xattr.c: removed locks from all xattr functions since kernel
	documentation says that getxattr and listxattr don't require
	a lock and since vfs_setxattr and vfs_removexattr take the
	mutex on the inode we get a deadlock if we lock the inode
	before hand.

2006-02-21  Jan Engelhardt  <jengelh@@linux01.gwdg.de>

	* ALL: Make unionfs work with the new mutex subsystem

2006-02-21  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* dirhelper.c (delete_whiteouts): Use superio_*; small cleanup

	* lookup.c (is_opaque_dir): Use superio_*

	* subr.c (superio_store, superio_revert): Added superio_store and
	superio_revert

	* unionfs.h: Added struct superio

	* unlink.c (unionfs_rmdir_all): Check return value of delete_whiteouts

2006-02-20  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Makefile: Increment version number require 2.6.16.

	* Makefile: Increment version number.
	* INSTALL, NEWS: Add new define options.

2006-02-20  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* man/unionfs.4: removed all references to copyup mount option.

2006-02-20  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* main.c, rename.c, unionfs.h, super.c, unlink.c: Moved
	DELETE_WHITEOUT to the default mode for delete and wrapped all
	DELETE_ALL code in ifdefs.
	* unlink.c (unionfs_unlink_whitout): Rewrote this function to use
	unlink/create instead of the atomic rename operation we used before.
	* misc/preprocess.pl: added entry for UNIONFS_DELETE_ALL ifdef.

2006-02-15  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c (unionfs_read_super, unionfs_d_alloc_root): Created a "fake"
	d_alloc_root

2006-02-15  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs_debugmacros.h: Cleanup; removed unused __FILE__, etc.
	parameters from inline functions; removed unnecessary macro wrappers

	* commonfops.c (unionfs_file_revalidate, unionfs_open): C99 doesn't
	allow mixing of code and variable declarations

2006-02-13  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c, unionfs.h: Use simpler cpp directives.
	* misc/preprocess.pl: Simple preprocessor for stripping #ifdefs and
	KERNEL_VERSION defines.

2006-02-12  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* branchman.c, commonfops.c, dentry.c, lookup.c, main.c,
	persistent_inode.c, super.c, unionfs.h, unionfs_debugmacros.h:
	Removed inline objects from unionfs_inode_info, unionfs_dentry_info,
	unionfs_sb_info, and unionfs_file_info

	* unionfs_macros.h: Removed inline objects from unionfs_inode_info,
	unionfs_dentry_info, unionfs_sb_info, and unionfs_file_info; Replaced
	many macros by inline functions

2006-02-10  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* dentry.c (unionfs_d_revalidate): Merges two auto variables 'err' and
	'invalid'. And also checks the return value of unionfs_lookup_backend
	correctly. It solves the stale inode problem of regression/bug418.sh

	* lookup.c (unionfs_partial_lookup): Same as above

2006-02-09  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h: reverted change

2006-02-09  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* super.c (unionfs_show_options): removed reference to mounter.

	* unionfs.h: removed reference to mounter.

2006-02-08  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* dirhelper.c (delete_whiteouts): Use WHLEN instead of 4

	* persisten_inode.c (__fread, __fwrite): Make sparse happy

	* unionfs.h, unionfs_debugmarcros.h (__dtopd): Misc cleanups

2006-02-08  Konstantin Olchanski  <olchansk@@triumf.ca>

	* inode.c (inode_permission): nameidata can be null, add checks for it

2006-02-08  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_permissions): Removed code referencing the
	copyup=mounter option.
	* main.c (unionfs_parse_options): same as above
	* unionfs.h (unionfs_sb_info): same as above.

2006-02-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* INSTALL: Added fistdev.mk description for UNIONFS_IMAP.

2006-02-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_named_dentry,create_parent_named): ifdefed
	persistent inode code.
	* dirfops.c (unionfs_filldir): Same as first.
	* main.c (unionfs_parse_options): Same as first.
	* persistent_inode.c: ifdefed out entire file.
	* super.c (unionfs_put_super): Same as two lines up.
	* unionfs.h: ifdefed persistent inode variables from unionfs_sb_info
	and the externed functions.


2006-02-05  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_named_dentry): Any error, not only ENOSPC/EDQUOT,
	should unlink the partial copyup

	* ChangeLog: Clarified the meaning of a changelog entry

2006-02-05  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c (parse_dirs_option): Added a check for people attempting to
	make the left most branch read-only

2006-02-05  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_named_dentry): If the copyup failed because of
	quota or lack of disk space, unlink the partial copyup

	* rename.c (unionfs_rename_all, unionfs_rename_whiteout): Fixed rename
	which was copying up to all rw branches to the left of the source

2006-02-05  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c: we shouldn't be using such a complex open
	statement when the creat function is exactly what we are doing
	with open

2006-02-05  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* dirfops.c (unionfs_filldir): With current get_uin() is hard to
	distinguish the error from success. Writing persistent ino files
	may meet the file size limit. Now, users should be careful about
	filesystem quota.

	* main.c (unionfs_interpose): See above

	* persistent_inode.c (__fread, __fwrite, parse_imap_option, __get_uid,
	__read_uin, __write_uin, get_uin, read_uin): See above

	* unionfs.h: See above

2006-02-05  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c: Modified open statements to create the files
	with u+wr instead of u+wrx

2006-02-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* README: Remove reference to 2.4 as we don't support it anymore

2006-02-04  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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.

2006-02-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_create): Fixed uid/gid/mode not being reset when
	file is created by renaming a whiteout

2006-02-02  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* inode.c (unionfs_create): Fixed minor bug regarding stale atime and
	mtime

2006-02-01  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h: Removed usi_fsnum_table since its not used and makes
	no sense to have.

	* persistent_inode.c: Removed usi_fsnum_table code. Added remove_map

	* unionimap.c: Fixed code that prints forward maps since it was always
	printing 0 for the inode number.

2006-01-31  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* dentry.c (unionfs_d_revalidate): Get the hidden inode, not the
	hidden dentry's inode; fixes "pseudo hardlink" via persistent inode

2006-01-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, Makefile.kernel: Incremented version

	* NEWS, Makefile, Makefile.kernel: Version 1.1.2

2006-01-25  Amnon Aaronsohn  <bla@@cs.huji.ac.il>

	* patch-kernel.sh: Fixed patch-kernel.sh error msg

2006-01-24  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* subr.c (create_whiteout_parent): Hidden inode is not iput() since
	ibstart and ibend is not updated.

2006-01-22  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* copyup.c (copyup_named_dentry, create_parents_named): Fixed
	persistant inode code: link, rmdir, shrinking of dcache, map validation

	* main.c (copyup_xattrs): Fixed persistant inode code: link, rmdir,
	shrinking of dcache, map validation

	* persistent_inode.c (__fread, __fread, verify_forwardmap,
	verify_reversemap, init_imap_data, parse_imap_option, __get_uin,
	__write_uin, get_uin, write_uin): Fixed persistant inode code: link,
	rmdir, shrinking of dcache, map validation

	* unionfs.h: Fixed persistant inode code: link, rmdir, shrinking of
	dcache, map validation

2006-01-20  Martin Kreiner  <m.kreiner@@levigo.de>

	* BUGS, INSTALL, man/unionctl.8, man/unionfs.4: Documentation update

	* branchman.c (unionfs_ioctl_addbranch, unionfs_ioctl_rdwrbranch):
	Per branch nfsro option

	* inode.c (inode_permission): Per branch nfsro option

	* main.c (parse_dirs_option, unionfs_parse_options): Per branch nfsro
	option

	* super.c (unionfs_show_options): Per branch nfsro option

	* unionctl.c (__usage, parse_rw, parse_options, dump_branches, main):
	Per branch nfsro option

	* unionfs.h: Per branch nfsro option

2006-01-20  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_addbranch, unionfs_ioctl_delbranch):
	Inode refcount debugging tool calls

	* copyup.c (create_parents_named):Inode refcount debugging tool calls

	* dentry.c (unionfs_d_revalidate, unionfs_d_iput):Inode refcount
	debugging tool calls

	* inode.c (unionfs_link): Inode refcount debugging tool calls

	* main.c (unionfs_interpose, unionfs_reinterpose, unionfs_igrab,
	unionfs_iput, unionfs_iget): Inode refcount debugging helper code;
	Fixed init of atomic_t

	* subr.c (create_whiteout_parent, unionfs_refresh_hidden_dentry):
	Inode refcount debugging tool calls

	* super.c (unionfs_clear_inode): Inode refcount debugging tool calls

	* unionfs.h: Definitions for IGET, IGRAB, and IPUT

	* match-iget.pl: Inode refcount debugging code output "matcher"

2006-01-17  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c, unionfs.h: Added #if'd kzalloc for kernels older than 2.6.14

2006-01-14  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* branchman.c: Replaced pairs of KMALLOC and memset calls to
	KZALLOC calls.

	* commonfops.c: Replaced pairs of KMALLOC and memset calls to
	KZALLOC calls.

	* copyup.c: Replaced pairs of KMALLOC and memset calls to
	KZALLOC calls.

	* main.c: Replaced pairs of KMALLOC and memset calls to
	KZALLOC calls.

	* persistent_inode.c: Replaced pairs of KMALLOC and memset calls to
	KZALLOC calls.

	* super.c: Replaced pairs of KMALLOC and memset calls to
	KZALLOC calls.


2006-01-14  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: Fixed unionfs_kmalloc prototype

	* main.c (unionfs_kzalloc, unionfs_kmalloc): Use kzalloc, not
	the non-existent kzmalloc

2006-01-14  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* AUTHORS: added entry for Peeka J. Enberg

2006-01-14  Peeka J. Enberg  <penberg@@cs.helsinki.fi>

	* ALL: Changed all use of GFP_UNIONFS to GFP_KERNEL

	* unionfs.h: Removed definition for GFP_UNIONFS

2006-01-14  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h : Included defines for KZMALLOC and extern for
	unionfs_kzalloc. NOTE: This change makes the minimum kernel
	version for unionfs 2.6.14.

	* main.c (unionfs_kmalloc): Changed prototype to use the
	actual type of GFP_KERNEL instead of int and removed a
	(void *) since the kernel coding conventions say that this
	is not necessary.

	* main.c (unionfs_kzalloc): New wrapper function to track
	kzallocs when debugging.

2006-01-13  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* BUGS, INSTALL: Removed all references to NFS_SECURITY_HOLE

2006-01-13  Martin Kreiner  <m.kreiner@@levigo.de>

	* inode.c (inode_permission): Introduce nfsperms mount option and
	remove NFS_SECURITY_HOLE

	* main.c (unionfs_dentry_info): Introduce nfsperms mount option and
	remove NFS_SECURITY_HOLE

	* super.c (unionfs_show_options): Introduce nfsperms mount option and
	remove NFS_SECURITY_HOLE

	* unionfs.h:Introduce nfsperms mount option and
	remove NFS_SECURITY_HOLE

2006-01-12  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

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

	* ALL, misc/*.c: Removed all references to fist.h

2006-01-09  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* rename.c (__rename_all{,_unlink,_revert,_clobber}): Make functions
	static

2006-01-08  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* rename.c (unionfs_rename_all,lookup_whiteout): Split up the
	nearly 300 line unionfs_rename_all function into several more
	understandable "double underscore" functions; removed get_whname
	it used __getname which allocates a whole page, updated
	lookup_whiteout to use alloc_whname instead

	* lookup.c (unionfs_lookup_backend): Use this should be the last
	alloc_whname patch

2006-01-07  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* file.c: Use unlocked_ioctl iff the kernel is 2.6.11 or newer
	(unionfs_main_fops)

	* dirfops.c: Use unlocked_ioctl iff the kernel is 2.6.11 or newer
	(for unonfs_dir_fops)

	* commonfops.c (unionfs_ioctl): Use unlocked_ioctl iff the kernel
	is 2.6.11 or newer, the prototype for unionfs_ioctl is also different
	on 2.6.11 or newer

	* inode.c (inode_permission): If kernel is older than 2.6.10, use
	vfs_permission otherwise generic_permission

2006-01-03  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* ChangeLog : fixed two gramatical errors in the changelog.

2006-01-03  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h: Added a define for the first valid inode number so we
	aren't using magic numbers in the persistent inode code.

	* super.c: added a call to cleanup_imap_data to properly free
	resources on unmount.

	* persistent_inode.c: (imap_parse_options): cleanedup code,
	(init_imap_data): new function (cleanup_imap_data): new
	function.

	* unionimap.c : cleaned up some brackets from single line if
	statements.

2006-01-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: Renamed make_whname to alloc_whname, use strlcat instead
	of strncat (the strcpy is safe since WHPFX will always be NULL
	terminated), the NULL termination is dony by strlcat

	* inode.c (unionfs_create, unionfs_link, unionfs_symlink,
	unionfs_mkdir, unionfs_mknod): Renamed make_whname to alloc_whname

	* rename.c (do_rename): Renamed make_whname to alloc_whname

	* subr.c (create_whiteout, create_whiteout_parent): Renamed
	make_whname to alloc_whname

	* unlink.c (unionfs_unlink_whiteout): Renamed make_whname to
	alloc_whname

2006-01-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_branchcount, unionfs_ioctl_addbranch,
	unionfs_ioctl_rdwrbranch, unionfs_ioctl_queryfile): Make sparse happy

	* commonfops.c (unionfs_ioctl): Make sparse happy

	* copyup.c (copyup_named_dentry): Make sparse happy

	* file.c (unionfs_read, unionfs_write): Make sparse happy

	* inode.c (unionfs_readlink, unionfs_follow_link): Make sparse happy

	* main.c (unionfs_read_super): Make sparse happy

	* persistent_inode.c (verify_forwardmap, verify_reversemap, get_uin,
	get_lin): Make sparse happy

2006-01-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: added make_whname to replace scattered and duplicate
	code that allocates memory, copies into it WHPFX and the rest of
	the filename

	* inode.c (unionfs_create, unionfs_link, unionfs_symlink,
	unionfs_mkdir, unionfs_mknod): Use make_whname instead of manually
	allocating, and copying data

	* rename.c (do_rename): Use make_whname instead of manually
	allocating, and copying data

	* subr.c (create_whiteout, create_whiteout_parent): Use make_whname
	instead of manually allocating, and copying data

	* unlink.c (unionfs_unlink_whiteout): Use make_whname instead of
	manually allocating, and copying data

2006-01-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* ALL: Copyright year updated

	* man/*: Date updated

	* misc/split-views-2.4.26.patch: removed because 2.4 is not supported

2006-01-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* rename.c (do_rename): use WHLEN+1 instead of 5

2005-12-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* rename.c (do_rename): Added two missing DPUT()s

	* subr.c (create_whiteout_parent): use LOOKUP_ONE_LEN instead of
	lookup_one_len

2005-12-29  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* commonfops.c, copyup.c, main.c, print.c, super.c: converted FISTBUG
	commands to printk and BUG pairs.
	* fist.h: removed definition for FISTBUG

2005-12-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* lookup.c (unionfs_lookup_backend): Use WHLEN+1 instead of 5

	* unionfs_debugmacros.h (__ftohf_index, __set_ftohf_index, __set_itohi_index,
	__set_dbend, __set_dbstart, __set_dbopaque, __dtohd_index): BUG_ON with a more
	complex condition is more optimal than "if(partial_condition) BUG_ON(...);"

2005-12-29  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* lookup.c (unionfs_lookup_backend): DPUT() when done with the dentry
	not before, added missing DPUT()

2005-12-28  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* AUTHORS: Some maintenance dates.

2005-12-28  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* AUTHORS: updated to reflect the patches commited in the last two days

2005-12-28  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* lookup.c (unionfs_lookup_backend): Fixed missing DPUT()s

2005-12-28  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* lookup.c: change the process's privilege temporally when
	creating/searching/deleting the whiteouts (in is_opaque_dir,) and
	forgot DPUT() after failing is_opaque_dir() (in unionfs_lookup_backend)

2005-12-27  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* subr.c (create_whiteout): create whiteout bug, forgotten dput()

2005-12-27  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* unlink.c (unionfs_unlink_whiteout): unlink bug, forgotten dput()s

2005-12-27  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* inode.c (unionfs_create): create bug, forgotten dput(), extra GET_PARENT

2005-12-27  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* lookup.c (new_dentry_private_data): Use GFP_ATOMIC instead
	of GFP_UNIONFS (which currently is same as GFP_KERNEL) to prevent
	sleeping while atomic bug

2005-12-27  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* inode.c (unionfs_permission): permission bug, creat/open truncates
	the running executable

2005-12-27  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionctl.c : Fixed check to see if a branch was already in the union and
	fixed --before and --after logic.

	* regression/branchman.sh: BUG370 will not work anymore due to code to avoid
	duplicate branches being added. Need to reevaluate if it should be kept
	anymore.

2005-12-27  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* *.[ch]: Went through every file and replaced ASSERT and ASSERT2 with
	BUG_ON calls. The logic for BUG_ON is the opposite of ASSERT but I believe
	they are all converted properly.

	* fist.h: Removed definitions for ASSERT and ASSERT2

2005-12-27  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* *.[ch]: Went through every file and removed PASSERT and PASSERT2
	statments. If there was an if that inclosed it then that was removed
	also.

	* fist.h: Removed definitions for PASSERT and PASSERT2.

2005-12-27  Junjiro Okajima <hooanon05@@yahoo.co.jp>

	* copyup.c (copyup_permissions): Properly copyup atime, mtime, and
	ctime.

2005-12-27  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_lookup): Bugfix for bug #451 is not valid,
	change reverted

2005-12-20  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* lookup.c (new_dentry_private_data): Use SLAB_ATOMIC instead
	of SLAB_KERNEL (prevent sleeping while atomic bug)

2005-11-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c: Updated module info (now includes unionfs version
	 number)

2005-11-29  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* branchman.c: Added check for addition of branches with
	 overlapping paths. Fixes rest of Bug #374.

2005-11-29  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* unionctl.c: Fixed branch addition with just branch (and
	  neither mode nor before/after specified.

2005-11-29  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Fix Coverity flagged errors.

2005-11-29  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* main.c : Corrected a boundary case, so that one cannot
	 use "/" as a branch if /ro is a branch.

2005-11-28  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* main.c : Ensure that the branches getting added during a
	 mount operation do not have overlapping branch paths. This
	 is part of Bug #374.

2005-11-28  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* inode.c: unionfs_lookup was not incrementing the reference
	 count of the dentry. this was causing the chmod bug. added
	 this, and fixed bug #451

2005-11-26  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* unlink.c: Updated unionfs_unlink_whiteout to fix bug #434

2005-11-24  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* print.c: Remove unused function.

	* Makefile: Don't duplicate source list.

2005-11-23  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unionimap.c: Fix unchecked malloc.

	* usercommon.c: Fix double free.

2005-11-20  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* global : Changes made for "sparse"

2005-11-18  Josef "Jeff" Sipek <jsipek@@fsl.cs.sunysb.edu>

	* rename.c (get_whname): Make constant's type clearer

2005-11-18  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* unionctl.c : Changes made for "sparse"

2005-11-18  Josef "Jeff" Sipek <jsipek@@fsl.cs.sunysb.edu>

	* rename.c (get_whname): Add NULL termination.

2005-11-18  Shaya Potter <spotter@@cs.columbia.edu>

	* rename.c (lookup_whiteout): Add NULL Check.

2005-11-18  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Remove UNIONFS_XATTR define, because 2.6 has consistent prototypes.

2005-11-16  Martin Walter  <mawa@@uni-freiburg.de>

	* inode.c: Fix IS_NFS.

2005-11-15  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c: Allow debug= to be passed to the Unionfs module.

2005-11-11  Allessio Curri <alessio.curri@@elettra.trieste.it>

	* rpm/unionfs.spec: Update RPM spec file to include unionimap.

2005-11-09  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* commonfops.c (unionfs_open): Slightly rework reader/writer locks.

2005-10-24  Shaya Potter <spotter@@cs.columbia.edu>

	* Fix scope of readers/writer locks on branch configuration.

2005-11-09  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unlink.c: Add comment w/ Junjiro's rmdir fix.

2005-09-26  Junjiro Okajima <hooanon05@@yahoo.co.jp>

	* dentry.c (unionfs_d_revalidate): Don't copy attributes to nonexistent
	inodes.

	* lookup.c (new_dentry_private_data): Fix a race b/t lookup and d_free.

2005-11-08  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Makefile: use /lib/modules/`uname -r`/kernel/fs/unionfs/unionfs.ko
	to be consistent with other file systems.

	* patch-kernel.sh: Add more double-patching checks.

	* Use WHPFX and WHLEN instead of ".wh." and 4.

	* dirhelper.c (delete_whiteouts): Remove useless partial lookup.
	* unlink (unionfs_rmdir_all): Remove useless partial lookup.

	* subr.c (create_whiteout): Silently succeed if the whiteout already
	exists.
	* inode.c (unionfs_unlink_all): Fix some coding style.

2005-11-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionctl.c (parse_options): Added a check in to see if a branch
	already exists in the union and if it does the operation fails.

2005-11-07  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* dentry.c (dentry_revalidate): Remove extra d_deleted check.
	* commonfops.c (unionfs_open): Undo add debug print of opened dentry.

	* commonfops.c (unionfs_open): Add debug print of opened dentry.

2005-10-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (inode_permission): Fix typo in NFS_SECURITY_HOLE.

2005-11-06  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* fist.h (lock_parent, unlock_dir): moved from now non-existent
	missing_vfs_funcs.h
	* inode.c (unionfs_create): use {,un}lock_rename instead of
	double_{,un}lock
	* rename.c (do_rename): use {,un}lock_rename instead of double_{,un}lock
	* unlink.c (unionfs_unlink_whiteout): use {,un}lock_rename instead of
	double_{,un}lock
	* missing_vfs_funcs.h: removed

2005-10-25  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* 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.

	* dirfops.c (unionfs_readdir): Properly update uds_dirpos,
	which fixes directory reading operations.

2005-10-24  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* compat.[ch]: Remove old files.

2005-10-24  Shaya Potter <spotter@@cs.columbia.edu>

	* copyup.c (copyup_file): Don't fput errors.
	* copyup.c, unionfs.h: Use loff_t for copyup size.

	* copyup.c (copyup_named_dentry): Code cleanup.

2005-10-21  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* AUTHORS: Update AUTHORS.

2005-10-21  Charles Duffy  <cduffy@@spamcop.net>

	* xattr.c: Use ssize_t for xattr functions.

2005-10-20  Shaya Potter <spotter@@cs.columbia.edu>

	* dirhelper.c (check_empty): Respect opaqueness.

	* Replace lock_super around branch management operations with a
	Unionfs read/write semaphore.  This will allow branchput/branchget
	to operate concurrently, but prevent them from racing against
	branchman operations.

2005-10-19  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_permission): Don't call normal permission before
	inode_permission (our modified version of permission), because it
	just duplicates work.

	* commonfops.c (branchput_gen): Lock the super when we read putmaps.

	* inode.c (inode_permission): If NFS_SECURITY_HOLE is defined
	treat -EACCESS as if we should fall back on inode_permission.

	* branchman.c (unionfs_ioctl_rdwrbranch): Make super/dentry
	lock/unlock symmetric.

2005-10-18  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* NEWS: Updates NEWS file for release

2005-10-14  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* rename.c : Used the create_whiteout_parent function to
	create the whiteout in unionfs_rename_all.
	* subr.c : Brought the create_whiteout_parent back. These
	squash Bug #442.

2005-10-13  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* rename.c : Fixed rest of Bug #425. Applied the patch
	sent in by Junjiro Okajima.

2005-10-13  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* rmdir-all.sh: added test for bug 430. Not sure if
	we are going to patch it yet but if we do the test
	is there.
	* regression/Makefile: added rmdircheckinode.c
	* regression/progs/rmdircheckinode.c: program to check
	if the inode numbers match after a failed rmdir.

2005-10-13  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* rename.c (unionfs_rename) : Fixed bug #425. The new_dentry
	affects the unlink called by "mv" after the rename has failed.
	It makes unlink return with -EISDIR. (partial fix)

2005-10-11  Shaya Potter <spotter@@cs.columbia.edu>

	* dentry.c (unionfs_d_revalidate): Fix a deadlock.

2005-10-06  Robert Glowczynski  <roglo@@op.pl>

	* file.c (unionfs_fsync): Fix check for NULL lower-level operation.

2005-09-29  Patrik Weiskircher

	* Makefile.kernel: Remove reference to locks.c.

2005-09-28  Junjiro Okajima <hooanon05@@yahoo.co.jp>

	* unlink.c (unionfs_rmdir_all): Always create whiteouts on directory
	removal.

2005-09-28  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* commonfops.c (unionfs_file_revalidate): Properly update
	generation when we combine copyup and reopening.
	* Makefile: Remove some 2.4 cruft.

2005-09-27  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_incgen): Fix print indentation bug.

	* unionimap.c: AMD64 fix from Gentoo.

2005-09-27  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* inode.c: Made change to use both inode_permissions and
	permissions.

2005-09-27  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: Document MODDIR.

2005-09-23  Klaus Knopper  <unionfs@@knopper.net>

	* inode.c: added inode_permissions to check for permissions
	on a file even if its on an ROFS and used it in
	unionfs_permissions

2005-09-22  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile: remove 'tags' target dependency from 'all'

2005-09-21  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* Makefile: forgot to remove locks.c from source list

2005-09-21  Junjiro Okajima <hooanon05@@yahoo.co.jp>

	* inode.c: Fixed several off-by-one kmalloc bugs.

2005-09-20  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* removed locking code from codebase since we no longer
	handle locking (vfs will do it)

2005-09-18  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* removed 2.4 code from fist.h, inode.c, lookup.c,
	persistent_inode.c, rdstate.c

2005-09-18  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* removed 2.4 code from copyup.c, dentry.c, dirfops.c
	and file.c

2005-09-18  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* removed 2.4 code from stale_inode.c, subr.c, unionfs.h,
	unlink.c, xattr.c

2005-09-17  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* removed 2.4 code from main.c, print.c, super.c,
	xattr.c

2005-09-17  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* removed 2.4 code from branchman.c, commonfops.c

2005-09-16  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Makefile.kernel: Use EXTRA_CFLAGS.

	* Makefile: Use ${LD} instead of ld, for cross compilation.

2005-09-15  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* Makefile: Updated to 1.1.0pre
	* Makefile.kernel: Updated to 1.1.0pre

2005-09-15  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* NEWS: Updated for release.
	* Makefile: updated for release.
	* Makefile.kernel: updated for release

2005-09-12  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* locks.c: Removed locking code since its broken big define 0 around
	it
	* file.c: Removed locking references have the vfs handle it.
	* unionfs.h: fixed bug with 2.4 compilation.

2005-09-08  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c: Remove comment leftover from templates that doesn't make
	sense in current context.

2005-09-05  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* commonfops.c: Remove lower fput debug printks.

2005-09-02  Shaya Potter <spotter@@cs.columbia.edu>

	* file.c (unionfs_mmap): Fix flag checking for mmap.

2005-09-01  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* We shouldn't use d_delete, vfs_unlink already does it.  The only
	known remaining 2.6.13 issue is the unionfs_lock (flock.sh in the
	regression suite).

	* inode.c,stale_inode.c: Support for 2.6.13's new follow_link
	prototype.  However, many of the regression tests fail for
	unrelated reasons (or at least I think they are unrelated).

	* unionctl.c: Allow --FOO to go before the union specifier (e.g.,
	unionctl --list /mnt/unionfs now works).
	* lookup.c: Don't partial lookup the root dentry.

	* copyup.c: Check for permission setting errors.

2005-08-31  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* lookup_one_len never returns NULL.

2005-08-30  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_permission): Simplified code.

	* inode.c (unionfs_link): Copy directory attrs to directory
	(BUG391).  Unfortunately, regression test doesn't quite catch the
	bug because of a revalidate for the stat.
	* commit: Don't complain about .sh file's indentation.

2005-08-29  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: tmpfs doesn't support fsync on directories

	* Makefile: Update release target for new directory structure.

	* patch-kernel.sh: Depend on Experimental, and move configuration
	option to File Systems -> Miscellaneous file systems at the end,
	not as the very first file system. Add UNIONFS_VERSION define.
	Use tail -n +7 instead of tail +7.

	* file.c (unionfs_fsync): Don't use dtohd on unlocked dentries.

2005-08-28  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_link): Don't use unionfs_interpose with
	INTERPOSE_LINK any more, because only one line of the whole
	function was being used anyway.  This fixes an inode refcount leak
	in unionfs_link, so the regression suite now passes with the new
	locking, without any leaks.

	* commonfops.c (unionfs_file_release): Update rdstate access time when
	saving it in the inode (so that it won't be so quickly discarded).

2005-08-26  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* dirfops.c (unionfs_readdir) : removed the changes made
	for the special way in which vfs_llseek was handles for
	Reiser4, as Reiser4 introduced a patch which made it
	behave properly.

2005-08-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Passes regression tests.

	* Locking for create_parents.  Regression tests from branchman to
	open.sh PASS.

	* Basic inode operations pass sniff test with new locking (regression
	tests not yet tried).

	* 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).

2005-08-25  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* xattr.c: unused label causing a warning and inturn an error.

2005-08-25  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c (interpose,reinterpose): Interposition should lock the dentry.

	* file.c: CodingStyle, and we don't need to check ftopd before ftohf.
	* file.c (unionfs_mmap): We were checking our file instead of the lower
	-level file for having valid operations.
	* dirfops.c,dirhelper.c: CodyingStyle

	* copyup.c: There is no need for _len at the end of functions, because
	other versions don't exist any longer.

	* lookup.c (unionfs_lookup_backend): Lock the dentry private data
	for the whole lookup routine.
	* branchman.c: CodingStyle fixes.
	* rdstate.c, super.c: Use KERN_ERR if we have unfreed objects.

2005-08-25  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: Fix losetup instructions.

2005-08-24  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* print.c: Avoid kmallocs.
	* rdstate.c,dirfops.c: Code style cleanups.

2005-08-24  Anton Farygin  <rider@@altlinux.com>

	* dentry.c (d_revalidate):  Lock inode when freeing lower level ones.

2005-08-24  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>
	* unionfs.h: Updated forwardmap version and added a new data
	structure bmapent.(Later on these should be unified into one header
	rather than being in 2 header files).
	* persistant_inode.c: Updated code to use bmapents now.

2005-08-24  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c: Added code to ensure you dont add a filesystem with
	the same fsid twice (no duplicate entries in the maps).
	* unionimap.h: Added a new data structrue bmapent.
	* The code in the kernel to read the maps hasent been changed so it
	doesent work yet. Check back soon for that.

2005-08-24  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_create): Use proper permissions when recreating
	a deleted file (BUG383).

2005-08-23  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* commonfops.c (copyup_deleted_file): Fix leak of name on subsequent
	loop iterations.

	* commonfops.c (copyup_deleted_file): Cleanup of major loop.

	* unionfs.h (DPUT,KFREE): Don't try to free errors.

	* main.c (unionfs_reinterpose): Remove d_unhashed assertion.
	* unionfs.h (d_deleted): Create an inline function to tell
	if a directory is deleted (i.e., unhashed and not the root).

2005-08-23  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* main.c (unionfs_parse_options): More checking for copyupmode.

2005-08-22  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unionfs.h (get_nlinks): More intelligent link counting.

	* inode.c (unionfs_create): Don't dput an IS_ERR.

	* unionfs.h: sbstart is always zero
	* main.c (unionfs_read_super): check_branch does existence checking

	* unionfs_debugmacros.h: Fix stray printks.

	The following fixes are so that the regression suite runs without
	any memory or dentry leaks:
	* branchman.c (unionfs_ioctl_addbranch): Zero newly allocated
	arrays.
	* copyup.c (unionfs_create_named_dirs): Fix leak of path stack.
	* main.c: Handle get_parent.
	* lookup.c: Make the logic to put preceding negative dentries a
	function.
	* unlink.c (unionfs_unlink_all): Fix dentry reference count leak.
	* inode.c (unionfs_link): Properly handle lock_ and unlock_dir.
	* match-dget.pl: Handle DS and DD for set and unset records.

2005-08-20  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: sendfile conflicts w/ Unionfs.

2005-08-19  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* dirfops.c (unionfs_readdir) : changed the way the
	return value of the repeated vfs_llseek (with origin
	=1) is used. this is to allow readdir in Reiser4,
	which returns -ENOENT (!!!) for the llseek in same
	cases. this is for Bug #358

2005-08-18  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* match-dget.pl: Insert both gets and puts into list of actions
	for unreleased dentries.

	* match-dget.pl: Dget matching script.
	* Use DGET, DPUT, DENTRY_OPEN, and LOOKUP_ONE_LEN to
	record when we dget and dput dentries.

2005-08-17  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* match-malloc.pl: Return number of errors.

	* print.c (fist_print_generic_dentry): Print inode number.

	* copyup.c (unionfs_create_named_dirs): Fix dentry reference leak.

2005-08-15  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* print.c (fist_print_file): Divide into generic and Unionfs halves,
	ASSERT if we are passed a lower-level file.

	* file.c (unionfs_lock): Handle write locks on r/o branches.

2005-03-03  Anton Farygin  <rider@@altlinux.com>

	* dentry.c (unionfs_d_revalidate): Fix possible double unlock.

	* branchman.c (unionfs_ioctl_incgen): Fix possible deadlock when
	memory allocation fails.

2005-08-12  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* rename.c, commonfops.c : removed the
	dget/dput functions sandwiching the vfs_unlink as
	these raise the refcounts and cause the .nfsXYZ
	files to get created after unlinks. This knocks
	out Bug#364 for 2.6.

2005-08-11  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c (unionfs_parse_dirs): Prevent recursive Unionfs mounts.

	* branchman.c: Plug a few memory leaks.

2005-08-11  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* dentry.c (unionfs_d_release) : fixed a case that would
	cause a reference to the lower-level nfs inode to be
	present. This is part of #364.

2005-08-11  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unionctl.c: Support --mode ro branch or --mode branch ro

	* branchman.c: Only count putmaps that exist.

2005-08-10  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* man/unionctl.8: No need for warning about root directory anymore.
	* commonfops.c: Kill branch deletion ioctl.

	* super.c: Magic MS_REMOUNT to remove a branch.
	* unionctl.c: Use remount instead of ioctl to remove a branch.
	* branchman.c (unionfs_ioctl_delbranch): Take the super, not an inode.

2005-08-10  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* dentry.c (unionfs_d_revalidate): All exit paths should go through
	out.

	* main.c (unionfs_parse_options,unionfs_parse_dirs): Simplified
	option parsing using strsep rather than direct pointer manipulation.
	Organized the options into types to factor out common code.

2005-08-09  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* debian/*: Use official debian packaging files.

	* Some AMD64 fixes.
	* vprintk wrapper for 2.4.

2005-08-09  Jan Engelhardt  <jengelh@@linux01.gwdg.de>

	* unionctl.c: Do not truncate "/" to "" when stripping the last "/"
	from directories.

2005-08-05  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main: Use FS_REVAL_DOT so that directories are always revalidated
	during lookup.

	* Drop err=passup, as it is unmaintained.

2005-08-05  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* commonfops.c (unionfs_flush) : changed the dput to give
	more symmetry and readability to the code.

2005-08-04  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* dentry.c (unionfs_d_revalidate) : return successfully if the
	dentry is unhashed
	* commonfops.c (unionfs_flush) : corrected the d_unhashed check

2005-08-04  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* branchman.c (QUERY): Don't copy FD_SET before ioctl. FD_ZERO the
	set before the call.

	* branchman.c (newputmap): Subtract the count from old putmaps from
	the brand new putmap's count.

	* branchman.c (unionfs_ioctl_delbranch): Use putmaps.
	* lookup.c (new_dentry_private_data): Fix branch removal when
	transitioning from > UNIONFS_INLINE_OBJECTS to ==
	UNIONFS_INLINE_OBJECTS.

2005-08-03  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h,main.c,super.c,inode.c: removed all code
	pertaining SETATTR_ALL since the feature is not necessary
	and complicates things.
	* man/unionfs.4: removed text pertaining to the setattr
	mount option.

2005-08-03  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* 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.

2005-08-03  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* dentry.c (unionfs_d_release) : added a check to take care
	of the case when the dentry coming into release is from a
	failed lookup. This knocks bug #303 out.

2005-08-03  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Remove older non-opaque directory mode.

2005-08-01  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* lookup.c (unionfs_lookup_backend): Skip those hidden
	dentries that are NULL.

2005-08-01  Jan Engelhardt  <jengelh@@linux01.gwdg.de>

	* print.c (fist_dprint_internal): Use vprintk instead of
	vsnprintf/printk combo.

2005-08-01  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unionfs_debugmacros.h (branchget,branchput):
	ASSERT if a branch's count goes negative.
	* super.c (unionfs_put_super): ASSERT if the branch
	counts are not zero on unmount.
	* commonfops.c (unionfs_file_release): Don't put branches
	that we didn't get.
	* commonfops.c (unionfs_open): Don't get a branch until
	we open it.

	* commonfops.c: Fix generation number increment.

2005-07-26  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* main.c: cleaned up parse_options code for copyup,
	copyupuid,copyupgid,copyupmode.

2005-07-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unlink.c, main.c, rmdir.c, rename.c: Remove obsolete
	and unmaintained DELETE_FIRST mode.

2005-07-26  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* man/unionfs.4: Added default behavior into the options
	section for entries that didnt already have it.

2005-07-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c (unionfs_parse_options): Move directory parsing
	out of parse options function, so we don't have as many 4+ level
	indents.

2005-07-25  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Makefile: Update version number to 1.0.14pre.

2005-07-25  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* man/unionimap.8: Minor editing.

2005-07-24  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* man/unionimap.8 : finished the man page: added a verbose
	description and examples.

2005-07-22  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* man/unionimap.8 : added descriptions to options in the
	option section.

2005-07-22  Jan Engelhardt  <jengelh@@linux01.gwdg.de>

	* unionctl.c: Use realpath so that relative pathnames are allowed
	for mountpoints and branches.

2005-07-22  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* subr.c (create_whiteout_parent) : removed this function
	as it is not called anymore (#258).

2005-07-22  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Makefile: Update version to 1.0.13.
	* Makefile: Include new regression tests in distribution.
	* man/unionimap.8: An empty placeholder man page.

2005-07-21  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* missing_vfs_funcs.h: Removed get_parent function since the 2.6
	kernel has a dget_parent function which is the appropriate one to use
	also made note that the templates do not use either triple_up or triple_down
	* unionfs.h: checked to see if we are in 2.6 and if so define get_parent to be
	dget_parent.
	* unionimap.c: fixed a typo in the usage example.
	* man/unionfs.4: added an entry for imap

2005-07-21  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* copyup.c (unionfs_create_named_dirs) : corrected the
	function to get rid of problems with the open-unlink
	regression test.

2005-07-20  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* unlink.c (unionfs_rmdir_all) : added checks to ensure
	that the delete_whiteouts is not called for files. this
	is a fix for bug 323

	* rename.c (unionfs_rename_all) : changed the whiteout
	creation call to "create_whiteout" instead of the
	"create_whiteout_parent". this must solve 332.

	* rename.c (unionfs_rename_whiteout) : change similar
	to above to correct #336.

2005-07-20  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_file_revalidate): Handle GFS and don't try
	to reopen files that no longer exist.
	* subr.c (unionfs_copyup_named_dentry_len): Add a bit of debugging.
	* Fix comments that are past 80 characters and some other
	minor style issues.

	* subr.c (unionfs_create_whiteout): Don't set the parent's
	opaque field when creating a whiteout, set your own.

2005-07-20  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Fix things so that we compile on 2.4 again, and use the
	older form of ioctl for kernels less than 2.6.11.

	* ChangeLog: 80 character entries.

2005-07-19  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* 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.

2005-07-19  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_queryfile) : changed
	  function replacing lookup_one_len by partial lookups
	  (second commit) : changed O_NONBLOCK to O_RDONLY

2005-07-19  Shaya Potter  <spotter@@cs.columbia.edu>

	* unlink.c (unionfs_unlink_whiteout): Don't rename a symlink
	to a whiteout, we need to unlink and create instead.

2005-07-18  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* unlink.c (unionfs_unlink_all) : checked if the dbopaque
	  value is set for the current dentry, as this will
	  indicate if there is a file to the right of the current
	  file (Fix BUG #319).

2005-07-18  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* commonfops.c: Use unlocked_ioctl when it is defined.
	* branchman.c: Change prototypes to be more consistent with
	unlocked_ioctl.

	* commit: Script for committing files
	* Lindent: Linux indentation script.
	* *.[ch]: Add emacs magic.

2005-07-14  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* lookup.c (unionfs_lookup_backend) : fixed bug #321
	  (that is, removed the semicolon that was introduced
	  in the unionfs-042605-1324.tar.gz snapshot.

2005-07-14  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* copyup.c (unionfs_create_named_dirs) : corrected the usage of
	  the name and namelen arguments sent into the function. This
	  should take care of both bugs #299 and #322.

2005-07-13  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_queryfile) : added ioctl definition
	  that lists those branches where the specified file exists(#253).
	* commonfops.c (unionfs_ioctl) : added the new ioctl.
	* fist.h : added an include for the fd_set helper functions
	* unionfs.h : added a structure unionfs_queryfile_args to
	  pass variables to the new structure.
	* unionctl.c : added the user interface
	* uniondbg.c : rearranged the includes to help compilation

2005-07-08  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* unionfs.h : added variables uii_totalopens and uii_writeopens to
	  help in keeping filehandles valid after unlinks until closes.
	* fist.h : included random.h to help get random bytes for file names
	* commonfops.c (unionfs_file_revalidate) : added functionality to copy
	  the lower-level file into a file with a randomly generated name
	  obtained by using the newly added function "get_random_name" in
	  commonfops.c
	  (unionfs_open, unionfs_flush) : updated the uii_totalopens and
	  uii_writeopens to be set and checked during the time of opening and
	  flushing the file.
	* copyup.c (unionfs_copyup_dentry_len) : made this into a wrapper
	  function which now accepts the name of the file
	  (unionfs_copyup_named_dentry_len).
	  (unionfs_copyup_file) : similar wrapper to unionfs_copyup_named_file
	  as above.
	  (unionfs_create_dirs) : similar wrapper to unionfs_create_named_dirs
	  as above
	  (unionfs_copyup_named_file) : added function similar to
	  unionfs_copyup_file which takes the file name as argument as well.
	* main.c (unionfs_reinterpose) : ensured that deleted dentries are not
	  reinterposed.
	* dentry.c (unionfs_d_revalidate) : changed the check for deleted
	  dentries to use the d_unhashed function also.

2005-07-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>
	* main.c: Ohh my god the inodes are persistent. Ohh and changed
	interpose to use get_uin if we are using persistent inode maps.

2005-07-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>
	* super.c: fixed problem with kernel version number in an ifdef

2005-07-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* dirfops.c: removed some debugging printk statments.
	* persistent_inode.c: finished debugging and cleanedup get_uin.

2005-06-30  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h  added extern decls for get_uin and get_lin
	* persistent_inode.c: more work on the loading code and get_uin and
	 get_lin
	* dirfops.c: changed to make use of the persistent inode code only
	if maps are loaded.

2005-06-28  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* persistent_inode.c: changed how files are loaded in should be
	done still need to test
	* unionfs.h: added a new variable into unionfs_superblock_info
	* unionimap.c: changed called to mkfsid
	* usercommon.c: changed fillfsid and mkfsid. No longer uses the inode
	since it will always be 2 since we are using the root of the fs.

2005-06-24  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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.

2005-06-23  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* dentry.c (d_revalidate): We shouldn't re-lookup
	non-connected dentries.

2005-06-23  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* Makefile: Include Makefile.kernel.

	* subr.c (create_whiteout, create_whiteout_parent): Set the dbopaque
	value to the branch where the whiteout gets created.  This is to solve
	bug #294.

2005-06-22  Arun M. Krishnakumar  <arunmk@@fsl.cs.sunysb.edu>

	* commonfops.c (unionfs_open): If the highest-priority branch
	is read-only return -EROFS for opens with O_WRITE.

2005-06-21  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* persistent_inode.c: parse_imap_options and associated calls are
	working. maps are loaded in properly. Still need to finish and test
	calls to use the maps.

2005-06-17  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* persistent_inode.c: it appears that parse_imap_options is working
	and so is verify_forwardmap. verify_reversemap needs to be fixed.

2005-06-17  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* persistent_inode.c: Fixed some bugs still not working properly

	* unionfs.h: added typedef for uuid_t.

	* doit.sh: added imap entry into script.

2005-06-17  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: If you have Fedora Core 4, then you need kernel-devel.

	* Makefile: Fix the Makefile so that it won't recompile every
	object every time.

	* unionimap.c: Fix printf formats.

2005-06-16  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c : Fixed a bug that prevented compiling on newer
	gcc versions

2005-06-16  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c : Tested and working we can now make and print valid
	unionfs imap files.

2005-06-16  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c : finished coding starting testing and debugging.
	* unionimap.h : minor changes

2005-06-15  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c : wrote some more code not tested yet
	* unionimap.h : added a struct that is needed.
	* Makefile: Cleanedup a conflict.

2005-06-15  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* 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.

	* unionctl.c: Add Unionfs version to help message
		(not just unionctl version).
	* unionimap.c: Add version to help message.

2005-06-12  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c, match-malloc.pl: Handle KFREE(NULL).
	* commonfops.c (unionfs_file_revalidate): NULL ftohf_ptr after freeing
	it.
	* commonfosp.c (unionfs_open): Allocate correctly sized ftohf_ptr.

2005-06-10  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionimap.c: Beginning of a user mode program to create inode map
	files.
	* unionimap.h: Header for program.
	* unionfs.h: added definitions for imap structs
	* Makefile: added make targets for unionimap.c and .h

2005-05-26  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* persistent_inode.c: Comment out 64-bit division.

2005-05-25  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h : added some variables to the unionfs_sb_info struct to
	handle persistent inodes.
	* persistent_inode.c : more work done on the parsing functions almost
	done but not quite there yet.
	* main.c : added entry in parse_options to handle persistent inodes.

2005-05-24  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unlink.c (unionfs_unlink_whiteout): Missing dput in truncating fix.

	* unlink.c (unionfs_unlink_whiteout): Truncate whiteout after it
	is created.

2005-05-23  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Test commit.

	* inode.c (unionfs_create): Fix ASSERT that had a side-effect.
	This fixes a dentry reference count bug if you compile with
	-DNODEBUG.

2005-05-19  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unlink.c: Empty a directory of its whiteouts before deleting it,
	and refresh the hidden dentry on a failed rmdir.

	* unionfs.h: Always include ufi_file_i, so we can compile with zero
	inline entries if we want.

	* Test commit.

	* Makefile: Define UNIONFS_VERSION to be the current version.
	* main.c: Print the version of Unionfs, not main.c.

2005-05-17  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* lookup.c (unionfs_lookup_backend): Fix partial lookups for
	three or more branches.

2005-05-16  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* lookup.c (unionfs_lookup_backend): Change UNIONFS_LOOKUP_PARTIAL
	to UNIONFS_LOOKUP_REVAL_NEG, when a dentry magically turns positive
	on us.

2005-05-14  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* lookup.c (new_dentry_private_data): Fix memset'ing logic.
	* branchman.c (unionfs_ioctl_addbranch): Fix copying logic.

	* 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.

2005-05-13  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Makefile: Increment version number.

	* Makefile: Release 1.0.12

2005-05-13  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c: Disable generic_file_sendfile, because it causes nfsd
	to Oops.

	* lookup.c (unionfs_lookup): Don't ASSERT dentry goodness along
	the error path.
	* dentry.c (unionfs_d_release): Handle dentries without dthod_ptrs.

2005-05-11  Jaspreet Singh  <jsingh@@ensim.com>

	* main.c (unionfs_interpose): Move fist_copy_attr_all before
	d_instantiate so Selinux can decide what type of inode it is.

2005-05-13  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* Makefile : fixed spelling mistake
	* persistent_inode.c : fixed typo for compilation

2005-05-12  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>
	* persistent_inode.c : Stupid spelling mistake in the name
	of the file.

2005-05-12  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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

2005-05-11  Jaspreet Singh  <jsingh@@ensim.com>

	* copyup.c (unionfs_copyup_xattrs): Don't use XATTR_CREATE,
	instead use 0 so that it is replaced or created as needed
	(Selinux automatically creates attributes.

2005-05-11  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* print.c (fist_print_generic_dentry): ASSERT(d_count > 0) so
	that we find dentries gone bad earlier rather than later.

	* inode.c (unionfs_mkdir): bend should not go past the opaque
	directory, but stay there.

2005-05-10  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: Add root file system instructions based on Linux
	Live's linuxrc.

2005-05-08  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* main.c,super.c,lookup.c: Use alloc_inode in 2.6, so that only
	two allocations need to be made per inode instead of two.  In
	both 2.4 and 2.6 use a private kmem_cache for our dentry data,
	so that we don't need to waste space by having kmalloc round up.

	* lookup.c (new_dentry_private_data): Merge initialization and
	reinitialization code from lookup and read_super.  Also don't
	reallocate dentry private data if we already have enough space.

	* INSTALL: Add Jaspreet Singh's selinux instructions.

	* INSTALL: Add EXDEV on ro branch rename as a limitation.

	* inode.c: follow_link and put_link fix for 2.6.

	* lookup.c: Compile fix for 2.4.

	* rename.c: If a directory is moved on a read-only branch return EXDEV,
	so that mv essentially does a cp -r (recursive copyup in the kernel
	would be too ugly).

2005-05-06  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* lookup.c: Merge unionfs_lookup_backend and unionfs_partial_lookup,
	partial lookups will now properly handle whiteouts.

	* print.c: Fix compile error when NODEBUG is defined.

	* lookup.c: Fix BUG 264.
	* print.c: Separate generic inode printing from itohi printing.
	Use const for print functions.

2005-05-05  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Code style fixes.

2005-04-27  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* inode.c changed ops vectors to C99 style initialization.
	* file.c changed ops vectors to C99 style initialization.
	* dentry.c changed ops vectors to C99 style initialization.
	* super.c changed ops vectors to C99 style initialization.
	* stale_inode.c changed ops vectors to C99 style initialization.

2005-04-21  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h: added no check versions ot set_dtohd_index
	and dtohd_index.
	* dentry.c: changed a function call to dtohd_index_nocheck

2005-04-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* 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).

	* Fix indentation comments.

2005-04-25  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* subr.c: Code style fixes.

2005-04-22  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* NEWS: Keep NEWS up to date.

2005-04-21  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_filldir): Don't strncmp for .wh., if the
	name's length is less than 4.  Old cruft can make things
	go horribly bad (BUG 254).

	* inode.c (unionfs_lookup_backend): Properly handle file
	transitioning from a negative to a positive dentry. (BUG 215)

2005-04-21  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* file.c: Sendfile only exists on 2.6.
	* main.c: Catch UNIONFS_REVAL_NEG specifically, still
	need to understand/fix.

2005-04-20  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* 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.

	* Exorcise struct typedefs and "fake" STATIC functions.

	* 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

2005-04-20  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* rdstate.c, unionfs.h: DOH, We were checking if
	uii_rdversion <= MAXRDCOOKIE to decide whether or not
	to wrap uii_cookie.

2005-04-19  Fabian Franz  <fs-bugs@@fabian-franz.de>

	* applied patch to file.c that uses generic_file_sendfile
	to implement sendfile.

2005-04-18  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* removed a stray printk

2005-04-18  Markus F.X.J. Oberhumer  <markus@@oberhumer.com>

	* file.c, locks.c: Use #ifdef for 64-bit locking
	commands, which are not defined on amd64.

2005-04-18  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c: Extended attributes now copyup properly.
	This has only been tested in 2.6 but I see no reason
	that it shouldent work in 2.4
	* copyup.c: unionfs_create_dirs is now nolonger bound
	by MAX_DIRS_CREATE. We now use kmalloc to dynamically
	allocate memory for it and "realloc" the memory when
	needed.

2005-04-18  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* copyup.c: Use list_size as the argument to xattr_free, not the
	MAX_LIST_SIZE.

	* file.c: ASSERT was asserting on the dentry, not the i_mode.

2005-04-16  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* file.c: Delay copyup of read-write files located on read-only
	branches, until an operation will actually write to them (BUG 225).

	* INSTALL: Cleanup kernel instructions a bit.

2005-04-13  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* inode.c: unionfs_mkdir now spoofes the uid and gid of the owner
	of the whiteout file for the purpose of removing it.

2005-04-11  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>
	* 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.

2005-04-11  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c : changed comparison from > to >= to be compatable with 2.6.0
	* fist.h : same as above
	* unionfs.h : same as above
	* rdstate.c : same as above
	* main.c : same as above
	* inode.c : same as above
	* super.c : same as above
	* xattr.c : sme as above

2005-03-24  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* unionfs.h : changed UNIONFS_SUPER_MAGIC. All fist based file systems
	  will have the first 2 bytes of the MAGIC number be f15f.
	* super.c : statfs struct is now properly filled.

2005-03-23  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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

2005-03-21  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Add big warnings that NFS exports won't work in 1.0.10.

2005-03-17  Terry Barnaby <terry1@@beam.ltd.uk>

	* rdstate.c (find_rdstate): Factor out rdstate search.
	* file.c (unionfs_dir_llseek): Use rdstate if it exists.

2005-03-16  Terry Barnaby <terry1@@beam.ltd.uk>

	* Makefile: fix clean target

	* file.c (unionfs_dir_llseek): Fix mistaken use of origin
	instead of offset.

2005-03-16  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* super.c (unionfs_statfs): Use shifting instead of division.

2005-03-15  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* super.c (unionfs_statfs) : df now reports the proper numbers.
	duplicate super blocks are not factored into the calculations and
	all the block sizes are normalized to the first partition.

2005-03-14  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* main.c (unionfs_read_super) : In 2.4 the kernel expects a valid
	super block or null we were returning an error pointer and this
	caused an Oops. This has been fixed.

2005-03-10  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unionfs_getlk (unionfs_getlk): Add preprocessor define for
	2.6.11+, and add a missing case.

2005-03-10  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* locks.c (unionfs_setlk): fixed a typo in the 2.6 function

2005-03-10  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* misc/snapmerge: Explain how to get two snapshots merged into one
	snapshot.

	* file.c (unionfs_dir_llseek), locks.c (unionfs_setlk): Fix build
	on 2.6.

2005-03-09  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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

2005-03-08  Terry Barnaby <terry1@@beam.ltd.uk>

	* file.c (unionfs_dir_lseek): Allow seek to beginning/end of dirs.

2005-03-07  Fernando Freiregomez <fernado.freiregomez@@telefonica.es>

	* misc/snapmerge: Fix permissions/times after copying files.

2005-03-07  Lucas Correia Villa Real <lucasvr@@gobolinux.org>
	* Makefile: Use MODDIR instead of /lib/modules/`uname -r`

2005-03-07  Eduard Bloch <blade@@debian.org>
	* man/*: Fix man page sections
	* Makefile: Add separate modules target, remove excessive uname -r's
	so that kernel version can be overridden.

2005-03-03  Anton Farygin  <rider@@altlinux.com>

	* Makefile: Can now build utilities without building kernel module.

2005-03-03  Terry Barnaby <terry1@@beam.ltd.uk>

	* dentry.c (unionfs_d_revalidate): Use fist_copy_attr_all to
	make the cache appear more coherent.

2005-03-02  Fabian Franz  <fs-bugs@@fabian-franz.de>
2005-03-02  Anton Farygin  <rider@@altlinux.com>
	* dirhelper.c: Fix BUG 184: vfs_readdir is allowed to return positive
	results.

2005-03-02  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_readdir): Remove buf.error which was unused.

2005-03-02  Anton Farygin  <rider@@altlinux.com>

	* Fix BUG 205: mv on symlinks

	* Fix BUG 203: Kernel oops on creat file with len of name > 252

2005-02-24  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

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

	* Add fsid= to interactions, with pointer to exports(5).

2005-02-22  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* unionctl.c (find_union): Start off w/ a 1K buffer and double it
	if the lines in /proc/mounts don't fit.  Thanks to J. H. Wilson for
	finding and patching this bug.

	* 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.

2005-02-22  Fabian Franz  <fs-bugs@@fabian-franz.de>

	* Applied patch to bug 193 Fixed the problem with
	hardlinks not having the same inode number.

2005-02-22  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* dentry.c (unionfs_d_delete): d_delete should not be defined (or
	call the lower d_delete).  Thanks to Fabian Franz for identifying
	this issue.

2005-02-22  Fabian Franz  <fs-bugs@@fabian-franz.de>

	* copyup.c (unionfs_copyup_dentry_len): Applied patch provided
	for bug #196. A device was being decoded when it didnt have to be.

2005-02-22  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* README: Article URL.

2005-02-18  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* dirhelper.c (create_dir_whs) : commiting chips change to make
	sure it creates whiteouts properly.

2005-02-17  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: Squashfs is generally OK, but we do have flock problems.

	* file.c (unionfs_dir_llseek): Untested fix for BUG 187.

2005-02-09  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_link): Fixed linking if the underlying file
	system is read-only. The fix causes an issue with device being
	busy on umount.  * rdstate.c (find_filldir_node): Print statement
	was referencing a bad pointer.


2005-02-08  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* copyup.c (unionfs_copyup_xattrs): Use PASSERT, other compile fixes.
	* xattr.c (xattr_alloc, xattr_free): Shouldn't be static.
	* Go back to GFP_KERNEL, because GFP_NOFS causes problems with vserver.

2005-02-08  Jaspreet Singh  <jsingh@@ensim.com>

	* copyup.c (unionfs_copyup_xattrs): Use security functions.

2005-02-08  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* copyup.c (unionfs_copyup_xattrs): Take the inode lock as is done in
	setxattr.
	* inode.c (unionfs_link): Reference counting on error paths/compile fix.

2005-02-07  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_link): On copyup path directory was not unlocked.

2005-02-07  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c (unionfs_xattr_copyup): Review of code, not yet tested.

	* inode.c (unionfs_link): Revert to Chip's version of
	unionfs_link.

2005-02-07  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Makefile: Allow module prefixes to be specified for
	RPM_BUILD_ROOT
	* rpm/unionfs.spec: Compiled, tested, and installed.

2005-02-06  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* Makefile added a target for uninstall to accomodate rpm removal

2005-02-02  Anton Farygin  <rider@@altlinux.com>

	* copyup.c (unionfs_copyup_permissions): Use ATTR_FORCE to make
	sure any user can change permissions.
	* copyup.c (unionfs_create_dirs): Twiddle current->fsuid/fsgid
	so that any user's copyup will behave properly.

2005-02-02  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_mmap): Don't ASSERT that the lower mmap
	operation is there, instead return ENODEV, as is done in
	do_mmap_pgoff.  NTFS (and others) don't support mmap, so
	neither should we when stacked on top.

2005-02-01  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* 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.

2005-01-28  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* subr.c, dirhelper.c: Move mkdir/rmdir helpers into separate
	file.

	* unionfs.h, fist.h: Remove unused/redundant definitions.

2005-01-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* rdstate.c, unionfs.h: Move finding and adding filldir nodes
	into rdstate.c.  This reduced the readdir code size, and should
	also let us reuse the code for the subr.c functions.
	* subr.c: Use an rdstate instead of a second readdir to remove
	files in delete_whiteouts.
	* namei.c: Removed vfs_unlink_nozombie.

2005-01-19  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* INSTALL: Add more CFLAGS options to make things smaller.

	* 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.

2005-01-14  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_addbranch): Fix error path resource leak.

2005-01-14  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* copyup.c (unionfs_copyup_permissions): Changed so it actually works now
	instead of corrupting certian bits.
	* copyup.c (unionfs_create_dirs): Function actually uses unionfs_copyup_permissions
	for setting directory permissions instead of setting them explicitly.

2005-01-14  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_dir_llseek): Allow llseek to the current
	offset in the directory, but nowhere else.
	* file.c (unionfs_readdir): Save the last offset, so we
	can lseek to it (for pretend).

	* Remove all occurrences of GFP_KERNEL and replace with GFP_NOFS,
	so our allocations can't cause file system calls.

2005-01-13  Rakesh N. Iyer  <riyer@@fsl.cs.sunysb.edu>

	* file.c (unionfs_readdir): Fixed deadlock in rdstate search.

2005-01-13  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Split README into INSTALL as well.

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

	* Don't build xattr functions w/o -DUNIONFS_XATTR

2005-01-11  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* inode.c: Initial implementation of hardlinking a file on a read only branch.
	  Attributes are not copied properly yet.

2005-01-10  Sai Suman  <suman@@pantasys.com>

	* copyup.c: Fix usage of unionfs_copyup_permissions.

2005-01-10  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* super.c: 2.4 compile fixes

	* fist.h: Updated FISTBUG for gcc 2.9.5

2005-01-10  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* xattr.c: Format changes for size_t.

	* doit.sh: Call optional postdoit script

2005-01-10  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* AUTHORS file.

	* README updates.

	* Allow NFS exports on 2.6 (Sai Suman)
	* Fixes to print format in xattr.c (Sai Suman)

	* debian/*: Debian packaging from Alex de Landgraaf.

	* Remove -Wno-unused-label for gcc 2.9.5 (alex@@delandgraaf.com).
	* Allow "EXTRACFLAGS=-DNODEBUG" in fistdev.mk to disable
	the printing/ASSERT facility, cutting object size in half.

2005-01-09  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* unionfs.h: Warn when compiling on unsupported kernels.
	* super.c: Compile fix for 2.6.8.
	* Makefile: Include ChangeLog in the release.

2005-01-07  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Prepare 1.0.6 release.

	* Fix 2.6 compile issues in new code.

	* 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

2005-01-06  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c: Working NFS readdir.  On close we store left-over
	readdir state in the inode for up to 5 seconds.  If a readdir
	has a matching cookie, then we pull the state out of the inode
	and use it.  We also needed to use our own offsets, otherwise
	the NFS client got confused.

	* subr.c: Remember the number of entries in our hash table for
	each inode, and use that as the number for the next readdir.

	* 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.

	* Makefile: Install unionfs.ko, not unionfs.o if it exists.

	* main.c: Remove MODULE_PARM because it is deprecated.

2005-01-04  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_read): Fix "inifite" cat bug on 2.6

	* Makefile: Auto-select 2.4 vs. 2.6 for build.

	* Unify 2.4 and 2.6 Makefiles

	* Fixes for printing file structures at debug level 18.

	* Fixes for 2.4 compilation.

2004-12-30  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* *.[ch]: Update year.

2004-12-29  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c: Embed rename.txt into comment.

2004-12-29  Charles P. Wright  <cwright@@cs.sunysb.edu>

	* inode.c, unionfs.h: Changed directory copyup function back to
	old prototype.

	* subr.c (unionfs_copyup_dentry_len): Handle directories, devices,
	and symlinks.

2004-12-27  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c: Only request copyup of parent directories.

	* subr.c (unionfs_copyup_dentry_len): Handle directory copyup
	(required for chmod).

	* main.c (unionfs_parse_options): Fix along error path.

2004-12-06  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c (unionfs_interpose): Allow mount point crossing.

	* 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.

2004-11-10  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Fix .cvsignore and release.

	* README: Added warning that anything less than 2.4.20 is unsupported.

	* namei.c: Removed inode_dir_notify calls when we are on less than
	2.4.20, because the symbol is not exported.

	* Fixed lots of bad casts from pointer to int in printks.

	* main.c (unionfs_parse_options): Fix for badly ordered variables.

	* main.c (unionfs_read_super): Remove double free along error path.

	* wrapfs.h (dtopd_lhs): Remove cast from LHS of assignments.

2004-11-09  Erez Zadok  <ezk@@cs.sunysb.edu>

	* released unionfs-1.0.2.

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

	* Makefile (clean): remove tarball.

	* README: updated.

2004-11-09  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* released unionfs-1.0.1.

	* Makefile: Include man pages in the release.

2004-11-07  Erez Zadok  <ezk@@cs.sunysb.edu>

	* released unionfs-1.0.

	* announce-email.txt: revised announcement text.

2004-09-23  Erez Zadok  <ezk@@cs.sunysb.edu>

	* announce-email.txt: draft announcement email.

	* README: revised.

2004-09-15  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* file.c: Don't allocate directory hash table for files.

	* inode.c (unionfs_setattr): Don't do partial lookup if setattr is not
	set to all (should improve delete_whiteout).

	* Some grayout code (we don't discuss rename_first anymore, so it
	actually doesn't matter).

2004-08-24  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* namei.c (vfs_create_nozombie): Whiteout creation needs a version
	of vfs_create that won't down the i_zombie.

	* subr.c (create_dir_whs_filldir):  Don't ASSERT that the whiteout
	doesn't already exist, because we can have multiple files with
	the same name in other branches.

2004-08-23  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* inode.c (unionfs_mkdir, unionfs_symlink, unionfs_mknod): lookup
	whiteout in 'bstart' not 'bindex'. We always looked up on first branch
	as bindex was set to 0

2004-08-20  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_inode_revalidate): Walk up the tree to revalidate
	inodes like we do for dentries.

	* inode.c, subr.c, unionfs.h: Use multilocks to protect against
	unionfs_partial_lookup and revalidate operations racing against
	each other.

	* unionfs.h: Implementation of "multilocks".

	* Makefile: install target

	* We don't change size, so no sca_*.[ch] files.

	* 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.

2004-08-19  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* inode.c (unionfs_setattr): using dtohd_index() instead of
	unionfs_hidden_dentry() because an intermediate hidden dentry
	could be NULL and we dont want PASSERT to oops on us

2004-08-19  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_unlink_all): We shouldn't have negative dentries
	unless they are the first one.

	* inode.c (unionfs_inode_revalidate): PASSERT(hidden_inode) instead
	of Oopsing.

	* inode.c (unionfs_rename_all): Typo in the clobbering unlink.

	* inode.c (unionfs_rename_all): No debug printks.

	* unionfs.h (get_nlinks): Don't sum up non-directories.

	* 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.

2004-08-18  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_rename_all): New rename that handles more cases,
	revert code doesn't work yet.

2004-08-18  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* inode.c (rmdir_all): exit if error is not -EROFS and not -ENOTEMPTY

	* inode.c (rmdir_all): exit from function and dont create whiteout
	if vfs_rmdir returns error other than -EROFS


2004-08-17  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_unlink_all): Unlock the directory on error.

	* inode.c (unionfs_setattr): Lock on all attribute changes, not just
	some.

	* inode.c (do_rename): Check renames based on index rather than
	new_dentry which might not exist.

	* 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.

2004-08-16  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c: Use an fd_set instead of an integer for tracking successful
	renames.

	* branchman.c: Don't allow more than FD_SETSIZE (1024) branches.

	* unionctl.c: Specific message for exceeding FD_SETSIZE.

2004-08-11  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* inode.c: Return ENAMETOOLONG when looking up ".wh.*"

	* unionctl.c: Add ioctl.

	* branchman.c: Don't allow branches without MAY_READ

	* unionctl.c: Convert branch pathnames into index automatically.

	* unionctl.c: Match the longest prefix of our path inside of
	/proc/mounts instead of the path itself.  This is required so that
	remove doesn't need to open the root of the union.

	* unionctl.c: Remove branch ioctl and list branch configuration.

2004-08-10  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* file.c: added CAP_SYS_ADMIN checks before calling unionfs ioctls

	* uniondbg.c: now contains debugging related ioctls

	* unionctl.c: now contains ioctls to add, remove and set branch
	permissions moved here

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

	* fist_ioctl.c: remaining ioctls stay here

	* subr.c: making sure copyupuid, copyupgid and copyupmode are all
	specified when copyup option is set to mounter.

	* inode.c: implemented unionfs_rename_first()

2004-08-09  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* inode.c: more places where we should exit if get an error other than
	-EROFS in unlink/rmdir and related functions.

	* subr.c: exit if get an error other than -EROFS when
	creating/deleting whiteouts

	* inode.c: making sure that we create/mkdir/symlink/mknod to the
	left only if the error returned is -EROFS, otherwise passup

	* subr.c: use notify_change instead of directly modifying the inode
	fields.

	* subr.c: use notify_change instead of directly modifying the inode
	fields.

	* main.c: added copyupuid, copyupgid and copyupmode mount options.
	These options will specify the mode, uid and gid of copied-up files.
	copyup option should be set to mounter.

	* subr.c: using the above mount time values for copied-up files.

	* unionfs.h added these values in the unionfs super block.

2004-06-17  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_flush): Flush all branches (only makes a
	difference for directories).

2004-08-03  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* super.c: Implemented unionfs_show_options. Can now view unionfs
	mount time options in /proc/mounts

	* inode.c: using is_robranch_super instead of is_robranch in
	create, mkdir, symlink, mknod operations, whenever we try to
	remove whiteouts if they exist.

	* main.c: while parsing options using strcmp wherever we can,
	removed all magic numbers, copyup options are now preserve,
	currentuser, mounter

	* subr.c: when copying up the default mode should be original
	owner (preserve)

2004-08-02  Mohammad Nayyer Zubair  <zubair@@filer.fsl.cs.sunysb.edu>

	* main.c: unionfs mount time flag changed from being an integer
	flag to several text options that will together make up the flag.

2004-05-17  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* branchman.c: Fixed off by one error when adding more than 8
	branches.

2004-05-10  Charles P. Wright  <cwright@@polarbear.fsl.cs.sunysb.edu>

	* main.c (unionfs_read_super): Error check to prevent oops on bad
	mount-time options.

2004-04-21  Charles P. Wright  <cwright@@polarbear.fsl.cs.sunysb.edu>

	* file.c: revalidate files when the are passed into our methods,
	this allows copy-up of open files.  Yeah snapshots.

	* dentry.c: Should not use d_hash and d_compare because Unionfs is
	in charge of the namespace, not the lower-level file systems.

	* Unionfs now has split-view caches.  If compiled with
	-DSPLIT_VIEW_CACHES, then Unionfs supports duplicating the super
	block structure and dynamically selecting the correct structure to
	use when crossing into the unionfs mountpoint.  Right now the
	default behavior is that root has one view, and every other user
	has another view.

	If the super block is not duplicated then everything works as
	before.

2004-04-20  Charles P. Wright  <cwright@@polarbear.fsl.cs.sunysb.edu>

	* branchman.c: Super Duper works!  An ioctl can let you create a
	super block that is a copy of the original.  When you stat the
	mountpoint that super block is returned.  Now to fix the reference
	counting bugs associated with unmount. :)

2004-04-19  Charles P. Wright  <cwright@@arcticfox.foo>

	* super.c (unionfs_select_super): return s_root for now

2004-03-15  Charles P. Wright  <cwright@@arcticfox.foo>

	* dentry.c (unionfs_d_revalidate): Fix refcounts.

	* inode.c (unionfs_inode_revalidate): Fix reference counting.

	* inode revalidate "works" (e.g., no Oopses or other broken f/s
	behavior), but has broken reference counting.

2004-03-14  Charles P. Wright  <cwright@@arcticfox.foo>

	* main.c (unionfs_interpose): Changed neg_dent_flag to which was
	true if we did *not* have a negative dentry to is_negative_dentry
	which *is* true if we have a negative dentry.  Fixed related
	assert (which was ASSERT(1)).

	* inode.c (unionfs_lookup): Read through and simplified lookup by
	removing duplicated code or nasty if/else statements when if
	continue would work(to the tune of 20%).  Clarified comments as
	well.  Now instead of being a 248 line monster it is a 199 line
	monster.

	* UNIONFS-TODO: We still need to solve whiteouts (i.e., you can
	sucessfully stat a whiteout in Unionfs).  Note this is not
	introduced by my changes.

2004-03-12  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_rdwrbranch): Read/write branch setting.

2004-03-11  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* branchman.c (unionfs_ioctl_addbranch): Refcount fix.

2004-03-04  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (do_rename): Correctly check is_readonly.

	* fist.h (print_exit_pointer): Print out pointer using %p and
	don't convert using PTR_ERR if it is not IS_ERR.

	* subr.c (unionfs_create_parent_dir): Return error as pointer

	* subr.c (create_whiteout): Check branch before creating whiteouts.

	* unionfs.h (VALID_MOUNT_FLAGS): Define valid mount flags in the
	header, so main.c doesn't need to know all of them.

	* doit.sh (FLAG): Default mode should be UNLINK_ALL, not
	UNLINK_WHITEOUT.

	* inode.c (unionfs_unlink): Unlink creates whiteout to the left.

2004-03-03  Charles P. Wright  <cwright@@polarbear.fsl.cs.sunysb.edu>

	* 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.

2004-03-02  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c: Updated parsing code so that dirs can be specified as
	b0=rw,b1,b2=ro,b3.  Defaults to rw.  Need to actually integrate
	the permission checking code elsewhere.

2003-11-10  Harikesavan Pathangi Krishnan  <hari@@a-rh72i.fsl.cs.sunysb.edu>

	* file.c (unionfs_readdir): Changed code to fix the NFS related bug.

2003-10-27  Harikesavan Pathangi Krishnan  <hari@@mooby.fsl.cs.sunysb.edu>

	* subr.c (unionfs_copyup_dentry_len): This is a modified form of
	unionfs_copyup_dentry() that takes in the length of file to be
	copied up. The length is useful when the file size is changed in
	the setattr.

2003-10-01  Puja Gupta  <puja@@t6.fsl.cs.sunysb.edu>, Jay, Mohammad.

	* subr.c (unionfs_copyup_dentry): fixed copyup bug, update bstart, bend
	on error on vfs_create.

2003-09-27  Puja Gupta  <puja@@a-rh8.fsl.cs.sunysb.edu>, Hari, Jay.

	* inode.c (unionfs_rename_all): fixed to call rename and create
	whiteout for test_rename script.

2003-09-26  Puja Gupta  <puja@@a-rh8.fsl.cs.sunysb.edu>, Zubair, Hari.

	* subr.c (create_whiteout): removed unnecessary dput of hidden_dentry.

2003-09-26  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>, Hari

	* subr.c, inode.c, unionfs.h: Better function name and comments.

	* inode.c (unionfs_rename_all): changed to create whiteouts
	properly on error conditions.
	(unionfs_rename_whiteout): initilize parent dentry.

2003-09-26  Harikesavan Pathangi Krishnan  <hari@@icon.fsl.cs.sunysb.edu>, Puja.

	* print.c (fist_print_dentry): added print for d_parent, aligned.

	* subr.c (create_whiteout_left_parent): Added function for
	creating whiteout in a parent directory by a char * string.
	(unionfs_create_parent_dir): initialize dtohd before checking and
	changing the bstart and bend for new dentry.
	(unionfs_copyup_dentry): removed extra dput, since fput internally
	does that.

	* inode.c (unionfs_rename_whiteout): fixed to support copyup for EROFS.

2003-09-24  Puja Gupta  <puja@@story.fsl.cs.sunysb.edu>, Hari, Jay.

	* subr.c (unionfs_create_parent_dir): Fixed updating bstart for copyup.

2003-09-23  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Hari, Jay.

	* subr.c (unionfs_create_parent_dir): Updates bstart, bend, dputs
	extra negative dentries.

2003-09-23  Puja Gupta  <puja@@story.fsl.cs.sunysb.edu>, Hari, Jay.

	* subr.c (unionfs_create_parent_dir): Dput the previous negative
	dentry.

	* inode.c (unionfs_create, unionfs_mkdir, unionfs_mknod, unionfs_link)
	(unionfs_symlink): Removed dgets and dputs to handle errors in
	vfs functions.  Now handled in unionfs_create_parent_dir.
	(do_rename): removed dputs and dgets to balance with create_parent.

2003-09-22  Harikesavan Pathangi Krishnan  <hari@@t1.fsl.cs.sunysb.edu>, Mohammad.

	* subr.c (unionfs_create_parent_dir): Fixed a bug related to
	igrabbing lower inode.

2003-09-22  Akshat Aranya  <aaranya@@t6.fsl.cs.sunysb.edu>

	* main.c (unionfs_parse_options): Fix some memory leaks in error
	paths.

2003-09-22  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c (unionfs_read_super): Fixed error path.

2003-09-22  Erez Zadok  <ezk@@ulkesh.fsl.cs.sunysb.edu>

	* match-malloc.pl: document this script with a procedure telling
	how to use malloc debugging.  Use -DFIST_MALLOC_DEBUG from now on.

2003-09-22  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>

	* fist.h, main.c, subr.c: turned off MEMORY_DEBUG.

2003-09-22  Puja Gupta  <puja@@t1.fsl.cs.sunysb.edu>

	* main.c (unionfs_read_super): Memory fix.

2003-09-22  Puja Gupta  <puja@@mooby.fsl.cs.sunysb.edu>

	* inode.c, dentry.c, super.c: Memory Leak Checks.

2003-09-22  Erez Zadok  <ezk@@agora.fsl.cs.sunysb.edu>

	* subr.c: add transcation counter to malloc/free debugging.

	* match-malloc.pl: perl script to parse log output from
	KMALLOC/KFREE macros, and report leaks etc.

2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Puja, Hari, Jay.

	* inode.c (unionfs_lookup): changed the dput location of hidden
	whiteout dentry in the code.

2003-09-22  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>

	* subr.c (check_empty): added list_del.

	* inode.c (unionfs_lookup): kfree moved at out.
	(unionfs_unlink_whiteout): added kfree.

2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Puja, Hari, Jay

	* subr.c (create_parent_dir()): added support for left to right
	copy up.  Could be used in unionfs_link()

2003-09-21  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>, Jay, Hari, Mohammad.

	* subr.c (check_whiteout): check for error on kmalloc.
	(check_empty): moved kfree after 'out' label.

	* main.c (unionfs_read_super): changed to dput superblock dentries on
	error conditions.

	* file.c (unionfs_filldir): check for error on kmalloc.

2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Puja, Hari, Jay.

	* inode.c (unionfs_link()): unlinking .wh.foo (if exists)
	while creating link called foo

2003-09-21  Puja Gupta <pugupta@@cs.sunysb.edu>, Hari, Jay, Mohammad.

	* inode.c (unionfs_mkdir, unionfs_mknod): dget hidden_dentry if not
	calling create_parent_dir.

	* inode.c (unionfs_mkdir, unionfs_mknod): removed extra dget before
	removing whiteout.

2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Hari, Jay, Puja.

	* inode.c (unionfs_symlink()):  removed extra dget() in symlink

2003-09-21  Puja Gupta <pugupta@@cs.sunysb.edu>

	* inode.c, dentry.c, unionfs.h: variable declaration re-shuffled to
        compile on local machine.

2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Hari, Jay, Puja

	* subr.c (create_dir_whs()):  removed extra dget on hidden dentry

	* file.c (unionfs_open()): calling branchput if get an error in
	opening hidden dentry

2003-09-21  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>, Jay, Hari, Mohammad.

	* inode.c: removed extra bstart, and comments.

	* file.c (unionfs_readdir): Added a bindex++ to {un,re}-reverted code.
	Works now!! ;-)

2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Hari, Jay, Puja.

	* subr.c (create_whiteout_left()): synched reference counts for
	hidden_dentry; added a dget for the hidden_dentry

2003-09-21  Puja Gupta  <puja@@t1.fsl.cs.sunysb.edu>, Jay.

	* inode.c (unionfs_create): removed extra dget, dput for vfs_rename.
	Removed extra dputs, d_drop on error.

2003-09-21  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>

	* subr.c (unionfs_create_parent_dir): removed extra dput on error
	in lookup.
	(create_whiteout_left): mode set to create whiteout.
	(delete_whiteouts): removed dput on NULL hidden_dentry.

2003-09-20  Mohammad Nayyer Zubair  <zubair@@mooby.fsl.cs.sunysb.edu> Puja, Jay

	* 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

2003-09-20  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>

	* subr.c: added branchput for branchgets.

	* print.c (fist_checkinode): fixed the count print condition.

	* inode.c (unionfs_unlink_whiteout): changes to dget, notify_change.
	match dget and dput.

2003-09-20  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Makefile (tags): target for tags

	* inode.c (unionfs_unlink_whiteout): Refcount fix.

2003-09-20  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>

	* file.c (unionfs_readdir): reverting back to file.c before changes
	related to readdir_called flag.  Was going into an infinite loop due
	to some condition.  The current version works fine.

	* subr.c (create_dir_whs_filldir): replaced "return err" with
	"goto out", which was causing an infinite loop.
	(check_whiteout, delete_whiteouts): replaced 'ret' with err.

2003-09-19  Puja Gupta  <puja@@icon.fsl.cs.sunysb.edu>

	* subr.c (create_dir_whs): added filldir_called flag.

2003-09-19  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Jay, Hari, Mohammad.

	* subr.c (check_empty): check if filldir is called or not.

2003-09-19  Harikesavan Pathangi Krishnan  <hari@@t1.fsl.cs.sunysb.edu>, Jay, Chip, Puja, Mohammad

	* subr.c (check_empty): Added a flag field in the callback
	structure that makes readdir call once again if all the contents
	of the directory are not read.

2003-09-19  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_release): free resources on file close.

	* file.c (unionfs_filldir): Print a warning on any duplicate, but
	don't return -EIO.

	* subr.c (create_whiteout_left): fix a refcount leak

2003-09-19  Mohammad Nayyer Zubair  <zubair@@mooby.fsl.cs.sunysb.edu>

	* file.c (unionfs_filldir()): fixed the rm -Rf (-EIO, ENOTEMTPY
	error) cases.  return -EIO ONLY when get a 'foo' and 'foo' exists
	in the same directory, which would indicate corruption in the file
	system. Before were returning -EIO ALSO if filldir gets a
	'.wh.foo' and 'foo', latter being in the linked list already

2003-09-17  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Hari, Mohammed.

	* 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.

	* unionfs.h: added copyup_dentry.

	* subr.c (unionfs_copyup_dentry): added this function, called from
	setattr.
	(unionfs_copyup_file): modified, calls copyup_dentry internally. Added
	checks before kfree.

	* inode.c (unionfs_setattr): calls copyup when trying to setattr for a
	RO branch.

	* fist.h (FISTBUG): imported from ncryptfs.

2003-09-17  Harikesavan Pathangi Krishnan  <hari@@t1.fsl.cs.sunysb.edu>

	* inode.c: Fixed the bug related to creation of whiteouts on the
	leftmost branch when a directory on that branch is rmdir'ed.

2003-09-16  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* subr.c: fixed indentation for readdir actors

	* inode.c (unionfs_rmdir): create_whiteout can just not do anything

	* unionfs.h (itohi, dtohd): Reference count check before returning
	to user space.

2003-09-16  Puja Gupta  <puja@@a-rh8.fsl.cs.sunysb.edu>, Hari, Mohammad.

	* inode.c (unionfs_create): removed a dget, was giving a seg fault.
	(unionfs_lookup): error check for lookup_one_len added.
	(unionfs_rmdir_all): checking if rmdir failed on leftmost, and if it
	had whiteouts, remove them, and call vfs_rmdir again, to create
	whiteout.

2003-09-16  Mohammad Nayyer Zubair  <zubair@@t6.fsl.cs.sunysb.edu> Hari <hari@@fsl.cs.sunysbe.du>

	* main.c (unionfs_interpose()):  removed unnecessary fist_prints()

2003-09-16  Mohammad Nayyer Zubair  <zubair@@t6.fsl.cs.sunysb.edu> Hari <hari@@fsl.cs.sunysbe.du>

	* print.c (fist_print_dentry() and fist_print_inode()): removed
	the anding code when printing the mode of the inode. Was printing
	a negative mode value.

2003-09-15  Puja Gupta  <puja@@a-rh8.fsl.cs.sunysb.edu>, Hari, Mohammed.

	* subr.c: fput for copied up file not required.

	* print.c: print level 9 changed to 8.  Level 9 doesn't get printed.

	* unionfs.h (IS_COPYUP_ERR, IS_WRITE_FLAG): Added.

	* subr.c (unionfs_copyup_file): Checks added, replaced variables, fixed.

	* inode.c (unionfs_permission): One code for files and directories.
	Error bypassed for -EROFS, but not for leftmost branch.

	* file.c (unionfs_open): Check added for RO partition, and call copyup.

2003-09-15  Mohammad Nayyer Zubair  <zubair@@t6.fsl.cs.sunysb.edu> Hari <hari@@fsl.cs.sunysbe.du>

	* inode.c (unionfs_mknod): done. removes whiteout if
	present. format similar to unionfs_mkdir(). Tested.

2003-09-14  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* inode.c (do_rename): Fixed parent directory for lookup of whiteout.
	(unionfs_rename_whiteout): Added case for DELETE_WHITEOUT for rename.
        (unionfs_rename): Check destination->inode before S_ISDIR.

2003-09-14  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_filldir): Remove a duplicate from the list if
	filldir fails.

	* dentry.c (unionfs_d_revalidate, unionfs_d_compare, unionfs_d_hash):
	Turned into utility functions for printing to reduce volume of debug
	output.

2003-09-14  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* inode.c (unionfs_rename_all): fix for bindex counter.
	(unionfs_rename_all): check if error not occured in bstart of
	destination.
	(unionfs_rename_all): whiteout is always create in the bstart of
	source, not to go to left of it.

2003-09-14  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Detect EIO on single directories by doing duplicate elimination
	routine.

2003-09-13  Puja Gupta  <puja@@t3.fsl.cs.sunysb.edu>, Jay.

	* inode.c: added dput for hidden_dentry, whiteout_dentry that
	are not used after lookup.

	* subr.c: added dput for hidden_dentry, whiteout_dentry that
	are not used after lookup.

2003-09-13  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* PASSERT is for pointers.  ASSERT is for non-pointer conditions.

2003-09-12  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* main.c: Sanity checks on flag=.

	* subr.c (create_whiteout_left): Balanced a dput w/ a dget.

	* print.c: exit should be level 5, not 4.  hidden_dentries/inodes
	are level 9 instead of 8.

	* Changed ASSERT to Oops when the pointer is poisoned.

	* Changed ASSERT(foo != NULL) to ASSERT(foo)

	* Default flag is 0x0.

2003-09-11  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Hari, Zubair, Jay.

	* inode.c (unionfs_create, unionfs_symlink): whiteouts truncated
	to zero and ctime updated.

	* unionfs.h: added flags COPYUP_OWNER, COPYUP_FS_MOUNTER,
	redefined flags.

	* inode.c: unlock parent added.

	* file.c (unionfs_open): check for error and call copyup on EROFS.

	* inode.c (unionfs_unlink): changed the function like rmdir. Used
	rename instead of unlink, create for whiteouts.
	(unionfs_mkdir): restructured code.

	* unionfs.h (GLOBAL_ERR_PASSUP): removed DELETE_ERR_PASSUP.
	GLOBAL_ERR_PASSUP indicates whether to pass error back or create
	whiteouts/try again.

	* inode.c (unionfs_create, unionfs_symlink, unionfs_link):
	restructured changed *_ERR_PASSUP to GLOBAL_ERR_PASSUP.

	* unionfs.h (GLOBAL_ERR_PASSUP): added, for all functions,
	whether, on error, should passup or try to make up for error
	encountered.

	* inode.c (unionfs_symlink): updating bstart, bend for symlink
	create.  Restructured the code.

2003-09-11  Mohammad Nayyer Zubair  <zubair@@t6.fsl.cs.sunysb.edu>

	* inode.c (unionfs_symlink): done. removes whiteout if
	present. same format as in unionfs_create()

	* inode.c (unionfs_link): creating destination path in source's
	branch instead of vice versa

	* inode.c (unionfs_rmdir_all): removed unneccessary d_drop()
	call. unionfs_rmdir() calls it at the end

2003-09-10  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

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

	* subr.c (delete_whiteouts): Delete all whiteouts in
	a given directory in a given branch.

	* subr.c (check_empty): Check if a directory is empty.

2003-09-10  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Hari.

	* unionfs.h: unionfs_interpose now returns void.

	* subr.c (unionfs_partial_lookup): removed extra dput.
	unionfs_reinterpose now returns void.

	* main.c (unionfs_reinterpose): is now a void function and igrab
	was called twice for already existing hidden inode. Fixed.

	* file.c (single_branch_filldir): removed fist_dprint printed
	extra newline character on commandline during readdir.

	* unionfs.h (COPYUP_CURRENT): removed multiple definition.

2003-09-09  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* subr.c (unionfs_full_lookup): Removed this function, was similar
	to unionfs_partial_lookup.

	* inode.c (unionfs_unlink): added if-else for three different
	options for unlink, and also for error handling (passup or
	whiteout). Replaced unionfs_full_lookup with
	unionfs_partial_lookup (Both functions were same, just change in
	name).  Added dget, dput at appropriate places.

	* unionfs.h (DELETE_FIRST, DELETE_WHITEOUT, DELETE_ERR_PASSUP):
	added, and removed all other unlink flags.

2003-09-09  Mohammad Nayyer Zubair  <zubair@@t6.fsl.cs.sunysb.edu> Hari <hari@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_lookup):  returning EIO for directory whiteout.

2003-09-02 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu> Hari <hari@@fsl.cs.sunysb.edu>

	* inode.c: mkdir and create revisted, restructured and tested

2003-09-08  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_write): Fixed positioning code.

2003-09-07  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* inode.c (unionfs_create): added dget, get_parent, double_lock
	and error check for vfs_rename of whiteouts. Added d_drop for any
	negative dentry at the end of function.
	(unionfs_mkdir): added error check for vfs_unlink of whiteouts,
	unionfs_interpose, create_dir_whs.  Removed multiple unlock_dir.

	* subr.c (create_dir_whs_filldir, create_whiteout_left):
	changed char name[PATH_MAX] to char *name.

	* inode.c (unionfs_create, unionfs_lookup, unionfs_unlink)
	(unionfs_mkdir): changed char name[PATH_MAX] to char *name.
	(unionfs_rmdir): removed unused name, wh_name.

2003-09-06  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* inode.c (unionfs_create): reverted back to the loop for create
	from bstart to zeroth branch.

2003-09-02 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* inode.c: file to file rename done.

	* major items left: dir to dir rename

	* minor items left: mknod, symlink

2003-09-05  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c (unionfs_filldir, single_branch_filldir): Removed memory
	leak for debug output in filldirs.
	(unionfs_readdir): Return -failure from filldir (previously our
	filldir had no error propagation).

	* 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.

2003-09-03  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* super.c (unionfs_clear_inode): Fixed cleanup of stale inodes.

	* fist.h (ASSERT2): Macro to print out caller when we fail.

	* Changed ASSERT2's to ASSERT, since they weren't really being
	used as an ASSERT2.

	* unionfs.h (itohi, dtohd): Converted to a function, added an
	ASSERT2 to make sure we don't underflow the array.

2003-09-02 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* subr.c: removed the unnecessary vfs_rename() function call in
	create_whiteout_left(). Doing vfs_create() directly.

	* inode.c: fixes in lookup(). Started on unionfs_rename().


2003-09-01 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* subr.c: added function int remove_whiteouts(dentry_t *dentry,
	dentry_t *hidden_dentry, int bindex)
	Called by unionfs_rmdir(). Does vfs_readdir() and then unlinks all
	whiteouts entries in it.

2003-09-01  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* 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.

2003-09-01 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* inode.c: unionfs_mkdir() done and works as per updated design.
	Creating whiteout entries for all entires to the right. Details on
	this are in the updated function_description.html file

	* file.c: a separate filldir function for single branch directory.
	Ignoring whiteout entries.

	* subr.c: added a function: int create_whs_right(dentry_t *dentry,
	int cur_index) Does a vfs_readdir on all directories starting from
	cur_index + 1 and creates whiteout entries in cur_index (called in
	unionfs_mkdir()). Details on this are in the updated
	function_description.html file

	preliminary cases are working as expected

	Left: rename, mknod, symlink.

2003-09-01  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c: Add branch ioctl and trimmed unionfs_dir_fops.

	* fist.h: Structure for add branch ioctl.

	* fist_ioctl.c: Add branch and cleaner branchcount ioctl.

2003-08-31  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* dentry.c (unionfs_d_revalidate): Do revalidation of dentries,
	we now can remove the leftmost branch and expose old contents.

2003-08-27 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* inode.c: unionfs_unlink() implemented as per new design specs
	(ignoring intermiate directories for now)

	* subr.c: added create_whiteout_left(dentry, index) function:
	creates a whiteout in index, on error it proceeds to the left.

	* file.c: in fill_dir() ignoring whiteout entries

	* Left: mkdir, mknod, symlink, rmdir, rename

2003-08-27  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* Branch removal sort of works.

2003-08-27 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* 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.

2003-08-26  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* inode.c (unionfs_inode_revalidate): Refresh inode from lower level.

	* fist_ioctl.c: Increment super generation number.

	* file.c (unionfs_ioctl_incgen): Increment super generation number.

2003-08-20  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>

	* file.c: Branch reference counters updated on open/close.  Need
	to figure out how do to update them when a unionfs directory
	becomes the cwd of a process.

	* doit.sh: Source doitopts or doitopts.`uname -n` so different
	developers can have different setups, w/o changing CVS.

	* unionfs.h: Added generation number to super block, inode, and dentries.

	* attach.c: Not used.

2003-08-13  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* subr.c: some fixes in unionfs_copyup_file() (untested yet)

	* file.c: calling unionfs_copyup_file() if write() fails on the
	leftmost file.  Failure could result because of read-only
	permissions on the file so probably should do copy up only if
	branch is mounted RO.

	* unionfs.h: modified definition for unionfs_copyup_file()

2003-08-13  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* 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

2003-08-13  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* unionfs.h: added definition for unionfs_create_whiteout.

2003-08-12  Puja Gupta  <puja@@mooby.fsl.cs.sunysb.edu>

	* inode.c: reverting back to old copy without changes to rename.

2003-08-04  Puja Gupta <pugupta@@cs.sunysb.edu>

	* unionfs.h (UNLINK_WHITEOUT, UNLINK_ALL_FIRST, UNLINK_ERR): New flags
	for handling various unlink options.

	* main.c (unionfs_parse_options): fixed check for getting mount flags.

	* inode.c (unionfs_unlink): added unlink for whiteout. If flag is set
	for UNLINK_WHITEOUT, try to create whiteout in branches to left, create
	recursive subdirectories.  Also added check for various flags for
	unlink_first or unlink_all, and how to handle error on unlink.
	(unionfs_create_parent_dir): check in for loop fixed.

2003-08-04  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* file.c: readdir is working fine with the hashtable in the private
	data of unionfs file.
	diff -ru on gcc tarball is successful

	* inode.c: implemented option 2 of link(), recursively creating source
	path in destination branch when branches are different

	* unionfs.h: added two mount time flags
	LINK_EXDEV: just return -EXDEV when dentries are on different branches
	LINK_RECURSIVE: recursively create source path in target branch

2003-07-31  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* file.c: readdir/filldir's linked list converted into a hashtable
	of size HASHTABLE_SIZE Duplicate elimation is working. Still to
	test the gcc tarball.

	* unionfs.h: converted dir_list list head to an array of list
	heads of size HASHTABLE_SIZE


2003-07-30  Puja Gupta <pugupta@@cs.sunysb.edu>

	* unionfs.h: changed to new flag, CREATE_RW_ERR, UNLINK_WHITEOUT,
	UNLINK_ERR.  Function definition for unionfs_partial_lookup.

	* inode.c (unionfs_partial_lookup): added, called from
	unlink. Looks up the remaining files that were not looked up in
	unionfs_lookup.
	(unionfs_unlink): code now transferred to unionfs_partial_lookup.
	(unionfs_create): flag name is CREATE_RW_ERR.

	* inode.c (unionfs_create): changed to new flag values.

	* unionfs.h (IS_SET): changed flags to be exclusive. Also, changed
	IS_SET to work on place value of bit.

2003-07-27  Puja Gupta <pugupta@@cs.sunysb.edu>

	* file.c (unionfs_open): removed ftohd_index(file, bindex) = NULL.
	unionfs_getdents_callback now has file_t *.
	(unionfs_filldir, unionfs_readdir): changed the global list_head
	for duplicate elimination to have a list_head in private data of
	file. So, the list of name, namelen is stored in this new
	list_head, and compared against this.

	* unionfs.h: added struct filldir_node to private data of file.
	Thus, every file has unique and seperate list for readdir.

	* doit.sh: "flag=" instead of "flags=".

2003-07-28  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* inode.c: unionfs_link's option 1 done. Return -EXDEV if old and
	new dentries are in different branches / starting option 2: if
	different branches, creating destination path in the source branch

	* unionfs.h: added a simple function which returns the sum of all
	the underlying inodes' nlink value

	* inode.c: calling the above function wherever nlinks value was
	being set

2003-07-24  Puja Gupta  <puja@@t2.fsl.cs.sunysb.edu>

	* unionfs.h: #defines for MOUNT_FLAG, CREATE_PASSUP,
	CREATE_RW_ERR_PASSUP, CREATE_TRY_LEFT and IS_SET.

	* main.c (unionfs_parse_options): parse the mount time flag and
	initialize it.

	* inode.c (unionfs_create): added handling of partial errors to
	handle various cases: 1) Try to Left (default), 2) PassUp, 3) If
	EPERM on RW branch, PassUp.

	* doit.sh: changed mount options to include "flag=".

2003-07-24  Puja Gupta  <pugupta@@cs.sunysb.edu>

	* inode.c (unionfs_setattr): added check for NULL hidden dentry.
	(unionfs_inode_revalidate): added ASSERT2 for inode.

2003-07-24  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* file.c: in unionfs_open, now only opening leftmost file instead
	of opening all of the hidden files.  Opening all directories
	though.

	* inode.c: setattr function done. Assigning 'correct' value to the
	n_links variable in the unionfs inode.  In inode_revalidate
	function assigning 'correct' value to the n_links variable in the
	unionfs inode.

	* main.c: just moved sum_nlinks variable to the beginning of the
	  interpose function. diff -ru on a randomly distributed
	  (recursive) gcc tarball is failing. Some duplicate files are
	  being listed.  'ls' on the directory containing above duplicate
	  files also lists the files twice. Files have same unionfs inode.
	  Checking out whats happening.

2003-07-22  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* main.c: in interpose() added lines which compute the sum of the
	nlinks of the underlying inodes and assigns this sum to the
	unionfs inode.

	* inode.c: in permission() added check for a null hidden inode

2003-07-22  Puja Gupta <pugupta@@cs.sunysb.edu>

	* unionfs.h: init_file_array is now init_ftohf_ptr,
	init_inode_array is now init_itohi_ptr, init_sb_array is now
	init_stohs_ptr, added init_stohiddenmnt_ptr, init_dentry_info,
	init_dentry_array is now init_dtohd_ptr.  All this makes sure that
	all allocated memory is initialized to zero before its being used.

	* super.c (unionfs_read_inode): init_inode_array is now init_itohi_ptr.

	* main.c (unionfs_parse_options): init_priv_inode is now
	init_dentry_info.
	(unionfs_parse_options): memset, init_stohs_ptr, init_stohiddenmnt_ptr
	added for initialize memory allocated to NULL.
	(unionfs_read_super): init_dtohd_ptr added to initialize to NULL.

	* inode.c (unionfs_lookup): init_dentry_array is now init_dtohd_ptr.

	* file.c (unionfs_open): added init_ftohf_ptr, setting underlying
	file pointer to NULL.

2003-07-21  Puja Gupta <pugupta@@cs.sunysb.edu>

	* inode.c (unionfs_create): get rid of the hidden dentry that lead
	to an unsuccessful attempt to create. Update bstart, bend
	accordingly.
	(unionfs_create_parent_dir): added "count--" for proper pointer
	position. Updated private data, bstart for the dentry and inode of
	intermediate directories created.  Also, updated bend for the
	negative dentry returned from this function to create.

	* main.c (unionfs_interpose): removed comments and extra line
	spaces.

2003-07-20  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* unionfs.h (MAX_DIR_CREATE): added MAX_DIR_CREATE for the number of
	directories allowed to be created in recursive subdir creation.
	Should be dynamic.

	* inode.c (unionfs_create): changed to handle partial error by
	recursively creating directory to left branches.
	(unionfs_create_parent_dir): added this function, it creates
	hidden directory path for a given parent inode and dentry in
	specified branch. (Still to test)

2003-07-15  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* inode.c <unionfs_lookup>: Found a bug while mounting unionfs on
	a randomly distributed (recursive) am-utils tarball on 5 branches.
	Basically we were not memsetting the array of pointers to hidden
	objects after kmallocing a CUR_MAX_BRANCH number of pointers for
	dentry, inode, file and sb.  They were assumed to be NULL in
	lookup and hence were not explicitly set to NULL in the array when
	requireed.

	* unionfs.h: Added macros which initialize hidden arrays to NULL

2003-07-15  Puja Gupta  <puja@@mooby.fsl.cs.sunysb.edu>

	* inode.c (unionfs_lookup): added few debug statements.
	(unionfs_unlink): Since lookup for file had just the leftmost
	entry, unlink now internally calls lookup for all remaining
	branches.  And the current policy for unlink is, unlink
	all. (Tested).

	* unionfs.h: added definition for unionfs_reinterpose.

	* main.c (unionfs_reinterpose): This new function takes a dentry
	with leftmost hidden inode interposed, and reinterposes the newly
	lookedup hidden inodes in remaining branches.  Called from
	unionfs_unlink.

	* mount_tarball.sh, mount_tarball_random.sh: These scripts are now
	moved to ../tools directory.

2003-07-13  Puja Gupta  <puja@@mooby.fsl.cs.sunysb.edu>

	* inode.c (unionfs_lookup): fixed initialization of negative dentry.

	* print.c (fist_print_inode), (fist_print_file),(fist_print_dentry),
	(fist_print_sb): made more readable, pointers now printed with %p.

2003-07-10  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>

	* super.c (unionfs_statfs): check for duplicate superblock data being
	added.
	(unionfs_umount_begin): check for NULL hidden_sb, hidden_sb->s_op.

2003-07-10 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* print.c: fist_print_inode(): prints underlying inodes if any.
	fist_print_dentry(): prints underlying dentries if any.
	fist_print_files(): prints underlying files if any.
	fist_print_superblock(): prints underlying sbs if any.

2003-07-10 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* print.c: improved the formatting of printing inode, dentry and
	sb

	* main.c, inode.c removed unneccessary lines printing debugging
	info in interpose()

2003-07-13 Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>

	* file.c inode.c: removed debugging info lines

	* created mount_tarball.sh.  right now, distributes an equal
		number of files/dirs among N branches tar-ing am-utils
		through unionfs mount point gives same package buildall
		through mount point gives same structure/files
@


1.737
log
@* .cvsignore: Clean things up
@
text
@d1 8
@


1.736
log
@* inode.c: Fixed unionfs_create, et. al.
@
text
@d1 4
@


1.735
log
@added shaya and martin qiao
@
text
@d1 4
@


1.734
log
@applied shaya's optimization patch
@
text
@d3 4
@


1.733
log
@another snapmerge bug fix
@
text
@d3 8
@


1.732
log
@snapmerge ownership and links bug fix
@
text
@d3 4
@


1.731
log
@* dentry.c: Align structure memebers

Snap making script test commit
@
text
@d1 5
@


1.730
log
@* dirfops.c: Align structure memebers

Snap making script test commit
@
text
@d3 2
@


1.729
log
@* file.c: Align structure memebers

Snapshot making script test commit
@
text
@d3 2
@


1.728
log
@* super.c: Align structure memebers

Snapshot gen script test commit
@
text
@d3 2
@


1.727
log
@* inode.c: Align structure memebers

This is a snapshot making script test commit
@
text
@d3 2
@


1.726
log
@* sioq.c: Use C-style comment

This is a snapshot generating script test commit.
@
text
@d1 4
@


1.725
log
@print error when copyup fails
@
text
@d1 4
@


1.724
log
@compile imap on 2.6.19 and export.o when exportfs is module
@
text
@d2 3
@


1.723
log
@fixed Makefile.kernel
@
text
@d1 6
@


1.722
log
@forgot to add export.c
@
text
@d2 4
@


1.721
log
@compile with 2.6.19
@
text
@d2 3
@


1.720
log
@Replaced SLAB_KERNEL with GFP_KERNEL
@
text
@d1 10
a10 1
2006-22-26 Yiannis Pericleous <yiannnos@@gmail.com>
d13 1
a13 1
2006-22-26 Yiannis Pericleous <yiannnos@@gmail.com>
@


1.719
log
@replace kmem_cache_t with struct kmem_cache
@
text
@d2 3
@


1.718
log
@* main.c, super.c, unionfs.h: Export fixes
@
text
@d1 4
@


1.717
log
@fixed undefined variable addbranch is imap is used
@
text
@d1 4
@


1.716
log
@* unionfs.h, stale_inode.c: Remove config.h include (depricated),
struct inode sliming patch fix (removed i_blksize)
@
text
@d1 4
@


1.715
log
@* Makefile, Makefile.kernel: Up the version to 1.5pre
@
text
@d1 5
@


1.714
log
@* Makefile, Makefile.kernel, NEWS: Unionfs 1.4
@
text
@d3 4
@


1.713
log
@* .cvsignore: ignore .sioq.o.cmd and Module.symvers
@
text
@d3 4
@


1.712
log
@* super.c (unionfs_remount_fs): Removed unused variable
@
text
@d3 4
@


1.711
log
@allow remounting
@
text
@d1 4
@


1.710
log
@Convert sioq to anonymous unions
@
text
@d1 4
@


1.709
log
@prevent branch manipulation if imap used
@
text
@d1 4
@


1.708
log
@* copyup.c, inode.c: More fixes related to copyup of files >= 2GB
@
text
@d1 4
@


1.707
log
@* main.c: Sioq wasn't being properly initialized
@
text
@d3 4
@


1.706
log
@* copyup.c: Fixed copyup of files >= 2GB
@
text
@d3 4
@


1.705
log
@* sioq.c: One function was missing a complete and another was not
formatted properly.
@
text
@d1 4
@


1.704
log
@* ALL: Junjiro's sioq code with some (not so minor) modifications
@
text
@d1 5
@


1.703
log
@* super.c: Fixed compilation on 64-bit systems
@
text
@d1 4
@


1.702
log
@* ALL: Copyright header update (fixed my name - added 'Jeff', added
  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)
@
text
@d1 4
@


1.701
log
@* main.c: Fixed a printk statement.
@
text
@d1 5
@


1.700
log
@* main.c: Added a new mount option to specify the directory
specifier for the dirs= section of the unionfs mount command
* man/unionfs.4: Added separator documentation
@
text
@d3 4
@


1.699
log
@* subr.c: Removed references to tasklist_lock since it will
be removed from 2.6.18 and is not needed.
@
text
@d1 6
@


1.699.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
@a0 6
2006-07-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, copyup.c, dirfops.c, main.c, super.c, unionfs.h,
	persistent_inode.c, unionfs_imap.h: (lkml cleanup branch) killed
	imap

@


1.699.2.2
log
@* main.c, rename.c, super.c, unionfs.h, unlink.c: (lkml cleanup
branch) killed delete=all
@
text
@a2 5
	* main.c, rename.c, super.c, unionfs.h, unlink.c: (lkml cleanup
	branch) killed delete=all

2006-07-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.3
log
@* Makefile, copyup.c, file.c, inode.c, main.c, super.c, mmap.c:
(lkml cleanup branch) killed mmap
@
text
@a2 5
	* Makefile, copyup.c, file.c, inode.c, main.c, super.c, mmap.c:
	(lkml cleanup branch) killed mmap

2006-07-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.4
log
@* file.c: (lkml cleanup branch) killed broken_losetup

* unionfs.h: killed version check
@
text
@a2 6
	* file.c: (lkml cleanup branch) killed broken_losetup

	* unionfs.h: killed version check

2006-07-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.5
log
@* rpm/ debian/ man/ docs/ utils/ misc/: Removed to
clean up directory for LKML patches
@
text
@a0 5
2006-07-25  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* rpm/ debian/ man/ docs/ utils/ misc/: Removed to 
	clean up directory for LKML patches

@


1.699.2.6
log
@* ALL: (lkml cleanup branch) killed malloc debug
@
text
@a0 4
2006-07-25  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* ALL: (lkml cleanup branch) killed malloc debug

@


1.699.2.7
log
@* Everything: Removed all debug code and references
to debug in parsing and in the regession suite.
@
text
@a0 5
2006-07-26  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* Everything: Removed all debug code and references
	to debug in parsing and in the regession suite.

@


1.699.2.8
log
@* Branchman.c, commonfops.c, main.c: Noted some places
where we need to fix things before LKML posting.
@
text
@a0 5
2006-07-26  David P. Quigley  <dpquigl@@tycho.nsa.gov>

	* Branchman.c, commonfops.c, main.c: Noted some places
	where we need to fix things before LKML posting. 

@


1.699.2.9
log
@* main.c, rename.c: (lkml cleanup branch) Removed some references to
delete modes
@
text
@a0 5
2006-07-26  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c, rename.c: (lkml cleanup branch) Removed some references to
	delete modes

d3 1
a3 1
	* branchman.c, commonfops.c, main.c: Noted some places
@


1.699.2.10
log
@* ChangeLog: Forgot to commit ChangeLog
@
text
@a0 7
2006-08-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* ChangeLog: Forgot to commit ChangeLog

	* branchman.c, commonfops.c, copyup.c, unionfs.h: (lkml branch)
	Minor cleanups

@


1.699.2.11
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
@a2 7
	* 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..

2006-08-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.12
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
@a0 10
2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

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

2006-08-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, .cvsignore: (lkml branch) Accidentally removed the
	makefile in the previous commit, another addition to the ignore file

@


1.699.2.13
log
@* main.c, super.c, unionfs.h: (lkml branch) removed export related
code
@
text
@a2 5
	* main.c, super.c, unionfs.h: (lkml branch) removed export related
	code

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.14
log
@* super.c: (lkml branch) statfs should return something that won't
mislead the user into thinking that we unify disk space; misc cleanups
@
text
@a2 5
	* super.c: (lkml branch) statfs should return something that won't
	mislead the user into thinking that we unify disk space; misc cleanups

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.15
log
@* branchman.c, commonfops.c, copyup.c, dentry.c, dirfops.c,
dirhelper.c, file.c, inode.c, lookup.c, main.c, rdstate.c, rename.c,
subr.c, super.c, unlink.c: (lkml branch) Fixed the pesky indentation
of labels (whoever hardcoded the 6 space indentation into indent
should be forced to look at code in linux/drivers/ for few months as a
punishment)
@
text
@a2 9
	* branchman.c, commonfops.c, copyup.c, dentry.c, dirfops.c,
	dirhelper.c, file.c, inode.c, lookup.c, main.c, rdstate.c, rename.c,
	subr.c, super.c, unlink.c: (lkml branch) Fixed the pesky indentation
	of labels (whoever hardcoded the 6 space indentation into indent
	should be forced to look at code in linux/drivers/ for few months as a
	punishment)

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.16
log
@* subr.c: (lkml branch) Very minor fixes to coding style
@
text
@a2 4
	* subr.c: (lkml branch) Very minor fixes to coding style

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.17
log
@* branchman.c, dentry.c, dirfops.c, lookup.c, main.c, rename.c,
unionfs.h: (lkml branch) Random removal of nasty code
@
text
@a2 5
	* branchman.c, dentry.c, dirfops.c, lookup.c, main.c, rename.c,
	unionfs.h: (lkml branch) Random removal of nasty code

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.18
log
@* branchman.c, commonfops.c, super.c, unionfs.h: (lkml branch)
Branch management code gone
@
text
@a2 5
	* branchman.c, commonfops.c, super.c, unionfs.h: (lkml branch)
	Branch management code gone

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.19
log
@* branchman.c, commonfops.c, main.c: (lkml branch) Applied comments
from Seth Arnold
@
text
@a2 5
	* branchman.c, commonfops.c, main.c: (lkml branch) Applied comments
	from Seth Arnold

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.20
log
@* branchman.c, commonfops.c, dirfops.c, dirhelper.c, inode.c,
lookup.c, main.c, rename.c, subr.c, super.c, unionfs.h: (lkml branch)
Prefix WHPFX and WHLEN with UNIONFS_
@
text
@a2 6
	* branchman.c, commonfops.c, dirfops.c, dirhelper.c, inode.c,
	lookup.c, main.c, rename.c, subr.c, super.c, unionfs.h: (lkml branch)
	Prefix WHPFX and WHLEN with UNIONFS_

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.21
log
@* ALL: Copyright header update (fixed my name - added 'Jeff', added
Junjiro, super.c had 2 ezk lines)
@
text
@a2 5
	* ALL: Copyright header update (fixed my name - added 'Jeff', added
	Junjiro, super.c had 2 ezk lines)

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.22
log
@* ALL: Removed RCS tags
@
text
@a2 4
	* ALL: Removed RCS tags

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.23
log
@* commonfops.c, copyup.c: (lkml branch) Applied more comments from
Seth Arnold
@
text
@a2 5
	* commonfops.c, copyup.c: (lkml branch) Applied more comments from
	Seth Arnold

2006-08-03  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.24
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
@a0 6
2006-08-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* 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)

@


1.699.2.25
log
@* commonfops.c, copyup.c, cred.c, rename.c: (lkml branch) Removed
branchput_gen as it is unneeded; changed sillyrename-like code for
copyup_deleted_file to be like sillyrename - looks cleaner too!;
@
text
@a0 7
2006-08-05  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* commonfops.c, copyup.c, cred.c, rename.c: (lkml branch) Removed
	branchput_gen as it is unneeded; changed sillyrename-like code for
	copyup_deleted_file to be like sillyrename - looks cleaner too!;


@


1.699.2.26
log
@* ALL: (lkml branch) remove emacs/vim magic
@
text
@a2 4
	* ALL: (lkml branch) remove emacs/vim magic

2006-08-05  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.27
log
@* commonfops.c (unionfs_open): (lkml branch) Rewrite of cleanup code
to be more in line with kernel conventions
@
text
@a0 5
2006-08-09  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* commonfops.c (unionfs_open): (lkml branch) Rewrite of cleanup code
	to be more in line with kernel conventions

@


1.699.2.28
log
@* copyup.c (copyup_named_dentry): (lkml branch) Refactored the whole
function into 3, cleaner, easier to understand functions
@
text
@a0 5
2006-08-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_named_dentry): (lkml branch) Refactored the whole
	function into 3, cleaner, easier to understand functions

@


1.699.2.29
log
@* commonfops.c (unionfs_file_revalidate): (lkml branch) Refactored
the function into several smaller parts.
@
text
@a0 5
2006-08-10  David P. Quigley  <dquigley@@ic.sunysb.edu>

	* commonfops.c (unionfs_file_revalidate): (lkml branch) Refactored
	the function into several smaller parts.

@


1.699.2.30
log
@* copyup.c (copyup_named_dentry): (lkml branch) Fixed up
copyup_named_file - According to the control flow diagram I made, the
output of this new function should be identical to the old one

* commonfops.c, cred.c: undo some of the damage caused by indent - which was
supposed to help
@
text
@a0 6
2006-08-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* copyup.c (copyup_named_dentry): (lkml branch) Fixed up
	copyup_named_file - According to the control flow diagram I made, the
	output of this new function should be identical to the old one

@


1.699.2.31
log
@* commonfops.c: cleanedup indenting and bracketing.
@
text
@a0 4
2006-08-11  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* commonfops.c: cleanedup indenting and bracketing.

@


1.699.2.32
log
@* ALL: Fixed up Dave's copyright line
@
text
@a0 4
2006-08-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* ALL: Fixed up Dave's copyright line

@


1.699.2.33
log
@* cred.c, dirhelper.c, lookup.c, main.c, unionfs.h: (lkml branch)
Commited a slightly modified version of Junjiro's superio replacement
code
@
text
@a2 6
	* cred.c, dirhelper.c, lookup.c, main.c, unionfs.h: (lkml branch)
	Commited a slightly modified version of Junjiro's superio replacement
	code

2006-08-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.34
log
@Forgot to update the date in the changelog
@
text
@d1 1
a1 1
2006-08-23  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>
@


1.699.2.35
log
@* ALL: (lkml branch) Great many changes - mostly related to resetting
current->fs*id which is considered bad, so instead we use a modified
version of Junjiro's superio replacement code
@
text
@a2 6
	* ALL: (lkml branch) Great many changes - mostly related to resetting
	current->fs*id which is considered bad, so instead we use a modified
	version of Junjiro's superio replacement code

2006-08-23  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.36
log
@* cred.c, sioq.c: (lkml branch) Renamed a file
@
text
@a2 4
	* cred.c, sioq.c: (lkml branch) Renamed a file

2006-08-23  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.699.2.37
log
@* patches/: (lkml branch) Patches, emails, and diffstats to be
submitted to lkml/fsdevel
@
text
@a0 5
2006-08-28  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* patches/: (lkml branch) Patches, emails, and diffstats to be
	submitted to lkml/fsdevel

@


1.699.2.38
log
@* patches/v2.0/0-intro.email: updated.
@
text
@a0 4
2006-08-29  Erez Zadok  <ezk@@cs.sunysb.edu>

	* patches/v2.0/0-intro.email: updated.

@


1.699.2.39
log
@* ALL: (lkml branch) Few misc cleanups/fixes
@
text
@a0 4
2006-08-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* ALL: (lkml branch) Few misc cleanups/fixes

@


1.698
log
@* INSTALL (UNIONFS_IMAP): rephrase.
@
text
@d1 5
@


1.697
log
@no trailing WS. avoid long changelog lines
@
text
@d1 4
@


1.696
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
@d7 5
a11 4
	* 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.
d36 4
a39 4
	* persistent_inode.c: fix tiny bugs in __write_uin() and read_uin(),
	  use __fread() in get_lin().
	* super.c: new export functions. un-tested 64 bit environment (pointer
	  and inode number).
d43 2
a44 2
	* man/uniondbg.8, man/unionimap.8: newline after .IP "-foo" to make
	man happy
d124 1
a124 1
	
d127 1
a127 1
	
d145 1
a145 1
	
d174 1
a174 1
	
d207 1
a207 1
	
d209 1
a209 1
	
d211 1
a211 1
	
d214 1
a214 1
	
d229 1
a229 1
	
d245 1
a245 1
	
d338 1
a338 1
	
d348 1
a348 1
	* file.c (__unionfs_read, __unionfs_write): code that was removed 
d380 1
a380 1
	* copyup.c: removed old style listxattr code and replaced 
d384 1
a384 1
	a lock and since vfs_setxattr and vfs_removexattr take the 
d395 1
a395 1
	
d397 1
a397 1
	
d400 1
a400 1
	
d402 1
a402 1
	
d428 1
a428 1
	d_alloc_root 
d450 1
a450 1
	
d493 1
a493 1
	
d506 1
a506 1
	
d540 1
a540 1
	
d560 1
a560 1
	
d578 1
a578 1
	* unionfs.h: Removed usi_fsnum_table since its not used and makes 
d580 1
a580 1
	
d600 1
a600 1
	
d610 1
a610 1
	
d625 1
a625 1
	
d628 1
a628 1
	
d630 1
a630 1
	
d633 1
a633 1
	
d635 1
a635 1
	
d638 1
a638 1
	
d645 1
a645 1
	
d647 1
a647 1
	
d650 1
a650 1
	
d652 1
a652 1
	
d656 1
a656 1
	
d659 1
a659 1
	
d669 1
a669 1
	
d677 1
a677 1
 
d699 1
a699 1
	
d703 1
a703 1
	
d705 1
a705 1
	
d713 1
a713 1
	
d718 1
a718 1
	
d779 1
a779 1
	
d781 1
a781 1
	
d789 1
a789 1
	
d792 2
a793 2
	function. 
	
d934 1
a934 1
	
d936 1
a936 1
	duplicate branches being added. Need to reevaluate if it should be kept 
d983 1
a983 1
	  neither mode nor before/after specified. 
d1189 1
a1189 1
	* rmdir-all.sh: added test for bug 430. Not sure if 
d1270 1
a1270 1
	* removed 2.4 code from copyup.c, dentry.c, dirfops.c 
@


1.695
log
@* misc/runtests.sh: Fixed inverted logic condition
@
text
@d1 11
@


1.694
log
@* misc/runtests.sh: If build fails, provide an fallback option
@
text
@d3 2
@


1.693
log
@* Makefile, Makefile.kernel, commonfops.c, main.c, super.c,
unionfs.h: Updated to make 2.6.18-rc happy.
@
text
@d3 4
@


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

* NEWS: Unionfs 1.3, copied over 1.1.5 release news
@
text
@d1 5
@


1.692.2.1
log
@* 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.

* super.c: new export functions. un-tested 64 bit environment (pointe
@
text
@a0 7
2006-07-03  David P. Quigley  <dpquigl@@tycho.nsa.gov>

	* 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.

d15 1
a15 1
	* super.c: new export functions. un-tested 64 bit environment (pointe
@


1.692.2.2
log
@* Makefile: Cleanedup install and uninstall targets.
@
text
@a0 4
2006-07-07  David P. Quigley  <dquigley@@tycho.nsa.gov>

	* Makefile: Cleanedup install and uninstall targets.

@


1.692.2.3
log
@corrected my email address
@
text
@d1 1
a1 1
2006-07-07  David P. Quigley  <dpquigl@@tycho.nsa.gov>
@


1.692.2.4
log
@* ALL: Copyright header update (fixed my name - added 'Jeff', added
  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)
@
text
@a0 5
2006-08-05  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* ALL: Copyright header update (fixed my name - added 'Jeff', added
	  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)

@


1.691
log
@* main.c, super.c, unionfs.h: use '#ifdef CONFIG_EXPORTFS'
@
text
@d1 6
@


1.690
log
@* persistent_inode.c: fix tiny bugs in __write_uin() and read_uin(),
@
text
@d1 4
@


1.689
log
@* persistent_inode.c: fix a tiny bugs in __write_uin() and read_uin(),
  use __fread() in get_lin().
* super.c: new export functions. un-tested 64 bit environment (pointer
  and inode number).
@
text
@d3 1
a3 1
	* persistent_inode.c: fix a tiny bugs in __write_uin() and read_uin(),
@


1.688
log
@* man/uniondbg.8, man/unionimap.8: newline after .IP "-foo" to make
man happy
@
text
@d1 7
@


1.687
log
@* Makefile, utils/Makefile, rpm/unionfs.spec: Updated RPM specfile,
fixed up Makefiles
@
text
@d1 5
@


1.686
log
@* unionfs.h: Fixed silly typo
@
text
@d1 5
@


1.685
log
@* unionfs.h (copy_inode_size): Removed copy_inode_size because it
was (1) ugly, and (2) unnecessary; the code can easily be in the two
functions that used it
@
text
@d1 4
@


1.684
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
@d1 6
@


1.683
log
@* .cvsignore: ignore cscope.out
@
text
@d3 13
@


1.683.2.1
log
@* unionfs.h: This is 2.6.16 only branch
@
text
@a2 4
	* unionfs.h: This is 2.6.16 only branch

2006-06-09  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.683.2.2
log
@* mmap.c (unionfs_sync_page): Undo 2.6.17-rc compile fix
@
text
@a0 4
2006-06-09  Elia Yehuda  <z4ziggy@@gmail.com>

	* mmap.c (unionfs_sync_page): Undo 2.6.17-rc compile fix

@


1.683.2.3
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
@a0 12
2006-06-09  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* 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

d84 1
a84 1
	* utils/Makefile: New Makefile for this directory
@


1.683.2.4
log
@* Makefile.kernel: Fixed compile with patch-kernel.sh
@
text
@a0 4
2006-06-09  Thomas Backlund  <tmb@@mandriva.org>

	* Makefile.kernel: Fixed compile with patch-kernel.sh

@


1.683.2.5
log
@* unionfs.h (copy_inode_size): Removed copy_inode_size because it
was (1) ugly, and (2) unnecessary; the code can easily be in the two
functions that used it
@
text
@a0 6
2006-06-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h (copy_inode_size): Removed copy_inode_size because it
	was (1) ugly, and (2) unnecessary; the code can easily be in the two
	functions that used it

@


1.683.2.6
log
@* unionfs.h: Fixed silly typo
@
text
@a0 4
2006-06-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: Fixed silly typo

@


1.683.2.7
log
@* ALL: Copyright header update (fixed my name - added 'Jeff', added
  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)
@
text
@a0 5
2006-08-05  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* ALL: Copyright header update (fixed my name - added 'Jeff', added
	  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)

@


1.682
log
@* Makefile: fixed tarball target
@
text
@d1 4
@


1.681
log
@* docs/00-INDEX, docs/new_locking.txt: Proposed design for new locking
mechanism (work-in-progress)
@
text
@d1 4
@


1.681.2.1
log
@* Makefile, branchman.c, lookup.c, main.c, unionfs.h,
docs/new_locking.txt: (Experimental branch) begining of
branchman/locking rewrite
@
text
@a0 6
2006-06-04  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* Makefile, branchman.c, lookup.c, main.c, unionfs.h,
	docs/new_locking.txt: (Experimental branch) begining of
	branchman/locking rewrite

@


1.681.2.2
log
@* branchman.c, unionfs.h: (Experimental branch) partial addbranch
"conversion" to new locking mechanism

* .cvsignore: ignore vim's .swo files
@
text
@a0 7
2006-06-07  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* branchman.c, unionfs.h: (Experimental branch) partial addbranch
	"conversion" to new locking mechanism

	* .cvsignore: ignore vim's .swo files

@


1.681.2.3
log
@* docs/new_locking.txt: (Experimental branch) updated to some of the
new ideas
@
text
@a2 5
	* docs/new_locking.txt: (Experimental branch) updated to some of the
	new ideas

2006-06-07  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.681.2.4
log
@* unionfs.h, docs/new_locking.txt: (Experimental branch) moved some
ideas into unionfs.h for testing

* .cvsignore, docs/.cvsignore: Ignore vim swapfiles, cscope database
files
@
text
@a0 8
2006-06-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h, docs/new_locking.txt: (Experimental branch) moved some
	ideas into unionfs.h for testing

	* .cvsignore, docs/.cvsignore: Ignore vim swapfiles, cscope database
	files

@


1.681.2.5
log
@* unionfs.h: Little cleanup
@
text
@a2 4
	* unionfs.h: Little cleanup

2006-06-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.681.2.6
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
@a0 20
2006-06-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* 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

@


1.681.2.7
log
@* branchman.c, unionfs_branchman.h: (Experimental branch) Little
closer to making it compile without errors
@
text
@a0 5
2006-06-12  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* branchman.c, unionfs_branchman.h: (Experimental branch) Little
	closer to making it compile without errors

@


1.681.2.8
log
@* branchman.c: (Experimental branch) Add branch converted
@
text
@a0 4
2006-06-16  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* branchman.c: (Experimental branch) Add branch converted

@


1.681.2.9
log
@* branchman.c, commonfops.c, super.c, docs/new_locking.txt:
(Experimetal branch) Compiles cleanly, however it leaks slightly,
and umount makes several problems appear (thanks to the many
debugging features that are built into the kernel)
@
text
@a2 7
	* branchman.c, commonfops.c, super.c, docs/new_locking.txt:
	(Experimetal branch) Compiles cleanly, however it leaks slightly,
	and umount makes several problems appear (thanks to the many
	debugging features that are built into the kernel)

2006-06-16  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.681.2.10
log
@* commonfops.c, main.c, super.c, unionfs.h: Update to fix compile
against 2.6.18
@
text
@a0 5
2006-06-30  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* commonfops.c, main.c, super.c, unionfs.h: Update to fix compile
	against 2.6.18

@


1.681.2.11
log
@* super.c (unionfs_put_super): Fix code referencing freed up memory
@
text
@a0 4
2006-07-01  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* super.c (unionfs_put_super): Fix code referencing freed up memory

@


1.681.2.12
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
@a0 6
2006-07-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* 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

@


1.681.2.13
log
@* branchman.c, main.c, unionfs_branchman.h: (Experimental branch)
Add branch works
@
text
@a2 5
	* branchman.c, main.c, unionfs_branchman.h: (Experimental branch)
	Add branch works

2006-07-02  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.680
log
@* branchman.c: Added comments
* commonfops.c: Added comments
* docs/locks.txt: Beginnings of a comprehensive file on lock placement
in unionfs
@
text
@d1 5
@


1.679
log
@* super.c: Remove reference to split-view caches
* unionfs_debug.h: Small touch ups
@
text
@d1 7
@


1.678
log
@* unionfs_debug.h: Finished debuging code (print entry/exit)
@
text
@d3 6
@


1.677
log
@* misc/runtests.sh: Nicified the output of the script
@
text
@d3 4
@


1.676
log
@* misc/runtests.sh: Little cleanup
@
text
@d3 4
@


1.675
log
@* misc/nightly-build.sh, misc/runtests.sh: Move unionfs build to after
reboot; added code to do test builds with different EXTRACFLAGS
@
text
@d3 4
@


1.674
log
@* docs/debug.c, docs/debug.txt: Wrong file extension
@
text
@d1 5
@


1.673
log
@* .cvsignore: ignore vi/vim swap files

* match-dget.pl, match-iget.pl, match-malloc.pl, misc/match-dget.pl,
misc/match-iget.pl, misc/match-malloc.pl: Moved debug scripts to misc/
@
text
@d3 4
@


1.672
log
@* INSTALL, Makefile.kernel, commonfops.c, copyup.c, dentry.c,
dirfops.c, file.c, inode.c, lookup.c, main.c, print.c, rdstate.c,
rename.c, subr.c, super.c, unionfs.h, unionfs_debug.h,
unionfs_macros.h, unlink.c, xattr.c: Simplified & cleaned up debugging
support
@
text
@d3 8
@


1.671
log
@* .cvsignore, utils/.cvsignore: updated ignore files
@
text
@d3 8
@


1.670
log
@* utils/Makefile: Removed some variable declarations
* Makefile: Passed variables down to lower file
@
text
@d1 4
d6 1
d9 1
@


1.669
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
@d2 3
@


1.668
log
@* unionfs_macros.h (stohs{,_index}, ftohf{,_index}, itohi{,_index}):
make objects passed const - make GCC 4.0 happy
@
text
@d1 7
@


1.667
log
@* man/unionctl.2: Branch deletion and file querying
@
text
@d3 5
@


1.666
log
@* unionfs.h, unionfs_imap.h, unionfs_macros.h, unionfs_debugmacros.h:
simplified the macro files

* unlink.c, rdstate.c: minor cleanup
@
text
@d3 4
@


1.665
log
@* mmap.c (sync_page, unionfs_sync_page): Merged the two functions,
since (1) sync_page might be confused with kernel's own sync_page,
and (2) our sync_page did not do much beside an if and a function call
@
text
@d3 7
@


1.664
log
@* regression/rename-501.sh: remove obsoleted debug lines.
@
text
@d1 6
@


1.663
log
@* man/unionctl.2: About 70% of the manpage. Still need to describe
branch deletion, and file querying.
@
text
@d1 4
@


1.662
log
@* inode.c (inode_permission): Ignore EROFS returned by all but the
first branch
@
text
@d1 5
@


1.661
log
@* inode.c, rename.c, subr.c, unionfs.h: Several rename fixes
Junjiro to comply with the newly established rename semantics (see
docs/rename.txt); includes new make_dir_opaque() function
@
text
@d3 5
@


1.660
log
@* docs/rename.txt: Enumerated thought all the possible cases of
logically/physicaly empty to logically/physicaly empty directories
@
text
@d1 6
@


1.659
log
@* docs/rename.txt: Rename "matrix" documented
@
text
@d3 5
@


1.658
log
@* copyup.c (copyup_named_dentry): Removed several hard-coded values

* main.c: same as above

* mmap.c (unionfs_do_readpage): same as above

* print.c (fist_print_inode, fist_print_file, __fist_print_dentry):
same as above

* unionimap.c (create_forwardmap, check_if_entry_exists,
print_forwardmap): same as above

* misc/runtests.sh: build torture tests before running them
@
text
@d3 4
@


1.657
log
@* unionfs.h: Bail out if KERNEL_VERSION is less than 2.6.17
(EXTRAVERSION happens to be conveniently ignored)
@
text
@d3 16
@


1.656
log
@* misc/nightly-build.sh: Make /cvs/cvsupdate after we have
successfully updated and re-exec-ed the script
@
text
@d1 5
@


1.655
log
@* misc/nightly-build.sh: Make kernel build on 2 CPUs
@
text
@d3 5
@


1.654
log
@* rename.c: add new function may_rename_dir() to check the rename src
  dir is empty or not. After rename succeeds, decrement its generation
  in order to force lookup at next time.
* regression/rename-501.sh: add test patterns.
@
text
@d1 4
@


1.653
log
@* inode.c (unionfs_mkdir): __dir_opaque whiteouts' creation mode
should not be hardcoded to an octal value

* mmap.c (unionfs_sync_page): Removed leftover line of code
@
text
@d1 7
@


1.652
log
@* regression/lookout-opaque.sh: added option to useradd so that userdelete will work
@
text
@d1 7
@


1.651
log
@* regression/lookout-opaque.sh: added option  to useradd so that userdelete
@
text
@d3 1
a3 2
	* regression/lookout-opaque.sh: added option  to useradd so that userdelete
	will work
@


1.650
log
@* regression/lookout-opaque.sh: added -m to useradd so that userdelete
will work
* regression/unlink-whiteout.sh: removed bin prefix from touch and
unlink
@
text
@d3 1
a3 1
	* regression/lookout-opaque.sh: added -m to useradd so that userdelete
@


1.649
log
@forgotten
@
text
@d1 7
@


1.648
log
@* regression/rename-501.sh: 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
@d1 7
@


1.647
log
@* mmap.c (unionfs_commit_write, unionfs_copy_block): Removed incorrect
comment, removed completely useless function (unionfs_copy_block)
@
text
@d1 9
@


1.646
log
@* mmap.c (unionfs_commit_write): Shaya's commit_write fix
@
text
@d1 5
@


1.645
log
@* mmap.c (sync_page, unionfs_sync_page): Compiles with
2.6.17-rc3-git18
@
text
@d1 4
@


1.644
log
@* subr.c (superio_store): Fixed bizarre printk format
@
text
@d1 5
@


1.643
log
@* main.c (unionfs_parse_options, parse_dirs_option): Fixed refcounting
leak (if a branch dir doesn't exist during mount, the previously
lookedup branches were not freed properly)
@
text
@d1 4
@


1.642
log
@* unlink.c (unionfs_unlink_whiteout): Fixed link-unlink issue (i_nlink
going to 0)
@
text
@d1 6
@


1.641
log
@* BUGS, man/unionfs.4: Added warning of dire consequences (Bug #256)

* README: Mention latest 2.6 kernel only
@
text
@d1 5
@


1.640
log
@* file.c (__unionfs_read, unionfs_read): Fixed mtime being incorrectly
updated on access
@
text
@d1 6
@


1.639
log
@* main.c (parse_dirs_option): On error, NULL the pointers after free
@
text
@d1 5
@


1.638
log
@* INSTALL: Little updates and corrections
@
text
@d1 4
@


1.637
log
@* copyup.c, super.c, main.c, unionfs.h: removed references to
COPYUP_CURRENT_USER and copyup mount option since we only have one
copyup mode now.
@
text
@d1 4
@


1.636
log
@* commonfops.c, dirfops.c, inode.c, main.c, stale_inode.c: Remove old
checks for kernel version - it's always going to be the latest only
@
text
@d1 6
@


1.635
log
@* .cvsignore: Ignore generated files *.o.cmd (mmap and malloc)
@
text
@d1 5
@


1.634
log
@* copyup.c (copyup_xattr): Fixed xattr "not supported" check
@
text
@d1 4
@


1.634.2.1
log
@* super.c: Beginings of remount
@
text
@a0 4
2006-03-12  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* super.c: Beginings of remount

@


1.634.2.2
log
@* main.c: Compile time warning about remount & IMAP
* super.c: Save more information before calling mount options string
parsing code
@
text
@a0 6
2006-03-18  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c: Compile time warning about remount & IMAP
	* super.c: Save more information before calling mount options string
	parsing code

@


1.633
log
@* misc/preprocess.pl: added UNIONFS_MMAP to list of symbols.
@
text
@d1 4
@


1.632
log
@* mmap.c: forgot to add this file to cvs
@
text
@d2 4
@


1.631
log
@* file.c: forgot to put an ifndef around __do_mmap
@
text
@d4 1
@


1.630
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
@d3 4
@


1.629
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
@d1 16
d32 1
a32 1
2006-03-03  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>
@


1.628
log
@* inode.c (unionfs_permission): Fixed unionfs_permission on reiserfs and xfs
@
text
@d1 5
d8 2
a9 1
	* inode.c (unionfs_permission): Fixed unionfs_permission on reiserfs and xfs
@


1.627
log
@* main.c (unionfs_interpose): Fixed bug - when the target entry is
hard-linked, the unionfs inode will be broken
@
text
@d3 4
@


1.626
log
@* unionfs.h: added extern for temp vfs_listxattr function
* copyup.c: removed old style listxattr code and replaced
it with vfs_listxattr
* xattr.c: removed locks from all xattr functions since kernel
documentation says that getxattr and listxattr don't require
a lock and since vfs_setxattr and vfs_removexattr take the
mutex on the inode we get a deadlock if we lock the inode
before hand.
@
text
@d1 5
@


1.625
log
@* ALL: Make unionfs work with the new mutex subsystem
@
text
@d1 11
@


1.624
log
@* dirhelper.c (delete_whiteouts): Use superio_*; small cleanup

* lookup.c (is_opaque_dir): Use superio_*

* subr.c (superio_store, superio_revert): Added superio_store and
superio_revert

* unionfs.h: Added struct superio

* unlink.c (unionfs_rmdir_all): Check return value of delete_whiteouts
@
text
@d1 4
@


1.623
log
@* Makefile: Increment version number require 2.6.16.
@
text
@d1 13
@


1.622
log
@* Makefile: Increment version number.
* INSTALL, NEWS: Add new define options.
@
text
@d3 2
@


1.622.2.1
log
@* .cvsignore: ignore .malloc_debug.o.cmd
@
text
@a0 4
2006-04-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* .cvsignore: ignore .malloc_debug.o.cmd

@


1.622.2.2
log
@* main.c (parse_dirs_option): On error, NULL the pointers after free
@
text
@a2 4
	* main.c (parse_dirs_option): On error, NULL the pointers after free

2006-04-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

@


1.622.2.3
log
@* inode.c (unionfs_permission): Fixed unionfs_permission on reiserfs
and xfs
@
text
@a0 5
2006-04-11  Junjiro Okajima  <hooanon05@@yahoo.co.jp>
  
	* inode.c (unionfs_permission): Fixed unionfs_permission on reiserfs
	and xfs

@


1.622.2.4
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
@a0 7
2006-04-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* NEWS, Makefile, Makefile.kernel: Version 1.1.4

	* unionfs.h: Modified kernel version check to allow <= 2.6.15 and
	>= 2.6.9

@


1.622.2.5
log
@* man/unionfs.4: corrected sample mount commands
@
text
@a0 4
2006-04-14  David P. Quigley  <dquigley@@fsl.cs.sunysb.edu>

	* man/unionfs.4: corrected sample mount commands

@


1.622.2.6
log
@* unlink.c (unionfs_unlink_whiteout): Fixed link-unlink issue (i_nlink
going to 0)
@
text
@a0 5
2006-04-17  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* unlink.c (unionfs_unlink_whiteout): Fixed link-unlink issue (i_nlink
	going to 0)

@


1.622.2.7
log
@* main.c (unionfs_parse_options, parse_dirs_option): Fixed refcounting
leak (if a branch dir doesn't exist during mount, the previously
lookedup branches were not freed properly)
@
text
@a0 6
2006-04-23  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* main.c (unionfs_parse_options, parse_dirs_option): Fixed refcounting
	leak (if a branch dir doesn't exist during mount, the previously
	lookedup branches were not freed properly)

@


1.622.2.8
log
@* inode.c (inode_permission): Ignore EROFS returned by all but the
first branch
@
text
@a0 5
2006-05-29  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* inode.c (inode_permission): Ignore EROFS returned by all but the
	first branch

@


1.622.2.9
log
@* unionfs.h (copy_inode_size): Removed copy_inode_size because it
was (1) ugly, and (2) unnecessary; the code can easily be in the two
functions that used it
@
text
@a0 6
2006-06-10  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h (copy_inode_size): Removed copy_inode_size because it
	was (1) ugly, and (2) unnecessary; the code can easily be in the two
	functions that used it

@


1.622.2.10
log
@* unionfs.h: Fixed silly typo
@
text
@a0 4
2006-06-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* unionfs.h: Fixed silly typo

@


1.622.2.11
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
@a0 9
2006-06-11  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* regression/rename-501.sh: 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. (Backport)

@


1.622.2.12
log
@* rename.c: (backport) fold too long line.
* subr.c: remove unused create_whiteout_parent() which was disabled
by '#if 0 ... #endif'
@
text
@a2 4
	* rename.c: fold too long line.
	* subr.c: remove unused create_whiteout_parent() which was disabled
	by '#if 0 ... #endif'

@


1.622.2.13
log
@* unionfs.h: remove the declaration of the unused function
@
text
@a2 2
	* unionfs.h: remove the declaration of the unused function

@


1.622.2.14
log
@* rename.c: (Backport) add new function may_rename_dir() to check the
rename src dir is empty or not. After rename succeeds, decrement its
generation in order to force lookup at next time.
* regression/rename-501.sh: add test patterns.
@
text
@a2 5
	* rename.c: add new function may_rename_dir() to check the
	rename src dir is empty or not. After rename succeeds, decrement its
	generation in order to force lookup at next time.
	* regression/rename-501.sh: add test patterns.

@


1.622.2.15
log
@* regression/rename-501.sh: Forgot to add to CVS while backporting
@
text
@a0 4
2006-06-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

	* regression/rename-501.sh: Forgot to add to CVS while backporting

@


1.622.2.16
log
@* NEWS, Makefile, Makefile.kernel: Version 1.1.5
@
text
@a2 4
	* NEWS, Makefile, Makefile.kernel: Version 1.1.5

2006-06-11  Josef "Jeff" Sipek  <jsipek@@fsl.cs.sunysb.edu>

d63 1
a63 1

@


1.622.2.17
log
@* persistent_inode.c (__fwrite): Fixed compilation with UNIONFS_IMAP
on 2.6.9.
@
text
@a0 5
2006-06-12  Vincent Vanackere  <vincent.vanackere@@gmail.com>

	* persistent_inode.c (__fwrite): Fixed compilation with UNIONFS_IMAP
	on 2.6.9.

@


1.622.2.18
log
@* ALL: Copyright header update (fixed my name - added 'Jeff', added
  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)
@
text
@a0 5
2006-08-05  Junjiro Okajima  <hooanon05@@yahoo.co.jp>

	* ALL: Copyright header update (fixed my name - added 'Jeff', added
	  Junjiro, super.c had 2 ezk lines) (a part of LKML-branch)

@


1.622.2.19
log
@fixed copyup of >=2GB files
@
text
@a0 3
2006-12-14 Yiannis Pericleous <yiannnos@@gmail.com>
	* commonfops.c, copyup.c, inode.c : fixed copyup of >=2GB files

@


1.622.2.20
log
@print error when copyup fails
@
text
@a0 3
2006-12-28 Yiannis Pericleous <yiannnos@@gmail.com>
	* copyup.c : print error when copy up fails

@


1.621
log
@* man/unionfs.4: removed all references to copyup mount option.
@
text
@d1 5
@


1.620
log
@* main.c, rename.c, unionfs.h, super.c, unlink.c: Moved
DELETE_WHITEOUT to the default mode for delete and wrapped all
DELETE_ALL code in ifdefs.
* unlink.c (unionfs_unlink_whitout): Rewrote this function to use
unlink/create instead of the atomic rename operation we used before.
* misc/preprocess.pl: added entry for UNIONFS_DELETE_ALL ifdef.
@
text
@d3 4
@


1.619
log
@* main.c (unionfs_read_super, unionfs_d_alloc_root): Created a "fake"
d_alloc_root
@
text
@d1 9
@


1.618
log
@* unionfs_debugmacros.h: Cleanup; removed unused __FILE__, etc.
parameters from inline functions; removed unnecessary macro wrappers

* commonfops.c (unionfs_file_revalidate, unionfs_open): C99 doesn't
allow mixing of code and variable declarations
@
text
@d3 5
@


1.617
log
@* file.c, unionfs.h: Use simpler cpp directives.
* misc/preprocess.pl: Simple preprocessor for stripping #ifdefs and
KERNEL_VERSION defines.
@
text
@d1 8
@


1.616
log
@* branchman.c, commonfops.c, dentry.c, lookup.c, main.c,
persistent_inode.c, super.c, unionfs.h, unionfs_debugmacros.h:
Removed inline objects from unionfs_inode_info, unionfs_dentry_info,
unionfs_sb_info, and unionfs_file_info

* unionfs_macros.h: Removed inline objects from unionfs_inode_info,
unionfs_dentry_info, unionfs_sb_info, and unionfs_file_info; Replaced
many macros by inline functions
@
text
@d1 6
@


1.615
log
@* dentry.c (unionfs_d_revalidate): Merges two auto variables 'err' and
'invalid'. And also checks the return value of unionfs_lookup_backend
correctly. It solves the stale inode problem of regression/bug418.sh

* lookup.c (unionfs_partial_lookup): Same as above
@
text
@d1 11
@


1.614
log
@* unionfs.h: reverted change
@
text
@d1 8
@


1.613
log
@* super.c (unionfs_show_options): removed reference to mounter.

* unionfs.h: removed reference to mounter.
@
text
@d3 4
@


1.612
log
@* dirhelper.c (delete_whiteouts): Use WHLEN instead of 4

* persisten_inode.c (__fread, __fwrite): Make sparse happy

* unionfs.h, unionfs_debugmarcros.h (__dtopd): Misc cleanups
@
text
@d1 6
@


1.611
log
@* inode.c (inode_permission): nameidata can be null, add checks for it
@
text
@d1 8
@


1.610
log
@* copyup.c (copyup_permissions): Removed code referencing the
copyup=mounter option.
* main.c (unionfs_parse_options): same as above
* unionfs.h (unionfs_sb_info): same as above.
@
text
@d1 4
@


1.609
log
@* INSTALL: Added fistdev.mk description for UNIONFS_IMAP.
@
text
@d1 7
@


1.608
log
@* copyup.c (copyup_named_dentry,create_parent_named): ifdefed
persistent inode code.
* dirfops.c (unionfs_filldir): Same as first.
* main.c (unionfs_parse_options): Same as first.
* persistent_inode.c: ifdefed out entire file.
* super.c (unionfs_put_super): Same as two lines up.
* unionfs.h: ifdefed persistent inode variables from unionfs_sb_info
and the externed functions.


* unionimap.c: we shouldn't be using such a complex open
@
text
@d2 4
@


1.607
log
@* copyup.c (copyup_named_dentry): Any error, not only ENOSPC/EDQUOT,
should unlink the partial copyup

* ChangeLog: Clarified the meaning of a changelog entry


which was copying up to all rw branches to the left of the source
@
text
@d1 12
d35 1
a35 1
	* unionimap.c: we shouldent be using such a complex open
@


1.606
log
@* main.c (parse_dirs_option): Added a check for people attempting to
make the left most branch read-only
@
text
@d3 7
d19 1
a19 1
	making a copyup to every rw branch to the left of the source
@


1.605
log
@* copyup.c (copyup_named_dentry): If the copyup failed because of
quota or lack of disk space, unlink the partial copyup

* rename.c (unionfs_rename_all, unionfs_rename_whiteout): Fixed rename
making a copyup to every rw branch to the left of the source
@
text
@d3 5
@


1.604
log
@* unionimap.c: we shouldent be using such a complex open
statement when the creat function is exactly what we are doing
with open

with u+wr instead of u+wrx
@
text
@d1 8
@


1.603
log
@* dirfops.c (unionfs_filldir): With current get_uin() is hard to
distinguish the error from success. Writing persistent ino files
may meet the file size limit. Now, users should be careful about
filesystem quota.

* main.c (unionfs_interpose): See above

* persistent_inode.c (__fread, __fwrite, parse_imap_option, __get_uid,
__read_uin, __write_uin, get_uin, read_uin): See above

* unionfs.h: See above
@
text
@d1 6
d24 1
a24 1
	wit u+wr instead of u+wrx
@


1.602
log
@* unionimap.c: Modified open statements to create the files
wit u+wr instead of u+wrx
@
text
@d1 14
@


1.601
log
@* README: Remove reference to 2.4 as we don't support it anymore
@
text
@d1 5
@


1.600
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
@d1 4
@


1.599
log
@* inode.c (unionfs_create): Fixed uid/gid/mode not being reset when
file is created by renaming a whiteout
@
text
@d1 9
@


1.598
log
@* inode.c (unionfs_create): Fixed minor bug regarding stale atime and
mtime
@
text
@d1 5
@


1.597
log
@* unionfs.h: Removed usi_fsnum_table since its not used and makes
no sense to have.

* persistent_inode.c: Removed usi_fsnum_table code. Added remove_map

* unionimap.c: Fixed code that prints forward maps since it was always
printing 0 for the inode number.
@
text
@d1 5
@


1.596
log
@* dentry.c (unionfs_d_revalidate): Get the hidden inode, not the
hidden dentry's inode; fixes "pseudo hardlink" via persistent inode
@
text
@d1 10
@


1.595
log
@* Makefile, Makefile.kernel: Incremented version
@
text
@d1 5
@


1.594
log
@* NEWS, Makefile, Makefile.kernel: Version 1.1.2
@
text
@d3 2
@


1.593
log
@* patch-kernel.sh: Fixed patch-kernel.sh error msg
@
text
@d1 4
@


1.592
log
@* subr.c (create_whiteout_parent): Hidden inode is not iput() since
ibstart and ibend is not updated.
@
text
@d1 4
@


1.591
log
@* copyup.c (copyup_named_dentry, create_parents_named): Fixed
persistant inode code: link, rmdir, shrinking of dcache, map validation

* main.c (copyup_xattrs): Fixed persistant inode code: link, rmdir,
shrinking of dcache, map validation

* persistent_inode.c (__fread, __fread, verify_forwardmap,
verify_reversemap, init_imap_data, parse_imap_option, __get_uin,
__write_uin, get_uin, write_uin): Fixed persistant inode code: link,
rmdir, shrinking of dcache, map validation

* unionfs.h: Fixed persistant inode code: link, rmdir, shrinking of
dcache, map validation
@
text
@d1 5
@


1.590
log
@* BUGS, INSTALL, man/unionctl.8, man/unionfs.4: Documentation update

* branchman.c (unionfs_ioctl_addbranch, unionfs_ioctl_rdwrbranch):
Per branch nfsro option

* inode.c (inode_permission): Per branch nfsro option

* main.c (parse_dirs_option, unionfs_parse_options): Per branch nfsro
option

* super.c (unionfs_show_options): Per branch nfsro option

* unionctl.c (__usage, parse_rw, parse_options, dump_branches, main):
Per branch nfsro option

* unionfs.h: Per branch nfsro option
@
text
@d1 16
@


1.589
log
@* branchman.c (unionfs_ioctl_addbranch, unionfs_ioctl_delbranch):
Inode refcount debugging tool calls

* copyup.c (create_parents_named):Inode refcount debugging tool calls

* dentry.c (unionfs_d_revalidate, unionfs_d_iput):Inode refcount
debugging tool calls

* inode.c (unionfs_link): Inode refcount debugging tool calls

* main.c (unionfs_interpose, unionfs_reinterpose, unionfs_igrab,
unionfs_iput, unionfs_iget): Inode refcount debugging helper code;
Fixed init of atomic_t

* subr.c (create_whiteout_parent, unionfs_refresh_hidden_dentry):
Inode refcount debugging tool calls

* super.c (unionfs_clear_inode): Inode refcount debugging tool calls

* unionfs.h: Definitions for IGET, IGRAB, and IPUT

* match-iget.pl: Inode refcount debugging code output "matcher"
@
text
@d1 19
@


1.588
log
@* main.c, unionfs.h: Added #if'd kzalloc for kernels older than 2.6.14
@
text
@d1 25
@


1.587
log
@* branchman.c: Replaced pairs of KMALLOC and memset calls to
KZALLOC calls.

* commonfops.c: Replaced pairs of KMALLOC and memset calls to
KZALLOC calls.

* copyup.c: Replaced pairs of KMALLOC and memset calls to
KZALLOC calls.

* main.c: Replaced pairs of KMALLOC and memset calls to
KZALLOC calls.

* persistent_inode.c: Replaced pairs of KMALLOC and memset calls to
KZALLOC calls.

* super.c: Replaced pairs of KMALLOC and memset calls to
KZALLOC calls.
@
text
@d1 4
@


1.586
log
@* unionfs.h: Fixed unionfs_kmalloc prototype

* main.c (unionfs_kzalloc, unionfs_kmalloc): Use kzalloc, not
the non-existent kzmalloc
@
text
@d1 21
@


1.585
log
@* AUTHORS: added entry for Peeka J. Enberg

* unionfs.h : Included defines for KZMALLOC and extern for
(void *) since the kernel coding conventions say that this
@
text
@d1 7
@


1.584
log
@* ALL: Changed all use of GFP_UNIONFS to GFP_KERNEL

* unionfs.h: Removed definition for GFP_UNIONFS


* unionfs.h : Included defined for KZMALLOC and extern for
unionfs_kzalloc. NOTE: This change makes the minimum kernel
version for unionfs 2.6.14.

* main.c (unionfs_kmalloc): Changed prototype to use the
actual type of GFP_KERNEL instead of int and removed a
(void *) since the kernel coding conventions says that this
is not necessary.

* main.c (unionfs_kzalloc): New wrapper function to track
kzallocs when debugging.
@
text
@d1 4
d13 1
a13 1
	* unionfs.h : Included defined for KZMALLOC and extern for
d19 1
a19 1
	(void *) since the kernel coding conventions says that this
@


1.583
log
@* BUGS, INSTALL: Removed all references to NFS_SECURITY_HOLE
@
text
@d1 20
@


1.582
log
@* inode.c (inode_permission): Introduce nfsperms mount option and
remove NFS_SECURITY_HOLE

* main.c (unionfs_dentry_info): Introduce nfsperms mount option and
remove NFS_SECURITY_HOLE

* super.c (unionfs_show_options): Introduce nfsperms mount option and
remove NFS_SECURITY_HOLE

* unionfs.h:Introduce nfsperms mount option and
remove NFS_SECURITY_HOLE
@
text
@d1 4
@


1.581
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
@d1 14
@


1.580
log
@* rename.c (__rename_all{,_unlink,_revert,_clobber}): Make functions
static
@
text
@d1 7
@


1.579
log
@* rename.c (unionfs_rename_all,lookup_whiteout): Split up the
nearly 300 line unionfs_rename_all function into several more
understandable "double underscore" functions; removed get_whname
it used __getname which allocates a whole page, updated
lookup_whiteout to use alloc_whname instead

* lookup.c (unionfs_lookup_backend): Use this should be the last
alloc_whname patch
@
text
@d1 5
@


1.578
log
@* file.c: Use unlocked_ioctl iff the kernel is 2.6.11 or newer
(unionfs_main_fops)

* dirfops.c: Use unlocked_ioctl iff the kernel is 2.6.11 or newer
(for unonfs_dir_fops)

* commonfops.c (unionfs_ioctl): Use unlocked_ioctl iff the kernel
is 2.6.11 or newer, the prototype for unionfs_ioctl is also different
on 2.6.11 or newer

* inode.c (inode_permission): If kernel is older than 2.6.10, use
vfs_permission otherwise generic_permission
@
text
@d1 11
@


1.577
log
@* ChangeLog : fixed two gramatical errors in the changelog.

aren't using magic numbers in the persistent inode code.
* unionimap.c : cleaned up some brackets from single line if
@
text
@d1 15
@


1.576
log
@arent using magic numbers in the persistent inode code.
@
text
@d2 4
d8 1
a8 1
	arent using magic numbers in the persistent inode code.
d17 1
a17 1
	* unionimap.c : cleanedup some brackets from single line if
@


1.575
log
@* unionfs.h: Added a define for the first valid inode number so we
arent using magic numbers in the persistant inode code.
* super.c: added a call to cleanup_imap_data to properly free
resources on unmount.
* persistent_inode.c: (imap_parse_options): cleanedup code,
(init_imap_data): new function (cleanup_imap_data): new
function.
* unionimap.c : cleanedup some brackets from single line if
statements.
@
text
@d4 2
a5 1
	arent using magic numbers in the persistant inode code.
d8 1
d12 1
d15 1
@


1.574
log
@* unionfs.h: Renamed make_whname to alloc_whname, use strlcat instead
of strncat (the strcpy is safe since WHPFX will always be NULL
terminated), the NULL termination is dony by strlcat

* inode.c (unionfs_create, unionfs_link, unionfs_symlink,
unionfs_mkdir, unionfs_mknod): Renamed make_whname to alloc_whname

* rename.c (do_rename): Renamed make_whname to alloc_whname

* subr.c (create_whiteout, create_whiteout_parent): Renamed
make_whname to alloc_whname

* unlink.c (unionfs_unlink_whiteout): Renamed make_whname to
alloc_whname
@
text
@d1 11
@


1.573
log
@* branchman.c (unionfs_ioctl_branchcount, unionfs_ioctl_addbranch,
unionfs_ioctl_rdwrbranch, unionfs_ioctl_queryfile): Make sparse happy

* commonfops.c (unionfs_ioctl): Make sparse happy

* copyup.c (copyup_named_dentry): Make sparse happy

* file.c (unionfs_read, unionfs_write): Make sparse happy

* inode.c (unionfs_readlink, unionfs_follow_link): Make sparse happy

* main.c (unionfs_read_super): Make sparse happy

* persistent_inode.c (verify_forwardmap, verify_reversemap, get_uin,
get_lin): Make sparse happy
@
text
@d3 17
@


1.572
log
@* unionfs.h: added make_whname to replace scattered and duplicate
code that allocates memory, copies into it WHPFX and the rest of
the filename

* inode.c (unionfs_create, unionfs_link, unionfs_symlink,
unionfs_mkdir, unionfs_mknod): Use make_whname instead of manually
allocating, and copying data

* rename.c (do_rename): Use make_whname instead of manually
allocating, and copying data

* subr.c (create_whiteout, create_whiteout_parent): Use make_whname
instead of manually allocating, and copying data

* unlink.c (unionfs_unlink_whiteout): Use make_whname instead of
manually allocating, and copying data
@
text
@d1 18
@


1.571
log
@* ALL: Copyright year updated

* man/*: Date updated

* misc/split-views-2.4.26.patch: removed because 2.4 is not supported
@
text
@d3 19
@


1.570
log
@* rename.c (do_rename): use WHLEN+1 instead of 5
@
text
@d1 8
@


1.569
log
@* rename.c (do_rename): Added two missing DPUT()s

* subr.c (create_whiteout_parent): use LOOKUP_ONE_LEN instead of
lookup_one_len
@
text
@d1 4
@


1.568
log
@* commonfops.c, copyup.c, main.c, print.c, super.c: converted FISTBUG
commands to printk and BUG pairs.
* fist.h: removed definition for FISTBUG
@
text
@d1 7
@


1.567
log
@* lookup.c (unionfs_lookup_backend): Use WHLEN+1 instead of 5

* unionfs_debugmacros.h (__ftohf_index, __set_ftohf_index, __set_itohi_index,
__set_dbend, __set_dbstart, __set_dbopaque, __dtohd_index): BUG_ON with a more
complex condition is more optimal than "if(partial_condition) BUG_ON(...);"
@
text
@d1 6
@


1.566
log
@* lookup.c (unionfs_lookup_backend): DPUT() when done with the dentry
not before, added missing DPUT()
@
text
@d1 8
@


1.565
log
@* AUTHORS: Some maintenance dates.
@
text
@d1 5
@


1.564
log
@* AUTHORS: updated to reflect the patches commited in the last two days
@
text
@d1 4
@


1.563
log
@* lookup.c (unionfs_lookup_backend): Fixed missing DPUT()s
@
text
@d1 4
@


1.562
log
@* lookup.c: change the process's privilege temporally when
creating/searching/deleting the whiteouts (in is_opaque_dir,) and
forgot DPUT() after failing is_opaque_dir() (in unionfs_lookup_backend)
@
text
@d3 4
@


1.561
log
@* subr.c (create_whiteout): create whiteout bug, forgotten dput()
@
text
@d1 6
@


1.560
log
@* unlink.c (unionfs_unlink_whiteout): unlink bug, forgotten dput()s
@
text
@d3 4
@


1.559
log
@* inode.c (unionfs_create): create bug, forgotten dput(), extra GET_PARENT
@
text
@d3 4
@


1.558
log
@* lookup.c (new_dentry_private_data): Use GFP_ATOMIC instead
of GFP_UNIONFS (which currently is same as GFP_KERNEL) to prevent
sleeping while atomic bug
@
text
@d1 4
@


1.557
log
@* inode.c (unionfs_permission): permission bug, creat/open truncates
the running executable
@
text
@d1 6
@


1.556
log
@* unionctl.c : Fixed check to see if a branch was already in the union and
fixed --before and --after logic.

* regression/branchman.sh: BUG370 will not work anymore due to code to avoid
duplicate branches being added. Need to reevaluate if it should be kept
anymore.
@
text
@d1 5
d7 1
d14 1
d16 1
d20 1
d28 1
@


1.555
log
@* *.[ch]: Went through every file and replaced ASSERT and ASSERT2 with
BUG_ON calls. The logic for BUG_ON is the opposite of ASSERT but I believe
they are all converted properly.
* fist.h: Removed definitions for ASSERT and ASSERT2
@
text
@d2 7
@


1.554
log
@* *.[ch]: Went through every file and removed PASSERT and PASSERT2
statments. If there was an if that inclosed it then that was removed
also.
* fist.h: Removed definitions for PASSERT and PASSERT2.
@
text
@d2 6
@


1.553
log
@* copyup.c (copyup_permissions): Properly copyup atime, mtime, and
ctime.
@
text
@d1 7
@


1.552
log
@* inode.c (unionfs_lookup): Bugfix for bug #451 is not valid,
change reverted
@
text
@d1 5
@


1.551
log
@* lookup.c (new_dentry_private_data): Use SLAB_ATOMIC instead
of SLAB_KERNEL (prevent sleeping while atomic bug)
@
text
@d1 5
@


1.550
log
@* main.c: Updated module info (now includes unionfs version
 number)
@
text
@d1 5
@


1.549
log
@* branchman.c: Added check for addition of branches with
 overlapping paths. Fixes rest of Bug #374.
@
text
@d1 5
@


1.548
log
@* unionctl.c: Fixed branch addition with just branch (and
  neither mode nor before/after specified.
@
text
@d3 5
@


1.547
log
@* Fix Coverity flagged errors.
@
text
@d1 5
@


1.546
log
@* main.c : Corrected a boundary case, so that one cannot
 use "/" as a branch if /ro is a branch.
@
text
@d1 4
@


1.545
log
@* main.c : Ensure that the branches getting added during a
 mount operation do not have overlapping branch paths. This
 is part of Bug #374.
@
text
@d1 5
@


1.544
log
@* inode.c: unionfs_lookup was not incrementing the reference
 count of the dentry. this was causing the chmod bug. added
 this, and fixed bug #451
@
text
@d3 6
@


1.543
log
@* unlink.c: Updated unionfs_unlink_whiteout to fix bug #434
@
text
@d1 6
@


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

* Makefile: Don't duplicate source list.
@
text
@d1 4
@


1.541
log
@* unionimap.c: Fix unchecked malloc.

* usercommon.c: Fix double free.
@
text
@d1 6
@


1.540
log
@* global : Changes made for "sparse"
@
text
@d1 6
@


1.539
log
@* rename.c (get_whname): Make constant's type clearer
@
text
@d1 4
@


1.538
log
@* unionctl.c : Changes made for "sparse"
@
text
@d1 4
@


1.537
log
@* rename.c (get_whname): Add NULL termination.
@
text
@d1 4
@


1.536
log
@* rename.c (lookup_whiteout): Add NULL Check.
@
text
@d1 4
@


1.535
log
@* Remove UNIONFS_XATTR define, because 2.6 has consistent prototypes.
@
text
@d1 4
@


1.534
log
@* inode.c: Fix IS_NFS.
@
text
@d1 4
@


1.533
log
@* main.c: Allow debug= to be passed to the Unionfs module.
@
text
@d1 4
@


1.532
log
@* rpm/unionfs.spec: Update RPM spec file to include unionimap.
@
text
@d1 4
@


1.531
log
@* commonfops.c (unionfs_open): Slightly rework reader/writer locks.
@
text
@d1 4
d162 1
a162 1
	
@


1.530
log
@* Fix scope of readers/writer locks on branch configuration.
@
text
@d1 4
@


1.529
log
@Correct ChangeLog entry.
@
text
@d1 4
@


1.528
log
@* unlink.c: Add comment w/ Junjiro's rename fix.
@
text
@d3 1
a3 1
	* unlink.c: Add comment w/ Junjiro's rename fix.
d48 2
a49 1
	* inode.c (unionfs_create): use {,un}lock_rename instead of double_{,un}lock
d51 2
a52 1
	* unlink.c (unionfs_unlink_whiteout): use {,un}lock_rename instead of double_{,un}lock
@


1.527
log
@* lookup.c (new_dentry_private_data): Fix a race b/t lookup and d_free.
@
text
@d1 4
@


1.526
log
@* dentry.c (unionfs_d_revalidate): Don't copy attributes to nonexistent
inodes.
@
text
@d6 2
@


1.525
log
@* Makefile: use /lib/modules/`uname -r`/kernel/fs/unionfs/unionfs.ko
to be consistent with other file systems.
@
text
@d1 5
d101 1
a101 1
	
@


1.524
log
@* patch-kernel.sh: Add more double-patching checks.
@
text
@d3 3
@


1.523
log
@* Use WHPFX and WHLEN instead of ".wh." and 4.
@
text
@d3 2
@


1.522
log
@* dirhelper.c (delete_whiteouts): Remove useless partial lookup.
* unlink (unionfs_rmdir_all): Remove useless partial lookup.
@
text
@d3 2
@


1.521
log
@* subr.c (create_whiteout): Silently succeed if the whiteout already
exists.
* inode.c (unionfs_unlink_all): Fix some coding style.
@
text
@d3 3
@


1.520
log
@* unionctl.c (parse_options): Added a check in to see if a branch
already exists in the union and if it does the operation fails.
@
text
@d1 6
@


1.519
log
@* dentry.c (dentry_revalidate): Remove extra d_deleted check.
* commonfops.c (unionfs_open): Undo add debug print of opened dentry.
@
text
@d1 5
@


1.518
log
@* commonfops.c (unionfs_open): Add debug print of opened dentry.
@
text
@d3 3
@


1.517
log
@* inode.c (inode_permission): Fix typo in NFS_SECURITY_HOLE.
@
text
@d1 4
@


1.516
log
@* fist.h (lock_parent, unlock_dir): moved from now non-existent
missing_vfs_funcs.h
* inode.c (unionfs_create): use {,un}lock_rename instead of double_{,un}lock
* rename.c (do_rename): use {,un}lock_rename instead of double_{,un}lock
* unlink.c (unionfs_unlink_whiteout): use {,un}lock_rename instead of double_{,un}lock
* missing_vfs_funcs.h: removed
@
text
@d1 4
@


1.515
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
@d1 9
@


1.514
log
@* dirfops.c (unionfs_readdir): Properly update uds_dirpos,
which fixes directory reading operations.
@
text
@d3 4
@


1.513
log
@* compat.[ch]: Remove old files.
@
text
@d1 5
d7 1
a7 1
	
d35 1
a35 1
	
@


1.512
log
@* copyup.c (copyup_file): Don't fput errors.
* copyup.c, unionfs.h: Use loff_t for copyup size.
@
text
@d2 4
@


1.511
log
@* copyup.c (copyup_named_dentry): Code cleanup.
@
text
@d1 4
a4 1
2005-10-24  Shaya Potter <spotter@@cs.columbia.edu>
@


1.510
log
@* AUTHORS: Update AUTHORS.
@
text
@d1 4
@


1.509
log
@* xattr.c: Use ssize_t for xattr functions.
@
text
@d1 4
@


1.508
log
@* dirhelper.c (check_empty): Respect opaqueness.
@
text
@d1 4
@


1.507
log
@* Replace lock_super around branch management operations with a
Unionfs read/write semaphore.  This will allow branchput/branchget
to operate concurrently, but prevent them from racing against
branchman operations.
@
text
@d3 2
@


1.506
log
@* inode.c (unionfs_permission): Don't call normal permission before
inode_permission (our modified version of permission), because it
just duplicates work.
@
text
@d1 7
@


1.505
log
@* commonfops.c (branchput_gen): Lock the super when we read putmaps.
@
text
@d2 4
@


1.504
log
@* inode.c (inode_permission): If NFS_SECURITY_HOLE is defined
treat -EACCESS as if we should fall back on inode_permission.
@
text
@d3 2
@


1.503
log
@* branchman.c (unionfs_ioctl_rdwrbranch): Make super/dentry
lock/unlock symmetric.
@
text
@d3 3
@


1.502
log
@* NEWS: Updates NEWS file for release
@
text
@d1 5
@


1.501
log
@* rename.c : Used the create_whiteout_parent function to
create the whiteout in unionfs_rename_all.
* subr.c : Brought the create_whiteout_parent back. These
squash Bug #442.
@
text
@d1 4
@


1.500
log
@* rename.c : Fixed rest of Bug #425. Applied the patch
sent in by Junjiro Okajima.

It makes unlink return with -EISDIR. (partial fix)
@
text
@d1 7
@


1.499
log
@* rmdir-all.sh: added test for bug 430. Not sure if
we are going to patch it yet but if we do the test
is there.
* regression/Makefile: added rmdircheckinode.c
* regression/progs/rmdircheckinode.c: program to check
if the inode numbers match after a failed rmdir.
@
text
@d1 5
d19 1
a19 1
	It makes unlink return with -EISDIR.
@


1.498
log
@* rename.c (unionfs_rename) : Fixed bug #425. The new_dentry
affects the unlink called by "mv" after the rename has failed.
It makes unlink return with -EISDIR.
@
text
@d1 9
@


1.497
log
@* dentry.c (unionfs_d_revalidate): Fix a deadlock.
@
text
@d1 6
@


1.496
log
@* file.c (unionfs_fsync): Fix check for NULL lower-level operation.
@
text
@d1 4
@


1.495
log
@* Makefile.kernel: Remove reference to locks.c.
@
text
@d1 4
@


1.494
log
@* unlink.c (unionfs_rmdir_all): Always create whiteouts on directory
removal.
@
text
@d1 4
@


1.493
log
@* commonfops.c (unionfs_file_revalidate): Properly update
generation when we combine copyup and reopening.
* Makefile: Remove some 2.4 cruft.
@
text
@d1 5
@


1.492
log
@* branchman.c (unionfs_ioctl_incgen): Fix print indentation bug.
@
text
@d1 6
@


1.491
log
@* unionimap.c: AMD64 fix from Gentoo.
@
text
@d3 2
@


1.490
log
@* inode.c: Made change to use both inode_permissions and
permissions.
@
text
@d1 4
@


1.489
log
@* INSTALL: Document MODDIR.
@
text
@d1 5
@


1.488
log
@* inode.c: added inode_permissions to check for permissions
on a file even if its on an ROFS and used it in
unionfs_permissions
@
text
@d1 4
@


1.487
log
@* Makefile: remove 'tags' target dependency from 'all'
@
text
@d1 6
@


1.486
log
@* Makefile: forgot to remove locks.c from source list
@
text
@d1 4
@


1.485
log
@* inode.c: Fixed several off-by-one kmalloc bugs.
@
text
@d1 4
@


1.484
log
@* removed locking code from codebase since we no longer
handle locking (vfs will do it)
@
text
@d1 4
@


1.483
log
@* removed 2.4 code from fist.h, inode.c, lookup.c,
persistent_inode.c, rdstate.c
@
text
@d1 5
@


1.482
log
@* removed 2.4 code from copyup.c, dentry.c, dirfops.c
and file.c
@
text
@d1 5
@


1.481
log
@* removed 2.4 code from stale_inode.c, subr.c, unionfs.h,
unlink.c, xattr.c
@
text
@d1 5
@


1.480
log
@* removed 2.4 code from main.c, print.c, super.c,
xattr.c
@
text
@d1 5
@


1.479
log
@* removed 2.4 code from branchman.c, commonfops.c
@
text
@d1 5
@


1.478
log
@* Makefile.kernel: Use EXTRA_CFLAGS.
@
text
@d1 4
@


1.477
log
@* Makefile: Use ${LD} instead of ld, for cross compilation.
@
text
@d3 2
@


1.476
log
@minor whitespaces, formatting, spel
@
text
@d1 4
@


1.475
log
@minor whitespaces, formatting, spel
@
text
@d67 4
a70 4
	* patch-kernel.sh: Depend on Experimental, and move configuration option
	to File Systems -> Miscellaneous file systems at the end, not as the
	very first file system. Add UNIONFS_VERSION define.  Use tail -n +7
	instead of tail +7.
d77 4
a80 4
	INTERPOSE_LINK any more, because only one line of the whole function
	was being used anyway.  This fixes an inode refcount leak in
	unionfs_link, so the regression suite now passes with the new locking,
	without any leaks.
@


1.474
log
@* Makefile: Updated to 1.1.0pre
* Makefile.kernel: Updated to 1.1.0pre
@
text
@d2 1
d5 1
d38 3
a40 3
	* inode.c,stale_inode.c: Support for 2.6.13's new follow_link prototype.
	However, many of the regression tests fail for unrelated reasons (or at
	least I think they are unrelated).
d56 3
a58 3
	* inode.c (unionfs_link): Copy directory attrs to directory (BUG391).
	Unfortunately, regression test doesn't quite catch the bug because of a
	revalidate for the stat.
d62 1
a62 1
	
d186 1
a186 1
	
d214 1
a214 1
	* dirfops.c (unionfs_readdir) : changed the way the 
d357 1
a357 1
	of the case when the dentry coming into release is from a 
@


1.473
log
@* NEWS: Updated for release.
* Makefile: updated for release.
* Makefile.kernel: updated for release
@
text
@d2 3
@


1.472
log
@* locks.c: Removed locking code since its broken big define 0 around
it
* file.c: Removed locking references have the vfs handle it.
* unionfs.h: fixed bug with 2.4 compilation.
@
text
@d1 6
@


1.471
log
@* main.c: Remove comment leftover from templates that doesn't make
sense in current context.
@
text
@d1 7
@


1.470
log
@* commonfops.c: Remove lower fput debug printks.
@
text
@d1 5
@


1.469
log
@* file.c (unionfs_mmap): Fix flag checking for mmap.
@
text
@d1 4
@


1.468
log
@* We shouldn't use d_delete, vfs_unlink already does it.  The only
known remaining 2.6.13 issue is the unionfs_lock (flock.sh in the
regression suite).
@
text
@d1 4
@


1.467
log
@* inode.c,stale_inode.c: Support for 2.6.13's new follow_link prototype.
However, many of the regression tests fail for unrelated reasons (or at
least I think they are unrelated).
@
text
@d3 4
@


1.466
log
@* unionctl.c: Allow --FOO to go before the union specifier (e.g.,
unionctl --list /mnt/unionfs now works).
* lookup.c: Don't partial lookup the root dentry.

* copyup.c: Check for permission setting errors.
@
text
@d3 4
@


1.465
log
@* lookup_one_len never returns NULL.
@
text
@d1 8
@


1.464
log
@* inode.c (unionfs_permission): Simplified code.
@
text
@d1 4
@


1.463
log
@* inode.c (unionfs_link): Copy directory attrs to directory (BUG391).
Unfortunately, regression test doesn't quite catch the bug because of a
revalidate for the stat.
* commit: Don't complain about .sh file's indentation.
@
text
@d3 2
@


1.462
log
@* INSTALL: tmpfs doesn't support fsync on directories
@
text
@d1 7
@


1.461
log
@Snapshot test 2.
@
text
@d2 2
@


1.460
log
@* Test commit for snapshots.
@
text
@a2 2
	* Test commit for snapshots.

@


1.459
log
@* Makefile: Update release target for new directory structure.
@
text
@d3 2
@


1.458
log
@Test commit 2.
@
text
@d3 2
@


1.457
log
@* Test commit.
@
text
@a2 2
	* Test commit.

@


1.456
log
@* patch-kernel.sh: Depend on Experimental, and move configuration option
to File Systems -> Miscellaneous file systems at the end, not as the
very first file system. Add UNIONFS_VERSION define.  Use tail -n +7
instead of tail +7.
@
text
@d3 2
@


1.455
log
@* file.c (unionfs_fsync): Don't use dtohd on unlocked dentries.
@
text
@d3 5
@


1.454
log
@* inode.c (unionfs_link): Don't use unionfs_interpose with
INTERPOSE_LINK any more, because only one line of the whole function
was being used anyway.  This fixes an inode refcount leak in
unionfs_link, so the regression suite now passes with the new locking,
without any leaks.
@
text
@d1 4
@


1.453
log
@* commonfops.c (unionfs_file_release): Update rdstate access time when
saving it in the inode (so that it won't be so quickly discarded).
@
text
@d3 6
@


1.452
log
@* dirfops.c (unionfs_readdir) : removed the changes made
for the special way in which vfs_llseek was handles for
Reiser4, as Reiser4 introduced a patch which made it
behave properly.
@
text
@d1 5
@


1.451
log
@* Passes regression tests.
@
text
@d1 7
@


1.450
log
@* Locking for create_parents.  Regression tests from branchman to
open.sh PASS.
@
text
@d3 2
@


1.449
log
@* Basic inode operations pass sniff test with new locking (regression
tests not yet tried).
@
text
@d3 3
@


1.448
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
@d1 4
a4 1
2005-08-26  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>
@


1.447
log
@* xattr.c: unused label causing a warning and inturn an error.
@
text
@d1 15
@


1.446
log
@* main.c (interpose,reinterpose): Interposition should lock the dentry.
@
text
@d1 4
@


1.445
log
@* file.c: CodingStyle, and we don't need to check ftopd before ftohf.
* file.c (unionfs_mmap): We were checking our file instead of the lower
-level file for having valid operations.
* dirfops.c,dirhelper.c: CodingStyle
@
text
@d3 2
@


1.444
log
@* copyup.c: There is no need for _len at the end of functions, because
other versions don't exist any longer.
@
text
@d3 5
d2560 1
a2560 1
        * mount_tarball.sh, mount_tarball_random.sh: These scripts are now
d2568 1
a2568 1
        (fist_print_sb): made more readable, pointers now printed with %p.
@


1.443
log
@* lookup.c (unionfs_lookup_backend): Lock the dentry private data
for the whole lookup routine.
* branchman.c: CodingStyle fixes.
* rdstate.c, super.c: Use KERN_ERR if we have unfreed objects.
@
text
@d3 3
@


1.442
log
@* INSTALL: Fix losetup instructions.
@
text
@d1 7
@


1.441
log
@* print.c: Avoid kmallocs.
* rdstate.c,dirfops.c: Code style cleanups.
@
text
@d1 4
@


1.440
log
@* dentry.c (d_revalidate):  Lock inode when freeing lower level ones.
@
text
@d1 5
@


1.439
log
@* unionfs.h: Updated forwardmap version and added a new data
structure bmapent.(Later on these should be unified into one header
rather than being in 2 header files).
* persistant_inode.c: Updated code to use bmapents now.
@
text
@d1 4
@


1.438
log
@* unionimap.c: Added code to ensure you dont add a filesystem with
the same fsid twice (no duplicate entries in the maps).
* unionimap.h: Added a new data structrue bmapent.
* The code in the kernel to read the maps hasent been changed so it
doesent work yet. Check back soon for that.
@
text
@d2 6
@


1.437
log
@* inode.c (unionfs_create): Use proper permissions when recreating
a deleted file (BUG383).
@
text
@d1 8
@


1.436
log
@* commonfops.c (copyup_deleted_file): Fix leak of name on subsequent
loop iterations.
@
text
@d1 5
@


1.435
log
@* commonfops.c (copyup_deleted_file): Cleanup of major loop.

* unionfs.h (DPUT,KFREE): Don't try to free errors.

* main.c (unionfs_reinterpose): Remove d_unhashed assertion.
* unionfs.h (d_deleted): Create an inline function to tell
if a directory is deleted (i.e., unhashed and not the root).
@
text
@d3 3
@


1.434
log
@* main.c (unionfs_parse_options): More checking for copyupmode.
@
text
@d1 10
@


1.433
log
@* unionfs.h (get_nlinks): More intelligent link counting.
@
text
@d1 4
@


1.432
log
@* inode.c (unionfs_create): Don't dput an IS_ERR.
@
text
@d2 2
@


1.431
log
@* unionfs.h: sbstart is always zero
* main.c (unionfs_read_super): check_branch does existence checking
@
text
@d3 2
@


1.430
log
@* unionfs_debugmacros.h: Fix stray printks.
@
text
@d3 3
@


1.429
log
@The following fixes are so that the regression suite runs without
any memory or dentry leaks:
* branchman.c (unionfs_ioctl_addbranch): Zero newly allocated
arrays.
* copyup.c (unionfs_create_named_dirs): Fix leak of path stack.
* main.c: Handle get_parent.
* lookup.c: Make the logic to put preceding negative dentries a
function.
* unlink.c (unionfs_unlink_all): Fix dentry reference count leak.
* inode.c (unionfs_link): Properly handle lock_ and unlock_dir.
* match-dget.pl: Handle DS and DD for set and unset records.
@
text
@d3 2
@


1.428
log
@* INSTALL: sendfile conflicts w/ Unionfs.
@
text
@d1 14
d41 1
a41 1
	
@


1.427
log
@cases. this is for Bug #358
@
text
@d1 4
@


1.426
log
@* dirfops.c (unionfs_readdir) : changed the way the
return value of the repeated vfs_llseek (with origin
=1) is used. this is to allow readdir in Reiser4,
which returns -ENOENT (!!!) for the llseek in same
cases.
@
text
@d7 1
a7 1
	cases.
@


1.425
log
@* match-dget.pl: Insert both gets and puts into list of actions
for unreleased dentries.
@
text
@d1 8
@


1.424
log
@* match-dget.pl: Dget matching script.
* Use DGET, DPUT, DENTRY_OPEN, and LOOKUP_ONE_LEN to
record when we dget and dput dentries.
@
text
@d3 3
@


1.423
log
@* match-malloc.pl: Return number of errors.

* print.c (fist_print_generic_dentry): Print inode number.

* copyup.c (unionfs_create_named_dirs): Fix dentry reference leak.
@
text
@d1 6
@


1.422
log
@* print.c (fist_print_file): Divide into generic and Unionfs halves,
ASSERT if we are passed a lower-level file.
@
text
@d1 8
@


1.421
log
@* dentry.c (unionfs_d_revalidate): Fix possible double unlock.
@
text
@d3 3
@


1.420
log
@* file.c (unionfs_lock): Handle write locks on r/o branches.
@
text
@d7 2
@


1.419
log
@* branchman.c (unionfs_ioctl_incgen): Fix possible deadlock when
memory allocation fails.
@
text
@d1 4
d12 1
a12 1
	* rename.c, commonfops.c : removed the 
d16 1
a16 1
	out Bug#364 for 2.6. 
d33 1
a33 1
	
@


1.418
log
@* rename.c, commonfops.c : removed the
dget/dput functions sandwiching the vfs_unlink as
these raise the refcounts and cause the .nfsXYZ
files to get created after unlinks. This knocks
out Bug#364 for 2.6.
@
text
@d1 5
@


1.417
log
@* main.c (unionfs_parse_dirs): Prevent recursive Unionfs mounts.
@
text
@d1 8
@


1.416
log
@* branchman.c: Plug a few memory leaks.
@
text
@d3 2
@


1.415
log
@* dentry.c (unionfs_d_release) : fixed a case that would
cause a reference to the lower-level nfs inode to be
present. This is part of #364.
@
text
@d1 4
@


1.414
log
@* branchman.c: Only count putmaps that exist.
@
text
@d1 6
@


1.413
log
@* unionctl.c: Support --mode ro branch or --mode branch ro
@
text
@d4 2
@


1.412
log
@* man/unionctl.8: No need for warning about root directory anymore.
* commonfops.c: Kill branch deletion ioctl.
@
text
@d1 4
@


1.411
log
@* super.c: Magic MS_REMOUNT to remove a branch.
* unionctl.c: Use remount instead of ioctl to remove a branch.
* branchman.c (unionfs_ioctl_delbranch): Take the super, not an inode.
@
text
@d3 3
@


1.410
log
@* dentry.c (unionfs_d_revalidate): All exit paths should go through
out.
@
text
@d1 6
@


1.409
log
@* main.c (unionfs_parse_options,unionfs_parse_dirs): Simplified
option parsing using strsep rather than direct pointer manipulation.
Organized the options into types to factor out common code.
@
text
@d3 3
@


1.408
log
@* debian/*: Use official debian packaging files.
@
text
@d1 6
@


1.407
log
@* Some AMD64 fixes.
* vprintk wrapper for 2.4.
@
text
@d3 2
@


1.406
log
@* unionctl.c: Do not truncate "/" to "" when stripping the last "/"
from directories.
@
text
@d1 5
@


1.405
log
@* main: Use FS_REVAL_DOT so that directories are always revalidated
during lookup.

* Drop err=passup, as it is unmaintained.
@
text
@d1 5
@


1.404
log
@* commonfops.c (unionfs_flush) : changed the dput to give
more symmetry and readability to the code.
@
text
@d1 7
@


1.403
log
@* dentry.c (unionfs_d_revalidate) : return successfully if the
dentry is unhashed
* commonfops.c (unionfs_flush) : corrected the d_unhashed check
@
text
@d1 5
@


1.402
log
@* branchman.c (QUERY): Don't copy FD_SET before ioctl. FD_ZERO the
set before the call.

* branchman.c (newputmap): Subtract the count from old putmaps from
the brand new putmap's count.

* branchman.c (unionfs_ioctl_delbranch): Use putmaps.
* lookup.c (new_dentry_private_data): Fix branch removal when
transitioning from > UNIONFS_INLINE_OBJECTS to ==
UNIONFS_INLINE_OBJECTS.
@
text
@d1 6
@


1.401
log
@* unionfs.h,main.c,super.c,inode.c: removed all code
pertaining SETATTR_ALL since the feature is not necessary
and complicates things.
* man/unionfs.4: removed text pertaining to the setattr
mount option.
@
text
@d1 13
@


1.400
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
@d1 8
@


1.399
log
@* dentry.c (unionfs_d_release) : added a check to take care
of the case when the dentry coming into release is from a
failed lookup. This knocks bug #303 out.
@
text
@d1 8
@


1.398
log
@* Remove older non-opaque directory mode.
@
text
@d1 6
@


1.397
log
@a change to test new snapshot script
@
text
@d1 4
@


1.396
log
@* lookup.c (unionfs_lookup_backend): Skip those hidden
dentries that are NULL.
@
text
@d27 1
a27 1
	copyupuid,copyupgid,copyupmode. 
d102 1
a102 1
	creation call to "create_whiteout" instead of the 
d104 1
a104 1
	
d130 1
a130 1
	error message. 
d136 1
a136 1
	* branchman.c (unionfs_ioctl_queryfile) : changed 
d194 2
a195 2
	  (unionfs_open, unionfs_flush) : updated the uii_totalopens and 
	  uii_writeopens to be set and checked during the time of opening and 
d206 1
a206 1
	* main.c (unionfs_reinterpose) : ensured that deleted dentries are not 
d233 1
a233 1
	* persistent_inode.c: changed how files are loaded in should be 
d252 1
a252 1
	non-connected dentries. 
d269 1
a269 1
	* persistent_inode.c: parse_imap_options and associated calls are 
d275 1
a275 1
	* persistent_inode.c: it appears that parse_imap_options is working 
d289 1
a289 1
	
d304 1
a304 1
	
d351 1
a351 1
	done but not quite there yet. 
d376 1
a376 1
	
d384 1
a384 1
	* lookup.c (unionfs_lookup_backend): Fix partial lookups for 
d405 1
a405 1
	
d438 1
a438 1
	* persistent_inode.c : Stupid spelling mistake in the name 
d449 1
a449 1
	* copyup.c (unionfs_copyup_xattrs): Don't use XATTR_CREATE, 
d457 1
a457 1
	
d508 1
a508 1
	* dentry.c changed ops vectors to C99 style initialization. 
d534 1
a534 1
	bad private data). 
d637 1
a637 1
	
d693 1
a693 1
	super block or null we were returning an error pointer and this 
d710 1
a710 1
	* file.c (unionfs_dir_llseek), locks.c (unionfs_setlk): Fix build 
d715 1
a715 1
	* file.c (unionfs_lock): function is completely rewritten to actually 
d782 1
a782 1
	* Applied patch to bug 193 Fixed the problem with 
@


1.395
log
@* lookup.c (unionfs_lookup_backend): Skip the null hidden
dentries.
@
text
@d3 2
a4 2
	* lookup.c (unionfs_lookup_backend): Skip the null hidden
	dentries.
@


1.394
log
@* print.c (fist_dprint_internal): Use vprintk instead of
vsnprintf/printk combo.
@
text
@d1 5
@


1.393
log
@* unionfs_debugmacros.h (branchget,branchput):
ASSERT if a branch's count goes negative.
* super.c (unionfs_put_super): ASSERT if the branch
counts are not zero on unmount.
* commonfops.c (unionfs_file_release): Don't put branches
that we didn't get.
* commonfops.c (unionfs_open): Don't get a branch until
we open it.
@
text
@d1 5
@


1.392
log
@* commonfops.c: Fix generation number increment.
@
text
@d3 9
@


1.391
log
@* main.c: cleaned up parse_options code for copyup,
copyupuid,copyupgid,copyupmode.
@
text
@d1 4
@


1.390
log
@* unlink.c, main.c, rmdir.c, rename.c: Remove obsolete
and unmaintained DELETE_FIRST mode.
@
text
@d1 5
@


1.389
log
@* man/unionfs.4: Added default behavior into the options
section for entries that didnt already have it.
@
text
@d1 5
@


1.388
log
@* main.c (unionfs_parse_options): Move directory parsing
out of parse options function, so we don't have as many 4+ level
indents.
@
text
@d1 5
@


1.387
log
@* Makefile: Update version number to 1.0.14pre.
@
text
@d1 6
@


1.386
log
@* man/unionimap.8: Minor editing.
@
text
@d1 4
@


1.385
log
@* man/unionimap.8 : finished the man page: added a verbose
description and examples.
@
text
@d1 4
@


1.384
log
@* man/unionimap.8 : added descriptions to options in the
option section.
@
text
@d1 5
@


1.383
log
@* unionctl.c: Use realpath so that relative pathnames are allowed
for mountpoints and branches.
@
text
@d1 5
@


1.382
log
@* subr.c (create_whiteout_parent) : removed this function
as it is not called anymore (#258).
@
text
@d1 5
@


1.381
log
@* Makefile: Update version to 1.0.13.
* Makefile: Include new regression tests in distribution.
* man/unionimap.8: An empty placeholder man page.
@
text
@d1 5
@


1.380
log
@* missing_vfs_funcs.h: Removed get_parent function since the 2.6
kernel has a dget_parent function which is the appropriate one to use
also made note that the templates do not use either triple_up or triple_down
* unionfs.h: checked to see if we are in 2.6 and if so define get_parent to be
dget_parent.
* unionimap.c: fixed a typo in the usage example.
* man/unionfs.4: added an entry for imap
@
text
@d1 6
@


1.379
log
@* copyup.c (unionfs_create_named_dirs) : corrected the
function to get rid of problems with the open-unlink
regression test.
@
text
@d1 10
@


1.378
log
@* rename.c (unionfs_rename_whiteout) : change similar
to above to correct #336.
@
text
@d1 6
@


1.377
log
@* rename.c (unionfs_rename_all) : changed the whiteout
creation call to "create_whiteout" instead of the
"create_whiteout_parent". this must solve 332.
@
text
@d10 3
@


1.376
log
@* unlink.c (unionfs_rmdir_all) : added checks to ensure
that the delete_whiteouts is not called for files. this
is a fix for bug 323
@
text
@d7 4
@


1.375
log
@* file.c (unionfs_file_revalidate): Handle GFS and don't try
to reopen files that no longer exist.
* subr.c (unionfs_copyup_named_dentry_len): Add a bit of debugging.
* Fix comments that are past 80 characters and some other
minor style issues.
@
text
@d1 6
@


1.374
log
@* subr.c (unionfs_create_whiteout): Don't set the parent's
opaque field when creating a whiteout, set your own.
@
text
@d3 6
@


1.373
log
@2005-07-20  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>

	* Fix things so that we compile on 2.4 again, and use the
	older form of ioctl for kernels less than 2.6.11.

	* ChangeLog: 80 character entries.
@
text
@d1 5
@


1.372
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
@d1 7
d72 4
a75 3
	* commonfops.c (unionfs_file_revalidate) : added functionality to copy the
	  lower-level file into a file with a randomly generated name obtained by
	  using the newly added function "get_random_name" in commonfops.c
d79 9
a87 7
	* copyup.c (unionfs_copyup_dentry_len) : made this into a wrapper function
	  which now accepts the name of the file (unionfs_copyup_named_dentry_len).
	  (unionfs_copyup_file) : similar wrapper to unionfs_copyup_named_file as
	  above.
	  (unionfs_create_dirs) : similar wrapper to unionfs_create_named_dirs as above
	  (unionfs_copyup_named_file) : added function similar to unionfs_copyup_file
	  which takes the file name as argument as well.
d90 2
a91 2
	* dentry.c (unionfs_d_revalidate) : changed the check for deleted dentries
	  to use the d_unhashed function also.
d94 2
a95 2
	* main.c: Ohh my god the inodes are persistent. Ohh and changed interpost
	to use get_uin if we are using persistent inode maps.
d108 4
a111 3
	* persistent_inode.c: more work on the loading code and get_uin and get_lin
	* dirfops.c: changed to make use of the persistent inode code only if maps
	are loaded.
d179 1
a179 1
        * unionimap.c : Fixed a bug that prevented compiling on newer
d184 1
a184 1
        * unionimap.c : Tested and working we can now make and print valid
d212 2
a213 1
	* commonfops.c (unionfs_file_revalidate): NULL ftohf_ptr after freeing it.
d218 2
a219 1
	* unionimap.c: Beginning of a user mode program to create inode map files.
@


1.371
log
@  (second commit) : changed O_NONBLOCK to O_RDONLY
@
text
@d1 8
@


1.370
log
@* branchman.c (unionfs_ioctl_queryfile) : changed
  function replacing lookup_one_len by partial lookups
@
text
@d5 1
@


1.369
log
@* unlink.c (unionfs_unlink_whiteout): Don't rename a symlink
to a whiteout, we need to unlink and create instead.

  file (Fix BUG #319).
@
text
@d1 5
@


1.368
log
@* unlink.c (unionfs_unlink_all) : checked if the dbopaque
  value is set for the current dentry, as this will
  indicate if there is a file to the right of the current
  file
@
text
@d1 5
d11 1
a11 1
	  file
@


1.367
log
@* commonfops.c: Use unlocked_ioctl when it is defined.
* branchman.c: Change prototypes to be more consistent with
unlocked_ioctl.
@
text
@d1 7
@


1.366
log
@* commit: Script for committing files
* Lindent: Linux indentation script.
* *.[ch]: Add emacs magic.
@
text
@d3 4
@


1.365
log
@* lookup.c (unionfs_lookup_backend) : fixed bug #321
  (that is, removed the semicolon that was introduced
  in the unionfs-042605-1324.tar.gz snapshot.
@
text
@d1 6
@


1.364
log
@* copyup.c (unionfs_create_named_dirs) : corrected the usage of
  the name and namelen arguments sent into the function. This
  should take care of both bugs #299 and #322.
@
text
@d3 6
@


1.363
log
@* branchman.c (unionfs_ioctl_queryfile) : added ioctl definition
  that lists those branches where the specified file exists(#253).
* commonfops.c (unionfs_ioctl) : added the new ioctl.
* fist.h : added an include for the fd_set helper functions
* unionfs.h : added a structure unionfs_queryfile_args to
  pass variables to the new structure.
* unionctl.c : added the user interface
* uniondbg.c : rearranged the includes to help compilation
@
text
@d1 6
@


1.362
log
@* unionfs.h : added variables uii_totalopens and uii_writeopens to
  help in keeping filehandles valid after unlinks until closes.
* fist.h : included random.h to help get random bytes for file names
* commonfops.c (unionfs_file_revalidate) : added functionality to copy the
  lower-level file into a file with a randomly generated name obtained by
  using the newly added function "get_random_name" in commonfops.c
  (unionfs_open, unionfs_flush) : updated the uii_totalopens and
  uii_writeopens to be set and checked during the time of opening and
  flushing the file.
* copyup.c (unionfs_copyup_dentry_len) : made this into a wrapper function
  which now accepts the name of the file (unionfs_copyup_named_dentry_len).
  (unionfs_copyup_file) : similar wrapper to unionfs_copyup_named_file as
  above.
  (unionfs_create_dirs) : similar wrapper to unionfs_create_named_dirs as above
  (unionfs_copyup_named_file) : added function similar to unionfs_copyup_file
  which takes the file name as argument as well.
* main.c (unionfs_reinterpose) : ensured that deleted dentries are not
  reinterposed.
* dentry.c (unionfs_d_revalidate) : changed the check for deleted dentries
  to use the d_unhashed function also.
@
text
@d1 11
@


1.361
log
@* main.c: Ohh my god the inodes are persistent. Ohh and changed interpost
to use get_uin if we are using persistent inode maps.
@
text
@d1 23
@


1.360
log
@* super.c: fixed problem with kernel version number in an ifdef
@
text
@d2 4
@


1.359
log
@* dirfops.c: removed some debugging printk statments.
* persistent_inode.c: finished debugging and cleanedup get_uin.
@
text
@d2 3
@


1.358
log
@* unionfs.h  added extern decls for get_uin and get_lin
* persistent_inode.c: more work on the loading code and get_uin and get_lin
* dirfops.c: changed to make use of the persistent inode code only if maps
are loaded.
@
text
@d1 5
@


1.357
log
@* persistent_inode.c: changed how files are loaded in should be
done still need to test
* unionfs.h: added a new variable into unionfs_superblock_info
* unionimap.c: changed called to mkfsid
* usercommon.c: changed fillfsid and mkfsid. No longer uses the inode
since it will always be 2 since we are using the root of the fs.
@
text
@d1 7
@


1.356
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
@d1 9
@


1.355
log
@* dentry.c (d_revalidate): We shouldn't re-lookup
non-connected dentries.
@
text
@d1 9
@


1.354
log
@* Makefile: Include Makefile.kernel.
@
text
@d1 5
@


1.353
log
@* subr.c (create_whiteout, create_whiteout_parent): Set the dbopaque
value to the branch where the whiteout gets created.  This is to solve
bug #294.
@
text
@d3 2
@


1.352
log
@* commonfops.c (unionfs_open): If the highest-priority branch
is read-only return -EROFS for opens with O_WRITE.
@
text
@d1 6
@


1.351
log
@* persistent_inode.c: parse_imap_options and associated calls are
working. maps are loaded in properly. Still need to finish and test
calls to use the maps.
@
text
@d1 5
@


1.350
log
@* persistent_inode.c: it appears that parse_imap_options is working
and so is verify_forwardmap. verify_reversemap needs to be fixed.
@
text
@d1 6
@


1.349
log
@* persistent_inode.c: Fixed some bugs still not working properly

* unionfs.h: added typedef for uuid_t.

* doit.sh: added imap entry into script.
@
text
@d3 5
@


1.348
log
@* INSTALL: If you have Fedora Core 4, then you need kernel-devel.
@
text
@d1 8
@


1.347
log
@* Makefile: Fix the Makefile so that it won't recompile every
object every time.
@
text
@d2 2
@


1.346
log
@* unionimap.c: Fix printf formats.
@
text
@d2 3
@


1.345
log
@gcc versions
@
text
@d1 4
d7 1
a7 1
        * unionimap.c : Fixed a bug that prevenced compiling on newer
@


1.344
log
@unionfs imap files.
@
text
@d3 5
@


1.343
log
@* unionimap.c : finished coding starting testing and debugging.
* unionimap.h : minor changes
@
text
@d3 5
@


1.342
log
@* unionimap.c : wrote some more code not tested yet
* unionimap.h : added a struct that is needed.
* Makefile: Cleanedup a conflict.
@
text
@d1 5
@


1.341
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
@d1 6
@


1.340
log
@* unionctl.c: Add Unionfs version to help message
	(not just unionctl version).
* unionimap.c: Add version to help message.
@
text
@d3 5
@


1.339
log
@* main.c, match-malloc.pl: Handle KFREE(NULL).
* commonfops.c (unionfs_file_revalidate): NULL ftohf_ptr after freeing it.
* commonfosp.c (unionfs_open): Allocate correctly sized ftohf_ptr.
@
text
@d1 6
@


1.338
log
@* unionfs.h: added definitions for imap structs
* Makefile: added make targets for unionimap.c and .h
@
text
@d1 6
@


1.337
log
@* unionimap.c: Beginning of a user mode program to create inode map files.
* unionimap.h: Header for program.
@
text
@d5 2
@


1.336
log
@* persistent_inode.c: Comment out 64-bit division.
@
text
@d1 5
@


1.335
log
@* unionfs.h : added some variables to the unionfs_sb_info struct to
handle persistent inodes.
* persistent_inode.c : more work done on the parsing functions almost
done but not quite there yet.
* main.c : added entry in parse_options to handle persistent inodes.
@
text
@d1 4
@


1.334
log
@* unlink.c (unionfs_unlink_whiteout): Missing dput in truncating fix.
@
text
@d1 8
@


1.333
log
@* unlink.c (unionfs_unlink_whiteout): Truncate whiteout after it
is created.
@
text
@d3 2
@


1.332
log
@* Test commit.
@
text
@d1 5
@


1.331
log
@* inode.c (unionfs_create): Fix ASSERT that had a side-effect.
This fixes a dentry reference count bug if you compile with
-DNODEBUG.
@
text
@d3 2
@


1.330
log
@* unlink.c: Empty a directory of its whiteouts before deleting it,
and refresh the hidden dentry on a failed rmdir.

* unionfs.h: Always include ufi_file_i, so we can compile with zero
inline entries if we want.
@
text
@d1 6
@


1.329
log
@* Test commit.
@
text
@d2 6
@


1.328
log
@* Makefile: Define UNIONFS_VERSION to be the current version.
* main.c: Print the version of Unionfs, not main.c.
@
text
@d2 2
@


1.327
log
@* lookup.c (unionfs_lookup_backend): Fix partial lookups for
three or more branches.
@
text
@d1 5
@


1.326
log
@* lookup.c (unionfs_lookup_backend): Change UNIONFS_LOOKUP_PARTIAL
to UNIONFS_LOOKUP_REVAL_NEG, when a dentry magically turns positive
on us.
@
text
@d1 5
@


1.325
log
@* lookup.c (new_dentry_private_data): Fix memset'ing logic.
* branchman.c (unionfs_ioctl_addbranch): Fix copying logic.
@
text
@d1 6
@


1.324
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
@d3 3
@


1.323
log
@* Makefile: Increment version number.
@
text
@d1 16
@


1.322
log
@* Makefile: Release 1.0.12
@
text
@d3 2
@


1.321
log
@* file.c: Disable generic_file_sendfile, because it causes nfsd
to Oops.
@
text
@d1 4
@


1.320
log
@* lookup.c (unionfs_lookup): Don't ASSERT dentry goodness along
the error path.
* dentry.c (unionfs_d_release): Handle dentries without dthod_ptrs.
@
text
@d3 3
@


1.319
log
@* main.c (unionfs_interpose): Move fist_copy_attr_all before
d_instantiate so Selinux can decide what type of inode it is.
@
text
@d1 6
@


1.318
log
@* Makefile : fixed spelling mistake
* persistent_inode.c : fixed typo for compilation
@
text
@d1 5
@


1.317
log
@* persistent_inode.c : Stupid spelling mistake in the name
of the file.
@
text
@d1 5
@


1.316
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
@d2 4
@


1.315
log
@* copyup.c (unionfs_copyup_xattrs): Don't use XATTR_CREATE,
instead use 0 so that it is replaced or created as needed
(Selinux automatically creates attributes.
@
text
@d1 6
@


1.314
log
@* print.c (fist_print_generic_dentry): ASSERT(d_count > 0) so
that we find dentries gone bad earlier rather than later.

* inode.c (unionfs_mkdir): bend should not go past the opaque
directory, but stay there.
@
text
@d1 6
@


1.313
log
@* INSTALL: Add root file system instructions based on Linux
Live's linuxrc.
@
text
@d1 8
@


1.312
log
@* main.c,super.c,lookup.c: Use alloc_inode in 2.6, so that only
two allocations need to be made per inode instead of two.  In
both 2.4 and 2.6 use a private kmem_cache for our dentry data,
so that we don't need to waste space by having kmalloc round up.
@
text
@d1 5
@


1.311
log
@* lookup.c (new_dentry_private_data): Merge initialization and
reinitialization code from lookup and read_super.  Also don't
reallocate dentry private data if we already have enough space.
@
text
@d3 5
@


1.310
log
@* INSTALL: Add Jaspreet Singh's selinux instructions.
@
text
@d3 4
@


1.309
log
@* INSTALL: Add EXDEV on ro branch rename as a limitation.
@
text
@d3 2
@


1.308
log
@* inode.c: follow_link and put_link fix for 2.6.

* lookup.c: Compile fix for 2.4.

* rename.c: If a directory is moved on a read-only branch return EXDEV,
so that mv essentially does a cp -r (recursive copyup in the kernel
would be too ugly).
@
text
@d3 2
@


1.307
log
@* lookup.c: Merge unionfs_lookup_backend and unionfs_partial_lookup,
partial lookups will now properly handle whiteouts.
@
text
@d1 10
@


1.306
log
@* print.c: Fix compile error when NODEBUG is defined.
@
text
@d3 3
@


1.305
log
@* lookup.c: Fix BUG 264.
* print.c: Separate generic inode printing from itohi printing.
Use const for print functions.
@
text
@d3 2
@


1.304
log
@* Code style fixes.
@
text
@d1 6
@


1.303
log
@* inode.c changed ops vectors to C99 style initialization.
* file.c changed ops vectors to C99 style initialization.
* dentry.c changed ops vectors to C99 style initialization.
* super.c changed ops vectors to C99 style initialization.
* stale_inode.c changed ops vectors to C99 style initialization.
@
text
@d1 4
@


1.302
log
@* unionfs.h: added no check versions ot set_dtohd_index
and dtohd_index.
* dentry.c: changed a function call to dtohd_index_nocheck
@
text
@d1 8
@


1.301
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
@d1 6
@


1.300
log
@* Fix indentation comments.
@
text
@d3 16
@


1.299
log
@* subr.c: Code style fixes.
@
text
@d1 4
@


1.298
log
@* NEWS: Keep NEWS up to date.
@
text
@d1 4
@


1.297
log
@* file.c (unionfs_filldir): Don't strncmp for .wh., if the
name's length is less than 4.  Old cruft can make things
go horribly bad (BUG 254).
@
text
@d1 4
@


1.296
log
@* inode.c (unionfs_lookup_backend): Properly handle file
transitioning from a negative to a positive dentry. (BUG 215)
@
text
@d3 4
@


1.295
log
@* file.c: Sendfile only exists on 2.6.
* main.c: Catch UNIONFS_REVAL_NEG specifically, still
need to understand/fix.
@
text
@d1 5
@


1.294
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
@d1 6
@


1.293
log
@* Exorcise struct typedefs and "fake" STATIC functions.
@
text
@d3 5
@


1.292
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
@d3 2
@


1.291
log
@* rdstate.c, unionfs.h: DOH, We were checking if
uii_rdversion <= MAXRDCOOKIE to decide whether or not
to wrap uii_cookie.
@
text
@d1 12
@


1.290
log
@* applied patch to file.c that uses generic_file_sendfile
to implement sendfile.
@
text
@d1 6
@


1.289
log
@* removed a stray printk
@
text
@d1 5
@


1.288
log
@* copyup.c: unionfs_create_dirs is now nolonger bound
by MAX_DIRS_CREATE. We now use kmalloc to dynamically
allocate memory for it and "realloc" the memory when
needed.
@
text
@d1 4
@


1.287
log
@* file.c, locks.c: Use #ifdef for 64-bit locking
commands, which are not defined on amd64.
@
text
@d11 4
@


1.286
log
@* copyup.c: Extended attributes now copyup properly.
This has only been tested in 2.6 but I see no reason
that it shouldent work in 2.4
@
text
@d1 5
@


1.285
log
@* copyup.c: Use list_size as the argument to xattr_free, not the
MAX_LIST_SIZE.
@
text
@d1 6
@


1.284
log
@* file.c: ASSERT was asserting on the dentry, not the i_mode.
@
text
@d3 3
@


1.283
log
@* file.c: Delay copyup of read-write files located on read-only
branches, until an operation will actually write to them (BUG 225).

* INSTALL: Cleanup kernel instructions a bit.
@
text
@d1 4
@


1.282
log
@* inode.c: unionfs_mkdir now spoofes the uid and gid of the owner
of the whiteout file for the purpose of removing it.
@
text
@d1 7
@


1.281
log
@* inode.c: vfs_unlink performs security checks so we created a function
called unlink_whiteout which has the same interface as vfs_unlink and
also mostly the same code but does not do security checks.
@
text
@d3 2
a4 3
	* inode.c: vfs_unlink performs security checks so we created a function
	called unlink_whiteout which has the same interface as vfs_unlink and
	also mostly the same code but does not do security checks.
@


1.280
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
@d1 6
@


1.279
log
@* copyup.c : changed comparison from > to >= to be compatable with 2.6.0
* fist.h : same as above
* unionfs.h : same as above
* rdstate.c : same as above
* main.c : same as above
* inode.c : same as above
* super.c : same as above
* xattr.c : sme as above
@
text
@d2 9
@


1.278
log
@* unionfs.h : changed UNIONFS_SUPER_MAGIC. All fist based file systems
  will have the first 2 bytes of the MAGIC number be f15f.
* super.c : statfs struct is now properly filled.
@
text
@d1 11
@


1.277
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
@d1 6
@


1.276
log
@* Add big warnings that NFS exports won't work in 1.0.10.
@
text
@d1 9
@


1.275
log
@* rdstate.c (find_rdstate): Factor out rdstate search.
* file.c (unionfs_dir_llseek): Use rdstate if it exists.
@
text
@d1 4
@


1.274
log
@* Makefile: fix clean target
@
text
@d1 5
@


1.273
log
@* file.c (unionfs_dir_llseek): Fix mistaken use of origin
instead of offset.
@
text
@d3 2
@


1.272
log
@* super.c (unionfs_statfs): Use shifting instead of division.
@
text
@d1 5
@


1.271
log
@* super.c (unionfs_statfs) : df now reports the proper numbers.
duplicate super blocks are not factored into the calculations and
all the block sizes are normalized to the first partition.
@
text
@d1 4
@


1.270
log
@* main.c (unionfs_read_super) : In 2.4 the kernel expects a valid
super block or null we were returning an error pointer and this
caused an Oops. This has been fixed.
@
text
@d1 6
@


1.269
log
@* unionfs_getlk (unionfs_getlk): Add preprocessor define for
2.6.11+, and add a missing case.
@
text
@d1 6
@


1.268
log
@* locks.c (unionfs_setlk): fixed a typo in the 2.6 function
@
text
@d1 5
@


1.267
log
@* misc/snapmerge: Explain how to get two snapshots merged into one
snapshot.
@
text
@d1 4
@


1.266
log
@* file.c (unionfs_dir_llseek), locks.c (unionfs_setlk): Fix build
on 2.6.
@
text
@d3 3
@


1.265
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
@d1 5
@


1.264
log
@* file.c (unionfs_dir_lseek): Allow seek to beginning/end of dirs.
@
text
@d1 9
@


1.263
log
@* misc/snapmerge: Fix permissions/times after copying files.
@
text
@d1 4
@


1.262
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
@d1 5
a5 1
* Lucas Correia Villa Real <lucasvr@@gobolinux.org>
d8 1
a8 1
* Eduard Bloch <blade@@debian.org>
@


1.261
log
@* Makefile: Can now build utilities without building kernel module.
@
text
@d1 8
@


1.260
log
@* dentry.c (unionfs_d_revalidate): Use fist_copy_attr_all to
make the cache appear more coherent.
@
text
@d1 4
@


1.259
log
@* dirhelper.c: Fix BUG 184: vfs_readdir is allowed to return positive
results.


* inode.c (unionfs_readdir): Remove buf.error which was unused.
@
text
@d1 5
d7 1
a7 1
2005-03-02  Anton Farygin  <rider@@altlinux.net>
d15 1
a15 1
2005-03-02  Anton Farygin  <rider@@altlinux.net>
@


1.258
log
@* Fix BUG 205: mv on symlinks
@
text
@d1 9
@


1.257
log
@* Fix BUG 203: Kernel oops on creat file with len of name > 252
@
text
@d3 2
@


1.256
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
@d1 4
@


1.255
log
@* unionctl.c (find_union): Start off w/ a 1K buffer and double it
if the lines in /proc/mounts don't fit.  Thanks to J. H. Wilson for
finding and patching this bug.
@
text
@d1 7
@


1.254
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
@d3 4
@


1.253
log
@* Applied patch to bug 193 Fixed the problem with
hardlinks not having the same inode number.
@
text
@d1 7
@


1.252
log
@* dentry.c (unionfs_d_delete): d_delete should not be defined (or
call the lower d_delete).  Thanks to Fabian Franz for identifying
this issue.
@
text
@d1 5
@


1.251
log
@* copyup.c (unionfs_copyup_dentry_len): Applied patch provided
for bug #196. A device was being decoded when it didnt have to be.
@
text
@d1 6
@


1.250
log
@* README: Article URL.
@
text
@d1 5
@


1.249
log
@minor NEWS updates. pesky trailing whitespace nuked
@
text
@d1 1
a1 1
2005-02-18  Erez Zadok  <ezk@@cs.sunysb.edu>
d3 1
@


1.248
log
@NEWS updates.
@
text
@d1 3
d6 2
a7 2
	* dirhelper.c (create_dir_whs) : commiting chips change to make sure it 
	creates whiteouts properly.
d17 5
a21 5
	* inode.c (unionfs_link): Fixed linking if the underlying file system 
	is read-only. The fix causes an issue with device being busy on umount. 
	* rdstate.c (find_filldir_node): Print statement was referencing a 
	bad pointer.
	
d69 1
a69 1
	* file.c (unionfs_mmap): Don't ASSERT that the lower mmap 
d107 1
a107 1
	
d145 1
a145 1
	* inode.c: Initial implementation of hardlinking a file on a read only branch. 
d149 1
a149 1
	
d155 1
a155 1
	
@


1.247
log
@* dirhelper.c (create_dir_whs) : comming chips change to make sure it
creates whiteouts properly.
* inode.c (unionfs_link): Fixed linking if the underlying file system
is read-only. The fix causes an issue with device being busy on umount.
* rdstate.c (find_filldir_node): Print statement was referencing a
bad pointer.
@
text
@d3 1
a3 1
	* dirhelper.c (create_dir_whs) : comming chips change to make sure it 
@


1.246
log
@* dirhelper.c (create_dir_whs) : comming chips change to make sure it creates whiteouts properly.
* regression/link.sh : some of the cases in the tests are no longer valid with the change to unionfs_link.
The test now reflects these new test cases.
@
text
@d3 2
a4 3
	* dirhelper.c (create_dir_whs) : comming chips change to make sure it creates whiteouts properly.
	* regression/link.sh : some of the cases in the tests are no longer valid with the change to unionfs_link. 
	The test now reflects these new test cases.
d14 4
a17 3
	* inode.c (unionfs_link): Fixed linking if the underlying file system is read-only.
	The fix causes an issue with device being busy on umount. 
	* rdstate.c (find_filldir_node): Print statement was referencing a bad pointer.
@


1.245
log
@* INSTALL: Squashfs is generally OK, but we do have flock problems.
@
text
@d1 6
a9 2

2005-02-14  Charles P. Wright  <cwright@@fsl.cs.sunysb.edu>
@


1.244
log
@* file.c (unionfs_dir_llseek): Untested fix for BUG 187.
@
text
@d1 4
@


1.243
log
@* inode.c (unionfs_link): Fixed linking if the underlying file system is read-only.
The fix causes an issue with device being busy on umount.
* rdstate.c (find_filldir_node): Print statement was referencing a bad pointer.
@
text
@d1 4
@


1.242
log
@        * copyup.c (unionfs_copyup_xattrs): Use PASSERT, other compile fixes.
        * xattr.c (xattr_alloc, xattr_free): Shouldn't be static.
        * Go back to GFP_KERNEL, because GFP_NOFS causes problems with vserver.
@
text
@d1 7
@


1.241
log
@* copyup.c (unionfs_copyup_xattrs): Use security functions, also
take the inode lock as is done in setxattr.
* inode.c (unionfs_link): Reference counting on error paths/compile fix.
@
text
@d3 12
a14 2
	* copyup.c (unionfs_copyup_xattrs): Use security functions, also
	take the inode lock as is done in setxattr.
@


1.240
log
@* inode.c (unionfs_link): On copyup path directory was not unlocked.
@
text
@d1 6
@


1.239
log
@* copyup.c (unionfs_xattr_copyup): Review of code, not yet tested.
@
text
@d1 4
@


1.238
log
@* inode.c (unionfs_link): Revert to Chip's version of
unionfs_link.
@
text
@d3 2
@


1.237
log
@* Makefile: Allow module prefixes to be specified for
RPM_BUILD_ROOT
* rpm/unionfs.spec: Compiled, tested, and installed.
@
text
@d1 5
@


1.236
log
@* Makefile added a target for uninstall to accomodate rpm removal
@
text
@d1 6
@


1.235
log
@* copyup.c (unionfs_copyup_permissions): Use ATTR_FORCE to make
sure any user can change permissions.
* copyup.c (unionfs_create_dirs): Twiddle current->fsuid/fsgid
so that any user's copyup will behave properly.
@
text
@d1 4
@


1.234
log
@Fail instead of crash when mmaping over NTFS.
@
text
@d1 7
@


1.233
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
@d1 7
d10 2
a11 1
	* dirhelper.c : fixed 2.6 compilation. call to vfs_creat missing last param in 2.6
d13 2
a14 1
	* Makefile : namei.c is no longer needed so it was removed from the make file.
@


1.232
log
@* subr.c, dirhelper.c: Move mkdir/rmdir helpers into separate
file.
@
text
@d1 6
@


1.231
log
@* unionfs.h, fist.h: Remove unused/redundant definitions.
@
text
@d3 3
@


1.230
log
@* rdstate.c, unionfs.h: Move finding and adding filldir nodes
into rdstate.c.  This reduced the readdir code size, and should
also let us reuse the code for the subr.c functions.
* subr.c: Use an rdstate instead of a second readdir to remove
files in delete_whiteouts.
* namei.c: Removed vfs_unlink_nozombie.
@
text
@d1 4
@


1.229
log
@* INSTALL: Add more CFLAGS options to make things smaller.
@
text
@d1 9
@


1.228
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
@d3 2
@


1.227
log
@* branchman.c (unionfs_ioctl_addbranch): Fix error path resource leak.
@
text
@d1 10
@


1.226
log
@* copyup.c (unionfs_copyup_permissions): Changed so it actually works now
instead of corrupting certian bits.
* copyup.c (unionfs_create_dirs): Function actually uses unionfs_copyup_permissions
for setting directory permissions instead of setting them explicitly.
@
text
@d1 4
@


1.225
log
@* file.c (unionfs_dir_llseek): Allow llseek to the current
offset in the directory, but nowhere else.
* file.c (unionfs_readdir): Save the last offset, so we
can lseek to it (for pretend).
@
text
@d1 7
@


1.224
log
@* Remove all occurrences of GFP_KERNEL and replace with GFP_NOFS,
so our allocations can't cause file system calls.
@
text
@d3 5
@


1.223
log
@* file.c (unionfs_readdir): Fixed deadlock in rdstate search.
@
text
@d1 5
@


1.222
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
@d1 4
@


1.221
log
@* inode.c: Initial implementation of hardlinking a file on a read only branch.
  Attributes are not copied properly yet.
@
text
@d1 8
@


1.220
log
@* copyup.c: Fix usage of unionfs_copyup_permissions.
@
text
@d1 5
@


1.219
log
@* super.c: 2.4 compile fixes

* fist.h: Updated FISTBUG for gcc 2.9.5
@
text
@d1 4
@


1.218
log
@* xattr.c: Format changes for size_t.

* doit.sh: Call optional postdoit script
@
text
@d1 6
@


1.217
log
@* AUTHORS file.
@
text
@d1 6
@


1.216
log
@* README updates.
@
text
@d1 3
a3 1
2005-01-10  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>
@


1.215
log
@* Allow NFS exports on 2.6 (Sai Suman)
* Fixes to print format in xattr.c (Sai Suman)
@
text
@d3 2
@


1.214
log
@* debian/*: Debian packaging from Alex de Landgraaf.
@
text
@d3 3
@


1.213
log
@* Remove -Wno-unused-label for gcc 2.9.5 (alex@@delandgraaf.com).
@
text
@d3 2
@


1.212
log
@* Allow "EXTRACFLAGS=-DNODEBUG" in fistdev.mk to disable
the printing/ASSERT facility, cutting object size in half.
@
text
@d3 1
@


1.211
log
@* unionfs.h: Warn when compiling on unsupported kernels.
* super.c: Compile fix for 2.6.8.
* Makefile: Include ChangeLog in the release.
@
text
@d1 5
@


1.210
log
@reformat changelog properly. remove trailing whitespaces
@
text
@d1 6
@


1.209
log
@Test commit.
@
text
@d4 1
d9 1
d19 1
d24 1
d28 3
a30 1
	* fist.h: Make gcc check fist_dprint_internal formats. 
d32 1
d37 1
d45 1
a45 1
	
d62 3
a64 1
	* inode.c, unionfs.h: Changed directory copyup function back to old prototype.
d71 1
d74 1
d91 1
d94 1
d96 1
d100 1
d134 1
d137 1
d145 1
d160 1
d166 1
a166 1
	
d168 1
a168 1
	
d173 1
d175 1
d180 2
a181 2
	* inode.c (unionfs_setattr): using dtohd_index() instead of 
	unionfs_hidden_dentry() because an intermediate hidden dentry 
d188 1
d197 1
d201 1
d215 1
a215 1
	
d220 1
d228 1
d232 1
d236 1
d239 1
d243 1
d247 1
d255 1
d257 1
d263 1
a263 1
	
d267 1
d269 1
d273 1
d282 5
a286 3
	* unionctl.c: now contains ioctls to add, remove and set branch permissions moved here
		
	* uniondbg.c: ioctls to add, remove and set branch permissions moved here
d289 3
a291 3
		
	* subr.c: making sure copyupuid, copyupgid and copyupmode are all specified
	when copyup option is set to mounter.
d297 5
a301 2
	* inode.c: more places where we should exit if get an error other than 
	-EROFS in unlink/rmdir and related functions. 
d303 2
a304 4
	* subr.c: exit if get an error other than -EROFS when creating/deleting whiteouts
	
	* inode.c: making sure that we create/mkdir/symlink/mknod to the left only if the 
	error returned is -EROFS, otherwise passup
d306 1
a306 1
	* subr.c: use notify_change instead of directly modifying the inode 
d309 1
a309 1
	* subr.c: use notify_change instead of directly modifying the inode 
d312 3
a314 3
	* main.c: added copyupuid, copyupgid and copyupmode mount options. 
	These options will specify the mode, uid and gid of copied-up files. 
	copyup option should be set to mounter. 
d327 1
a327 1
	* super.c: Implemented unionfs_show_options. Can now view unionfs 
d330 7
a336 2
	* inode.c: using is_robranch_super instead of is_robranch in create, mkdir,
	symlink, mknod operations, whenever we try to remove whiteouts if they exist.
d338 2
a339 2
	* main.c: while parsing options using strcmp wherever we can, removed all magic 
	numbers, copyup options are now preserve, currentuser, mounter
a340 2
	* subr.c: when copying up the default mode should be original owner (preserve)
	
d343 2
a344 2
	* main.c: unionfs mount time flag changed from being an integer flag to
	several text options that will together make up the flag.
d347 1
d360 1
d388 1
d406 1
d422 1
d425 1
d429 1
d432 1
d435 1
d442 1
d445 1
d447 1
d449 1
d451 1
d453 1
d476 1
a476 1
	on error on vfs_create. 
d480 1
a480 1
	* inode.c (unionfs_rename_all): fixed to call rename and create 
d491 2
a492 2
	* inode.c (unionfs_rename_all): changed to create whiteouts properly 
	on error conditions.
d499 3
a501 3
	* subr.c (create_whiteout_left_parent): Added function for creating 
	whiteout in a parent directory by a char * string.
	(unionfs_create_parent_dir): initialize dtohd before checking and 
d503 2
a504 2
	(unionfs_copyup_dentry): removed extra dput, since fput internally does
	that.
d515 1
a515 1
	extra negative dentries. 
d519 2
a520 1
	* subr.c (unionfs_create_parent_dir): Dput the previous negative dentry.
d527 1
a527 1
2003-09-22  Harikesavan Pathangi Krishnan  <hari@@t1.fsl.cs.sunysb.edu>, Mohammad
d529 2
a530 1
	* subr.c (unionfs_create_parent_dir): Fixed a bug related to igrabbing lower inode.
d534 2
a535 1
	* main.c (unionfs_parse_options): Fix some memory leaks in error paths.
d565 4
a568 1
2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Puja, Hari, Jay
a569 3
	* inode.c (unionfs_lookup): changed the dput location of hidden whiteout dentry
	in the code.
	
d579 3
a581 3
	* subr.c (create_parent_dir()): added support for left to right copy up.
	Could be used in unionfs_link()
	
d587 1
a587 1
	* main.c (unionfs_read_super): changed to dput superblock dentries on 
d592 1
a592 1
2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Puja, Hari, Jay
d596 1
a596 1
	
d599 1
a599 1
	* inode.c (unionfs_mkdir, unionfs_mknod): dget hidden_dentry if not 
d601 2
a602 2
	
	* inode.c (unionfs_mkdir, unionfs_mknod): removed extra dget before 
d605 1
a605 1
2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Hari, Jay, Puja
d608 1
a608 1
	
d611 1
a611 1
	* inode.c, dentry.c, unionfs.h: variable declaration re-shuffled to 
d615 1
a615 1
	
d618 3
a620 3
	* file.c (unionfs_open()):  calling branchput if get an error in opening hidden 
	dentry
	
d628 4
a631 4
2003-09-21  Mohammad Nayyer Zubair  <zubair@@t1.fsl.cs.sunysb.edu>, Hari, Jay, Puja
	
	* subr.c (create_whiteout_left()):  synched reference counts for hidden_dentry;
	added a dget for the hidden_dentry
d640 2
a641 2
	* subr.c (unionfs_create_parent_dir): removed extra dput on error in 
	lookup.
d645 3
a647 3
2003-09-20  Mohammad Nayyer Zubair  <zubair@@mooby.fsl.cs.sunysb.edu> Puja, Jay 
	
	* inode.c:  removed all "dtohd_index(dentry, bindex) = NULL" references and any 
d649 2
a650 2
	
	* subr.c:  modified code in troublesome create_whiteout_left() function. 
a651 1
		
d670 2
a671 2
	* file.c (unionfs_readdir): reverting back to file.c before changes 
	related to readdir_called flag.  Was going into an infinite loop due 
d673 1
a673 1
	
d688 3
a690 1
	* subr.c (check_empty): Added a flag field in the callback structure that makes readdir call once again if all the contents of the directory are not read.
d695 4
a698 2
	* file.c (unionfs_filldir): Print a warning on any duplicate, but don't
	return -EIO.
d701 7
a707 7
2003-09-19  Mohammad Nayyer Zubair  <zubair@@mooby.fsl.cs.sunysb.edu> 
	
	* file.c (unionfs_filldir()): fixed the rm -Rf (-EIO, ENOTEMTPY error) cases.
	return -EIO ONLY when get a 'foo' and 'foo' exists in the same directory, 
	which would indicate corruption in the file system. Before were returning 
	-EIO ALSO if filldir gets a '.wh.foo' and 'foo', latter being in the linked list 
	already
a708 1
	
d714 1
a714 1
        
d720 1
a720 1
	* subr.c (unionfs_copyup_dentry): added this function, called from 
d725 3
a727 3
	* inode.c (unionfs_setattr): calls copyup when trying to setattr for a 
	RO branch. 
	
d732 2
a733 1
	* inode.c: Fixed the bug related to creation of whiteouts on the leftmost branch when a directory on that branch is rmdir'ed.
a742 1
	
d748 2
a749 2
	(unionfs_rmdir_all): checking if rmdir failed on leftmost, and if it 
	had whiteouts, remove them, and call vfs_rmdir again, to create 
d753 1
a753 1
	
a755 1
	
a756 3
	
	* print.c (fist_print_dentry() and fist_print_inode()):  removed the anding code when printing 
	the mode of the inode. Was printing a negative mode value.
d758 4
a761 1
	
a777 3
	
	* inode.c (unionfs_mknod):  done. removes whiteout if present. format similar to
	unionfs_mkdir(). Tested.
d779 2
d802 1
a802 1
	(unionfs_rename_all): whiteout is always create in the bstart of 
d812 1
a812 1
	* inode.c: added dput for hidden_dentry, whiteout_dentry that 
d815 1
a815 1
	* subr.c: added dput for hidden_dentry, whiteout_dentry that 
d834 1
a834 1
	
a835 1
	
d839 3
a841 3
	* inode.c (unionfs_create, unionfs_symlink): whiteouts truncated to
	zero and ctime updated.
        
d846 1
a846 1
        
d849 1
a849 1
	* inode.c (unionfs_unlink): changed the function like rmdir. Used 
d853 1
a853 1
	* unionfs.h (GLOBAL_ERR_PASSUP): removed DELETE_ERR_PASSUP.  
d857 6
a862 2
	* inode.c (unionfs_create, unionfs_symlink, unionfs_link): restructured
	changed *_ERR_PASSUP to GLOBAL_ERR_PASSUP.
d864 2
a865 2
	* unionfs.h (GLOBAL_ERR_PASSUP): added, for all functions, whether, on 
	error, should passup or try to make up for error encountered.
d867 1
a867 2
	* inode.c (unionfs_symlink): updating bstart, bend for symlink create. 
	Restructured the code.
d869 2
a870 1
2003-09-11  Mohammad Nayyer Zubair  <zubair@@t6.fsl.cs.sunysb.edu> 
d872 2
a873 2
	* inode.c (unionfs_symlink):  done. removes whiteout if present. same format 
	as in unionfs_create()
d875 2
a876 5
	* inode.c (unionfs_link):  creating destination path in source's branch instead of vice versa
	
	* inode.c (unionfs_rmdir_all):  removed unneccessary d_drop() call. unionfs_rmdir() 
	calls it at the end
		
d894 2
a895 2
	* main.c (unionfs_reinterpose): is now a void function and igrab was 
	called twice for already existing hidden inode. Fixed.
d897 2
a898 2
	* file.c (single_branch_filldir): removed fist_dprint printed extra 
	newline character on commandline during readdir.
d904 2
a905 2
	* subr.c (unionfs_full_lookup): Removed this function, was similar to
	unionfs_partial_lookup.
d907 8
a914 8
	* inode.c (unionfs_unlink): added if-else for three different options
	for unlink, and also for error handling (passup or whiteout). Replaced
	unionfs_full_lookup with unionfs_partial_lookup (Both functions were
	same, just change in name).  Added dget, dput at appropriate places.

	* unionfs.h (DELETE_FIRST, DELETE_WHITEOUT, DELETE_ERR_PASSUP): added,
	and removed all other unlink flags.
	
d921 2
a922 3
	
	* inode.c: mkdir and create revisted, restructured and tested 
	
d930 3
a932 3
	* inode.c (unionfs_create): added dget, get_parent, double_lock and
	error check for vfs_rename of whiteouts. Added d_drop for any negative
	dentry at the end of function.
d935 2
a936 2
	
	* subr.c (create_dir_whs_filldir, create_whiteout_left): 
d939 1
a939 1
	* inode.c (unionfs_create, unionfs_lookup, unionfs_unlink) 
d945 1
a945 1
	* inode.c (unionfs_create): reverted back to the loop for create 
a948 2
	
	* inode.c: file to file rename done. 
d950 5
a954 2
	major items left:
	- dir to dir rename
a955 3
	minor items left:
	- mknod, symlink
	
d958 2
a959 3
	* file.c (unionfs_filldir, single_branch_filldir):
	Removed memory leak for debug output in filldirs.

d962 1
a962 1
	
d966 1
a966 1
	the last remaining branch.  It would be cooler if we could, but 
d982 1
a982 1
	* Changed ASSERT2's to ASSERT, since they weren't really being 
d989 1
a989 1
	
d993 3
a995 3
	* inode.c: fixes in lookup(). Started on unionfs_rename(). 
	
	
d997 2
a998 2
	
	* subr.c: added function int remove_whiteouts(dentry_t *dentry, 
d1000 1
a1000 1
	Called by unionfs_rmdir(). Does vfs_readdir() and then unlinks all 
d1002 1
a1002 1
	
d1015 4
a1018 4
	
	* inode.c: unionfs_mkdir() done and works as per updated design. 
	Creating whiteout entries for all entires to the right. Details on this
	are in the updated function_description.html file
d1023 5
a1027 4
	* subr.c: added a function: int create_whs_right(dentry_t *dentry, int cur_index) 
	Does a vfs_readdir on all directories starting from cur_index + 1 and creates
	whiteout entries in cur_index (called in unionfs_mkdir()). Details on this
	are in the updated function_description.html file
d1030 3
a1032 5
	
	Left
	- rename
	- mknod, symlink
	
d1047 2
a1048 2
	
	* inode.c: unionfs_unlink() implemented as per new design specs 
d1051 2
a1052 2
	* subr.c: added create_whiteout_left(dentry, index) function: creates a whiteout
	in index, on error it proceeds to the left.
d1056 1
a1056 5
	Left
	- mkdir, mknod, symlink
	- rmdir
	- rename
	
d1063 4
a1066 4
	
	* inode.c: unionfs_create() implemented as per new design specs. 
	If found a .wh.foo entry, vfs_rename it to foo. 
	
d1069 1
a1069 1
	
d1078 1
a1078 1
	
d1082 4
a1085 7
	
	Still left (according to new specs):
	- mkdir, symlink, mknod, 
	- unlink, rmdir
	- rename hard
	
	
d1096 3
a1098 3
	* file.c: Branch reference counters updated on open/close.  Need to figure
	out how do to update them when a unionfs directory becomes the cwd of a
	process.
d1100 2
a1101 2
	* doit.sh: Source doitopts or doitopts.`uname -n` so different developers
	can have different setups, w/o changing CVS.
d1108 1
a1108 1
	
d1110 6
a1115 3
	* file.c: calling unionfs_copyup_file() if write() fails on the leftmost file.
	Failure could result because of read-only permissions on the file so probably
	should do copy up only if branch is mounted RO.
d1118 10
a1128 8
2003-08-13  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>
	
	* 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
d1130 1
d1148 1
a1148 1
	* inode.c (unionfs_unlink): added unlink for whiteout. If flag is set 
d1150 1
a1150 1
	recursive subdirectories.  Also added check for various flags for 
a1154 4
	
	* file.c: readdir is working fine with the hashtable in the private 
	data of unionfs file. 
	diff -ru on gcc tarball is successful 
d1156 5
a1160 1
	* inode.c: implemented option 2 of link(), recursively creating source 
d1164 3
a1166 3
	LINK_EXDEV: just return -EXDEV when dentries are on different branches 
	LINK_RECURSIVE: recursively create source path in target branch 
	
a1167 4
	
	* file.c: readdir/filldir's linked list converted into a hashtable of 
	  size HASHTABLE_SIZE
	  Duplicate elimation is working. Still to test the gcc tarball.
d1169 6
a1174 2
	* unionfs.h: converted dir_list list head to an array of list heads of size
	  HASHTABLE_SIZE
d1179 1
a1179 1
	* unionfs.h: changed to new flag, CREATE_RW_ERR, UNLINK_WHITEOUT, 
d1182 3
a1184 2
	* inode.c (unionfs_partial_lookup): added, called from unlink. Looks up
	the remaining files that were not looked up in unionfs_lookup.
d1190 1
a1190 1
	* unionfs.h (IS_SET): changed flags to be exclusive. Also, changed 
d1194 2
a1195 2
	
	* file.c (unionfs_open): removed ftohd_index(file, bindex) =  NULL.
d1197 4
a1200 4
	(unionfs_filldir, unionfs_readdir): changed the global list_head for 
	duplicate elimination to have a list_head in private data of file. So,
	the list of name, namelen is stored in this new list_head, and compared
	against this.
d1202 1
a1202 1
	* unionfs.h: added struct filldir_node to private data of file. 
a1207 5
	
	* inode.c: unionfs_link's option 1 done. Return -EXDEV if old and new dentries are in different branches
	/ starting option 2: if different branches, creating destination path in the source branch 
	
	* unionfs.h: added a simple function which returns the sum of all the underlying inodes' nlink value
d1209 10
a1218 2
	* inode.c: calling the above function wherever nlinks value was being set
	
d1221 2
a1222 2
	* unionfs.h: #defines for MOUNT_FLAG, CREATE_PASSUP, 
	CREATE_RW_ERR_PASSUP, CREATE_TRY_LEFT and IS_SET. 
d1224 1
a1224 1
	* main.c (unionfs_parse_options): parse the mount time flag and 
d1227 3
a1229 3
	* inode.c (unionfs_create): added handling of partial errors to handle
	various cases: 1) Try to Left (default), 2) PassUp, 3) If EPERM on RW
	branch, PassUp.
d1240 15
a1254 12
	* file.c:  in unionfs_open, now only opening leftmost file instead of opening all of the hidden files.
	   Opening all directories though.

	* inode.c: setattr function done. Assigning 'correct' value to the n_links variable in the unionfs inode
           In inode_revalidate function  assigning 'correct' value to the n_links variable in the unionfs inode.
           
	* main.c:  just moved sum_nlinks variable to the beginning of the interpose function

	/ diff -ru on a randomly distributed (recursive) gcc tarball is failing. Some duplicate files are being listed.
	  'ls' on the directory containing above duplicate files also lists the files twice. Files have same unionfs inode.
	  Checking out whats happening. 
	
d1256 1
d1258 3
a1260 1
2003-07-22  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>
d1262 1
a1262 6
	* main.c 
	  in interpose() added lines which compute the sum of the 
	  nlinks of the underlying inodes and assigns this sum to the 
	  unionfs inode. 
	* inode.c
	  in permission() added check for a null hidden inode
d1266 5
a1270 5
	* unionfs.h: init_file_array is now init_ftohf_ptr, init_inode_array is
	now init_itohi_ptr, init_sb_array is now init_stohs_ptr, added
	init_stohiddenmnt_ptr, init_dentry_info, init_dentry_array is now 
	init_dtohd_ptr. *** All this  makes sure that all allocated memory
	is initialized to zero before its being used.  
d1274 1
a1274 1
	* main.c (unionfs_parse_options): init_priv_inode is now 
d1287 7
a1293 6
	* inode.c (unionfs_create): get rid of the hidden dentry that lead 
	to an unsuccessful attempt to create. Update bstart, bend accordingly. 
	(unionfs_create_parent_dir): added "count--" for proper pointer 
	position. Updated private data, bstart for the dentry and inode of 
	intermediate directories created.  Also, updated bend for the negative
	dentry returned from this function to create.
d1295 2
a1296 1
	* main.c (unionfs_interpose): removed comments and extra line spaces.
d1304 1
a1304 1
	* inode.c (unionfs_create): changed to handle partial error by 
d1306 2
a1307 2
	(unionfs_create_parent_dir): added this function, it creates 
	hidden directory path for a given parent inode and dentry in 
d1311 10
a1320 17
        
	* inode.c <unionfs_lookup>:  Found a bug while mounting unionfs on
	  a randomly distributed (recursive) am-utils tarball on 5 
          branches.  
	  
	  Basically we were not memsetting the array of pointers to hidden	
	  objects after kmallocing a CUR_MAX_BRANCH  number of pointers for 
	  dentry, inode, file and sb.

	  They were assumed to be NULL in lookup and hence were not 
	  explicitly set to NULL in the array when requireed.
	  
	
	* unionfs.h
	  Added macros which initialize hidden arrays to NULL
	
	
d1326 4
a1329 3
	entry, unlink now internally calls lookup for all remaining branches.
	And the current policy for unlink is, unlink all. (Tested).
        
d1334 1
a1334 1
	lookedup hidden inodes in remaining branches.  Called from 
d1337 2
a1338 3
        * mount_tarball.sh:
        * mount_tarball_random.sh: These scripts are now moved to ../tools
        directory.
d1349 1
a1349 1
	* super.c (unionfs_statfs): check for duplicate superblock data being 
d1354 5
a1358 5
	* print.c 
		fist_print_inode():  prints underlying inodes if any
		fist_print_dentry():  prints underlying dentries if any
		fist_print_files():  prints underlying files if any
		fist_print_superblock():  prints underlying sbs if any
d1361 6
a1366 5
	* print.c 
		improved the formatting of printing inode, dentry and sb
	* main.c, inode.c
		removed unneccessary lines printing debugging info in 
		interpose()
a1368 6
	* file.c inode.c 
		removed debugging info lines
	* created mount_tarball.sh 
		right now, distributes an equal number of files/dirs among N branches
		tar-ing am-utils through unionfs mount point gives same package
		buildall through mount point gives same structure/files
d1370 6
a1375 2
 
			
@


1.208
log
@Test commit.
@
text
@a2 1

@


1.207
log
@Test commit.
@
text
@d3 1
@


1.206
log
@Test commit.
@
text
@a2 2
	* Test commit.

@


1.205
log
@Test commit.
@
text
@d3 2
@


1.204
log
@* Test commit
@
text
@a2 2
	* Test commit

@


1.203
log
@Test commit.
@
text
@d3 2
@


1.202
log
@* Test commit 2.
@
text
@a2 4
	* Test commit 2.

	* Test commit.

@


1.201
log
@* Test commit.
@
text
@d3 2
@


1.200
log
@* Prepare 1.0.6 release.
* Fix 2.6 compile issues in new code.
@
text
@d3 2
@


1.199
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
@d3 3
@


1.198
log
@* file.c: Working NFS readdir.  On close we store left-over
readdir state in the inode for up to 5 seconds.  If a readdir
has a matching cookie, then we pull the state out of the inode
and use it.  We also needed to use our own offsets, otherwise
the NFS client got confused.
* subr.c: Remember the number of entries in our hash table for
each inode, and use that as the number for the next readdir.
@
text
@d1 6
@


1.197
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
@d3 8
@


1.196
log
@* Makefile: Install unionfs.ko, not unionfs.o if it exists.
* main.c: Remove MODULE_PARM because it is deprecated.
@
text
@d1 10
a10 1
2005-01-06  Charles P. Wright <cwright@@fsl.cs.sunysb.edu>
@


1.195
log
@* file.c (unionfs_read): Fix "inifite" cat bug on 2.6
@
text
@d1 5
@


1.194
log
@* Makefile: Auto-select 2.4 vs. 2.6 for build.
@
text
@d3 2
@


1.193
log
@* Unify 2.4 and 2.6 Makefiles
@
text
@d2 2
@


1.192
log
@* Fixes for printing file structures at debug level 18.
@
text
@d2 2
@


1.191
log
@* Fixes for 2.4 compilation.
@
text
@d3 2
@


1.190
log
@* *.[ch]: Update year.
@
text
@d1 4
@


1.189
log
@* inode.c: Embed rename.txt into comment.
@
text
@d1 4
@


1.188
log
@* inode.c, unionfs.h: Changed directory copyup function back to old prototype.
* subr.c (unionfs_copyup_dentry_len): Handle directories, devices,
and symlinks.
@
text
@d1 4
@


1.187
log
@* inode.c: Only request copyup of parent directories.
* subr.c (unionfs_copyup_dentry_len): Handle directory copyup
(required for chmod).
* main.c (unionfs_parse_options): Fix along error path.


* main.c (unionfs_interpose): Allow mount point crossing.
@
text
@d1 6
@


1.186
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
@d1 7
d9 2
@


1.185
log
@* Fix .cvsignore and release.
@
text
@d1 7
@


1.184
log
@* README: Added warning that anything less than 2.4.20 is unsupported.
* namei.c: Removed inode_dir_notify calls when we are on less than
2.4.20, because the symbol is not exported.
* Fixed lots of bad casts from pointer to int in printks.
* main.c (unionfs_parse_options): Fix for badly ordered variables.
@
text
@d3 2
@


1.183
log
@* main.c (unionfs_read_super): Remove double free along error path.
* wrapfs.h (dtopd_lhs): Remove cast from LHS of assignments.
@
text
@d3 6
@


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

* Makefile (clean): remove tarball.
@
text
@d1 5
@


1.181
log
@* released unionfs-1.0.2.

* README: updated.

* released unionfs-1.0.1.


* released unionfs-1.0.
@
text
@d5 4
@


1.180
log
@* Makefile: Include man pages in the release.
@
text
@d1 6
d9 2
d14 2
@


1.179
log
@* announce-email.txt: revised announcement text.
@
text
@d1 4
@


1.178
log
@* announce-email.txt: draft announcement email.

* README: revised.
@
text
@d1 4
@


1.177
log
@* file.c: Don't allocate directory hash table for files.
* inode.c (unionfs_setattr): Don't do partial lookup if setattr is not
set to all (should improve delete_whiteout).
* Some grayout code (we don't discuss rename_first anymore, so it
actually doesn't matter).
@
text
@d1 6
@


1.176
log
@* namei.c (vfs_create_nozombie): Whiteout creation needs a version
of vfs_create that won't down the i_zombie.
* subr.c (create_dir_whs_filldir):  Don't ASSERT that the whiteout
doesn't already exist, because we can have multiple files with
the same name in other branches.
@
text
@d1 8
@


1.175
log
@* inode.c (unionfs_mkdir, unionfs_symlink, unionfs_mknod): lookup
whiteout in 'bstart' not 'bindex'. We always looked up on first branch
as bindex was set to 0
@
text
@d1 8
@


1.174
log
@* inode.c (unionfs_inode_revalidate): Walk up the tree to revalidate
inodes like we do for dentries.
* inode.c, subr.c, unionfs.h: Use multilocks to protect against
unionfs_partial_lookup and revalidate operations racing against
each other.
@
text
@d1 6
@


1.173
log
@* unionfs.h: Implementation of "multilocks".
@
text
@d3 6
@


1.172
log
@* Makefile: install target
@
text
@d2 2
@


1.171
log
@* We don't change size, so no sca_*.[ch] files.
@
text
@d3 2
@


1.170
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
@d2 2
@


1.169
log
@* inode.c (unionfs_setattr): using dtohd_index() instead of
unionfs_hidden_dentry() because an intermediate hidden dentry
could be NULL and we dont want PASSERT to oops on us
@
text
@d1 7
@


1.168
log
@* inode.c (unionfs_unlink_all): We shouldn't have negative dentries
unless they are the first one.
* inode.c (unionfs_inode_revalidate): PASSERT(hidden_inode) instead
of Oopsing.
@
text
@d1 6
@


1.167
log
@* inode.c (unionfs_rename_all): Typo in the clobbering unlink.
@
text
@d3 5
@


1.166
log
@* inode.c (unionfs_rename_all): No debug printks.

* unionfs.h (get_nlinks): Don't sum up non-directories.
@
text
@d3 2
@


1.165
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
@d3 3
@


1.164
log
@* inode.c (unionfs_rename_all): New rename that handles more cases,
revert code doesn't work yet.
@
text
@d1 7
@


1.163
log
@* inode.c (rmdir_all): exit if error is not -EROFS and not -ENOTEMPTY
@
text
@d1 5
@


1.162
log
@* inode.c (rmdir_all): exit from function and dont create whiteout
if vfs_rmdir returns error other than -EROFS
@
text
@d3 2
@


1.161
log
@* inode.c (unionfs_unlink_all): Unlock the directory on error.
* inode.c (unionfs_setattr): Lock on all attribute changes, not just
some.
@
text
@d1 6
@


1.160
log
@* inode.c (do_rename): Check renames based on index rather than
new_dentry which might not exist.
@
text
@d3 4
@


1.159
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
@d3 3
@


1.158
log
@* inode.c: Use an fd_set instead of an integer for tracking successful
renames.
* branchman.c: Don't allow more than FD_SETSIZE (1024) branches.
* unionctl.c: Specific message for exceeding FD_SETSIZE.
@
text
@d1 20
@


1.157
log
@* inode.c: Return ENAMETOOLONG when looking up ".wh.*"
@
text
@d1 7
@


1.156
log
@* unionctl.c: Add ioctl.
@
text
@d2 2
@


1.155
log
@* branchman.c: Don't allow branches without MAY_READ
* unionctl.c: Convert branch pathnames into index automatically.
* unionctl.c: Match the longest prefix of our path inside of
/proc/mounts instead of the path itself.  This is required so that
remove doesn't need to open the root of the union.
* unionctl.c: Remove branch ioctl and list branch configuration.
@
text
@d2 2
@


1.154
log
@* file.c: added CAP_SYS_ADMIN checks before calling unionfs ioctls

* uniondbg.c: now contains debugging related ioctls

* unionctl.c: now contains ioctls to add, remove and set branch permissions moved here
@
text
@d1 9
@


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

* fist_ioctl.c: remaining ioctls stay here
@
text
@d3 6
@


1.152
log
@* subr.c: making sure copyupuid, copyupgid and copyupmode are all specified
when copyup option is set to mounter.

* inode.c: implemented unionfs_rename_first()
@
text
@d3 4
@


1.151
log
@* inode.c: more places where we should exit if get an error other than
-EROFS in unlink/rmdir and related functions.

* subr.c: exit if get an error other than -EROFS when creating/deleting whiteouts
@
text
@d1 7
@


1.150
log
@* inode.c: making sure that we create/mkdir/symlink/mknod to the left only if the
error returned is -EROFS, otherwise passup
@
text
@d3 5
@


1.149
log
@* subr.c: use notify_change instead of directly modifying the inode
fields.
@
text
@d3 3
@


1.148
log
@updated man page with new options
@
text
@d6 3
@


1.147
log
@* main.c: added copyupuid, copyupgid and copyupmode mount options.
These options will specify the mode, uid and gid of copied-up files.
copyup option should be set to mounter.

* subr.c: using the above mount time values for copied-up files.

* unionfs.h added these values in the unionfs super block.
@
text
@d3 3
@


1.146
log
@* file.c (unionfs_flush): Flush all branches (only makes a
difference for directories).
@
text
@d1 10
@


1.145
log
@* super.c: Implemented unionfs_show_options. Can now view unionfs
mount time options in /proc/mounts
@
text
@d1 5
@


1.144
log
@* inode.c: using is_robranch_super instead of is_robranch in create, mkdir,
symlink, mknod operations, whenever we try to remove whiteouts if they exist.

* main.c: while parsing options using strcmp wherever we can, removed all magic
numbers, copyup options are now preserve, currentuser, mounter

* subr.c: when copying up the default mode should be original owner (preserve)
@
text
@d3 3
@


1.143
log
@* main.c: unionfs mount time flag changed from being an integer flag to
several text options that will together make up the flag.
@
text
@d1 10
@


1.142
log
@* branchman.c: Fixed off by one error when adding more than 8
branches.
@
text
@d1 5
@


1.141
log
@* main.c (unionfs_read_super): Error check to prevent oops on bad
mount-time options.
@
text
@d1 4
@


1.140
log
@* file.c: revalidate files when the are passed into our methods,
this allows copy-up of open files.  Yeah snapshots.
* dentry.c: Should not use d_hash and d_compare because Unionfs is
in charge of the namespace, not the lower-level file systems.
@
text
@d1 5
@


1.139
log
@* Unionfs now has split-view caches.  If compiled with
-DSPLIT_VIEW_CACHES, then Unionfs supports duplicating the super
block structure and dynamically selecting the correct structure to
use when crossing into the unionfs mountpoint.  Right now the
default behavior is that root has one view, and every other user
has another view.

If the super block is not duplicated then everything works as
before.
@
text
@d3 5
@


1.138
log
@* branchman.c: Super Duper works!  An ioctl can let you create a
super block that is a copy of the original.  When you stat the
mountpoint that super block is returned.  Now to fix the reference
counting bugs associated with unmount. :)
@
text
@d1 12
@


1.137
log
@Updates.
@
text
@d1 7
@


1.136
log
@* dentry.c (unionfs_d_revalidate): Fix refcounts.
* inode.c (unionfs_inode_revalidate): Fix reference counting.
@
text
@d1 4
@


1.135
log
@* inode revalidate "works" (e.g., no Oopses or other broken f/s
behavior), but has broken reference counting.
@
text
@d3 3
@


1.134
log
@* main.c (unionfs_interpose): Changed neg_dent_flag to which was
true if we did *not* have a negative dentry to is_negative_dentry
which *is* true if we have a negative dentry.  Fixed related
assert (which was ASSERT(1)).
@
text
@d1 5
@


1.133
log
@* inode.c (unionfs_lookup): Read through and simplified lookup by
removing duplicated code or nasty if/else statements when if
continue would work(to the tune of 20%).  Clarified comments as
well.  Now instead of being a 248 line monster it is a 199 line
monster.
* UNIONFS-TODO: We still need to solve whiteouts (i.e., you can
sucessfully stat a whiteout in Unionfs).  Note this is not
introduced by my changes.
@
text
@d2 6
@


1.132
log
@* branchman.c (unionfs_ioctl_rdwrbranch): Read/write branch setting.
@
text
@d1 10
@


1.131
log
@* branchman.c (unionfs_ioctl_addbranch): Refcount fix.
@
text
@d1 4
@


1.130
log
@* inode.c (do_rename): Correctly check is_readonly.
* fist.h (print_exit_pointer): Print out pointer using %p and
don't convert using PTR_ERR if it is not IS_ERR.
* subr.c (unionfs_create_parent_dir): Return error as pointer
@
text
@d1 4
@


1.129
log
@* subr.c (create_whiteout): Check branch before creating whiteouts.
* unionfs.h (VALID_MOUNT_FLAGS): Define valid mount flags in the
header, so main.c doesn't need to know all of them.
* doit.sh (FLAG): Default mode should be UNLINK_ALL, not
UNLINK_WHITEOUT.
* inode.c (unionfs_unlink): Unlink creates whiteout to the left.
@
text
@d3 5
@


1.128
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
@d1 9
@


1.127
log
@* main.c: Updated parsing code so that dirs can be specified as
b0=rw,b1,b2=ro,b3.  Defaults to rw.  Need to actually integrate
the permission checking code elsewhere.
@
text
@d1 12
@


1.126
log
@Fixed NFS related bug in unionfs_readdir()
@
text
@d1 6
@


1.125
log
@* subr.c (unionfs_copyup_dentry): fixed copyup bug, update bstart, bend
on error on vfs_create.
@
text
@d1 11
@


1.124
log
@* inode.c (unionfs_rename_all): fixed to call rename and create
whiteout for test_rename script.
@
text
@d1 5
@


1.123
log
@* subr.c (create_whiteout): removed unnecessary dput of hidden_dentry.
@
text
@d1 5
@


1.122
log
@* subr.c, inode.c, unionfs.h: Better function name and comments.
@
text
@d1 4
@


1.121
log
@* inode.c (unionfs_rename_all): changed to create whiteouts properly
on error conditions.
(unionfs_rename_whiteout): initilize parent dentry.
@
text
@d3 2
@


1.120
log
@* print.c (fist_print_dentry): added print for d_parent, aligned.

* subr.c (create_whiteout_left_parent): Added function for creating
whiteout in a parent directory by a char * string.
(unionfs_create_parent_dir): initialize dtohd before checking and
changing the bstart and bend for new dentry.
(unionfs_copyup_dentry): removed extra dput, since fput internally does
that.

* inode.c (unionfs_rename_whiteout): fixed to support copyup for EROFS.
@
text
@d1 6
@


1.119
log
@* subr.c (unionfs_create_parent_dir): Fixed updating bstart for copyup.
@
text
@d1 13
@


1.118
log
@* subr.c (unionfs_create_parent_dir): Updates bstart, bend, dputs
extra negative dentries.
@
text
@d1 4
@


1.117
log
@* subr.c (unionfs_create_parent_dir): Dput the previous negative dentry.

* inode.c (unionfs_create, unionfs_mkdir, unionfs_mknod, unionfs_link)
(unionfs_symlink): Removed dgets and dputs to handle errors in
vfs functions.  Now handled in unionfs_create_parent_dir.
(do_rename): removed dputs and dgets to balance with create_parent.
@
text
@d1 5
@


1.116
log
@*** empty log message ***
@
text
@d1 9
@


1.115
log
@* main.c (unionfs_parse_options): Fix some memory leaks in error paths.
@
text
@d1 4
@


1.114
log
@* main.c (unionfs_read_super): Fixed error path.
@
text
@d1 4
@


1.113
log
@* match-malloc.pl: document this script with a procedure telling
how to use malloc debugging.  Use -DFIST_MALLOC_DEBUG from now on.
@
text
@d1 4
@


1.112
log
@* fist.h, main.c, subr.c: turned off MEMORY_DEBUG.
@
text
@d1 5
@


1.111
log
@* main.c (unionfs_read_super): Memory fix.
@
text
@d1 4
@


1.110
log
@* inode.c, dentry.c, super.c: Memory Leak Checks.
@
text
@d1 4
@


1.109
log
@* subr.c: add transcation counter to malloc/free debugging.
@
text
@d1 4
@


1.108
log
@* match-malloc.pl: perl script to parse log output from
KMALLOC/KFREE macros, and report leaks etc.
@
text
@d3 2
@


1.107
log
@* inode.c (unionfs_lookup): changed the dput location of hidden
whiteout dentry in the code.
@
text
@d1 5
@


1.106
log
@* subr.c (check_empty): added list_del.

* inode.c (unionfs_lookup): kfree moved at out.
(unionfs_unlink_whiteout): added kfree.
@
text
@d1 5
@


1.105
log
@* subr.c (create_parent_dir()): added support for left to right copy up.
  Could be used in unionfs_link()
@
text
@d1 7
@


1.104
log
@* subr.c (check_whiteout): check for error on kmalloc.
(check_empty): moved kfree after 'out' label.

* main.c (unionfs_read_super): changed to dput superblock dentries on
error conditions.

* file.c (unionfs_filldir): check for error on kmalloc.
@
text
@d1 5
@


1.103
log
@* inode.c (unionfs_link()): unlinking .wh.foo (if exists)
 while creating link called foo
@
text
@d1 10
@


1.102
log
@* inode.c (unionfs_mkdir, unionfs_mknod): dget hidden_dentry if not
calling create_parent_dir.
@
text
@d1 5
@


1.101
log
@* inode.c (unionfs_mkdir, unionfs_mknod): removed extra dget before
removing whiteout.
@
text
@d3 3
@


1.100
log
@* inode.c (unionfs_symlink()):  removed extra dget() on hidden dentry
@
text
@d1 5
@


1.99
log
@* inode.c (unionfs_rename_all(), unionfs_whiteout(), do_rename()):
  balanced dgets with dputs
@
text
@d2 2
a3 3
	
	* inode.c (unionfs_rename_all(), unionfs_whiteout(), do_rename()):  
	balanced dgets with dputs
@


1.98
log
@* inode.c, dentry.c, unionfs.h: variable declaration re-shuffled to
@
text
@d1 5
@


1.97
log
@* subr.c (create_dir_whs()):  removed extra dget on hidden dentry

* file.c (unionfs_open()):  calling branchput if get an error in opening
  hidden dentry
@
text
@d1 5
@


1.96
log
@* inode.c: removed extra bstart, and comments.
@
text
@d1 7
@


1.95
log
@* file.c (unionfs_readdir): Added a bindex++ to {un,re}-reverted code.
Works now!! ;-)
@
text
@d3 2
@


1.94
log
@* subr.c (create_whiteout_left()):  synched reference counts for hidden_dentry;
  added a dget for the hidden_dentry
@
text
@d1 5
@


1.93
log
@* inode.c (unionfs_create): removed extra dget, dput for vfs_rename.
Removed extra dputs, d_drop on error.
@
text
@d1 5
@


1.92
log
@* subr.c (unionfs_create_parent_dir): removed extra dput on error in
lookup.
(create_whiteout_left): mode set to create whiteout.
(delete_whiteouts): removed dput on NULL hidden_dentry.
@
text
@d1 5
@


1.91
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
@d1 7
@


1.90
log
@* subr.c: added branchput for branchgets.

* print.c (fist_checkinode): fixed the count print condition.

* inode.c (unionfs_unlink_whiteout): changes to dget, notify_change.
match dget and dput.
@
text
@d1 9
@


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

* inode.c (unionfs_unlink_whiteout): Refcount fix.
@
text
@d1 9
@


1.88
log
@* file.c (unionfs_readdir): reverting back to file.c before changes
related to readdir_called flag.  Was going into an infinite loop due
to some condition.  The current version works fine.
@
text
@d1 6
@


1.87
log
@* subr.c (create_dir_whs_filldir): replaced "return err" with
"goto out", which was causing an infinite loop.
(check_whiteout, delete_whiteouts): replaced 'ret' with err.
@
text
@d3 4
@


1.86
log
@* subr.c (create_dir_whs): added filldir_called flag.
@
text
@d1 6
@


1.85
log
@* subr.c (check_empty): check if filldir is called or not.
@
text
@d1 4
@


1.84
log
@ChangeLog
@
text
@d1 4
@


1.83
log
@* file.c (unionfs_release): free resources on file close.
* file.c (unionfs_filldir): Print a warning on any duplicate, but don't
return -EIO.
* subr.c (create_whiteout_left): fix a refcount leak
@
text
@d1 4
@


1.82
log
@* file.c (unionfs_filldir()): fixed the rm -Rf -EIO, -ENOTEMPTY errors.
return -EIO ONLY if filldir gets a 'foo' (NOT a .wh.foo)  and 'foo' is already present in
the linked list.
@
text
@d1 7
@


1.81
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
@d1 9
@


1.80
log
@* unionfs.h: added copyup_dentry.

* subr.c (unionfs_copyup_dentry): added this function, called from
setattr.
(unionfs_copyup_file): modified, calls copyup_dentry internally. Added
checks before kfree.

* inode.c (unionfs_setattr): calls copyup when trying to setattr for a
RO branch.

* fist.h (FISTBUG): imported from ncryptfs.
@
text
@d1 8
a8 1
2003-09-17  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>
@


1.79
log
@updated Changelog
@
text
@d1 14
@


1.78
log
@* subr.c: fixed indentation for readdir actors

* inode.c (unionfs_rmdir): create_whiteout can just not do anything

* unionfs.h (itohi, dtohd): Reference count check before returning
to user space.
@
text
@d1 4
@


1.77
log
@* inode.c (unionfs_create): removed a dget, was giving a seg fault.
(unionfs_lookup): error check for lookup_one_len added.
(unionfs_rmdir_all): checking if rmdir failed on leftmost, and if it
had whiteouts, remove them, and call vfs_rmdir again, to create
whiteout.
@
text
@d1 10
@


1.76
log
@main.c (unionfs_interpose()):  removed unnecessary fist_prints()
@
text
@d1 8
@


1.75
log
@* print.c (fist_print_dentry() and fist_print_inode()):  removed the anding code when printing
    the mode of the inode. Was printing a negative mode value.
@
text
@d3 5
@


1.74
log
@* subr.c: fput for copied up file not required.
@
text
@d1 6
@


1.73
log
@* print.c: print level 9 changed to 8.  Level 9 doesn't get printed.
@
text
@d3 2
@


1.72
log
@* unionfs.h (IS_COPYUP_ERR, IS_WRITE_FLAG): Added.

* subr.c (unionfs_copyup_file): Checks added, replaced variables, fixed.
* inode.c (unionfs_permission): One code for files and directories.
Error bypassed for -EROFS, but not for leftmost branch.

* file.c (unionfs_open): Check added for RO partition, and call copyup.
@
text
@d3 2
d8 1
@


1.71
log
@* inode.c (unionfs_mknod):  done. removes whiteout if present. format similar to
    unionfs_mkdir(). Tested.
@
text
@d1 10
@


1.70
log
@* inode.c (do_rename): Fixed parent directory for lookup of whiteout.
(unionfs_rename_whiteout): Added case for DELETE_WHITEOUT for rename.
@
text
@d1 6
@


1.69
log
@* file.c (unionfs_filldir): Remove a duplicate from the list if
filldir fails.

* dentry.c (unionfs_d_revalidate, unionfs_d_compare, unionfs_d_hash):
Turned into utility functions for printing to reduce volume of debug
output.
@
text
@d1 6
@


1.68
log
@(unionfs_rename_all): check if error not occured in bstart of
destination.
(unionfs_rename_all): whiteout is always create in the bstart of
source, not to go to left of it.
@
text
@d1 9
@


1.67
log
@* inode.c (unionfs_rename_all): fix for bindex counter.
@
text
@d4 4
@


1.66
log
@* Detect EIO on single directories by doing duplicate elimination
routine.
@
text
@d1 4
@


1.65
log
@* inode.c: added dput for hidden_dentry, whiteout_dentry that
are not used after lookup.

* subr.c: added dput for hidden_dentry, whiteout_dentry that
are not used after lookup.
@
text
@d1 5
@


1.64
log
@* PASSERT is for pointers.  ASSERT is for non-pointer conditions.
@
text
@d1 8
@


1.63
log
@* main.c: Sanity checks on flag=.
@
text
@d1 4
@


1.62
log
@* subr.c (create_whiteout_left): Balanced a dput w/ a dget.

* print.c: exit should be level 5, not 4.  hidden_dentries/inodes
are level 9 instead of 8.

* Changed ASSERT to Oops when the pointer is poisoned.

* Changed ASSERT(foo != NULL) to ASSERT(foo)

* Default flag is 0x0.
@
text
@d3 2
@


1.61
log
@* inode.c (unionfs_create, unionfs_symlink): whiteouts truncated to
zero and ctime updated.
@
text
@d1 14
@


1.60
log
@unionfs.h: added flags COPYUP_OWNER, COPYUP_FS_MOUNTER,
           redefined flags.
@
text
@d3 3
@


1.59
log
@* inode.c: unlock parent added.
@
text
@d3 3
@


1.58
log
@* file.c (unionfs_open): check for error and call copyup on EROFS.
(unionfs_mkdir): restructured code.
@
text
@d3 2
@


1.57
log
@* inode.c (unionfs_unlink): changed the function like rmdir. Used
rename instead of unlink, create for whiteouts.
@
text
@d1 3
a3 1
2003-09-11  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Hari, Zubair.
d7 1
@


1.56
log
@* unionfs.h (GLOBAL_ERR_PASSUP): removed DELETE_ERR_PASSUP.
GLOBAL_ERR_PASSUP indicates whether to pass error back or create
whiteouts/try again.

* inode.c (unionfs_create, unionfs_symlink, unionfs_link): restructured
changed *_ERR_PASSUP to GLOBAL_ERR_PASSUP.
@
text
@d3 3
@


1.55
log
@* unionfs.h (GLOBAL_ERR_PASSUP): added, for all functions, whether, on
error, should passup or try to make up for error encountered.

* inode.c (unionfs_symlink): updating bstart, bend for symlink create.
Restructured the code.
@
text
@d1 8
a8 1
2003-09-11  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>, Hari.
@


1.54
log
@* inode.c (unionfs_symlink):  done. removes whiteout if present. same format
as in unionfs_create()

* inode.c (unionfs_link):  creating destination path in source's branch instead of vice versa

* inode.c (unionfs_rmdir_all):  removed unneccessary d_drop() call. unionfs_rmdir()
 calls it at the end
@
text
@d1 8
@


1.53
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
@d1 11
@


1.52
log
@* subr.c (check_empty): Check if a directory is empty.
@
text
@d3 5
@


1.51
log
@* unionfs.h: unionfs_interpose now returns void.

* subr.c (unionfs_partial_lookup): removed extra dput.
unionfs_reinterpose now returns void.

* main.c (unionfs_reinterpose): is now a void function and igrab was
called twice for already existing hidden inode. Fixed.

* file.c (single_branch_filldir): removed fist_dprint printed extra
newline character on commandline during readdir.
@
text
@d1 4
@


1.50
log
@* unionfs.h (COPYUP_CURRENT): removed multiple definition.
@
text
@d1 12
a12 1
2003-09-10  Puja Gupta  <puja@@idol.fsl.cs.sunysb.edu>
@


1.49
log
@* subr.c (unionfs_full_lookup): Removed this function, was similar to
unionfs_partial_lookup.

* inode.c (unionfs_unlink): added if-else for three different options
for unlink, and also for error handling (passup or whiteout). Replaced
unionfs_full_lookup with unionfs_partial_lookup (Both functions were
same, just change in name).  Added dget, dput at appropriate places.

* unionfs.h (DELETE_FIRST, DELETE_WHITEOUT, DELETE_ERR_PASSUP): added,
and removed all other unlink flags.
@
text
@d1 4
@


1.48
log
@* inode.c (unionfs_lookup):  returning EIO for directory whiteout.
@
text
@d1 14
@


1.47
log
@
mkdir and create files works. Trivial tests done.
@
text
@d1 4
@


1.46
log
@* file.c (unionfs_write): Fixed positioning code.
@
text
@d1 5
@


1.45
log
@* inode.c (unionfs_create): added dget, get_parent, double_lock and
error check for vfs_rename of whiteouts. Added d_drop for any negative
dentry at the end of function.
(unionfs_mkdir): added error check for vfs_unlink of whiteouts,
unionfs_interpose, create_dir_whs.  Removed multiple unlock_dir.
@
text
@d1 4
@


1.44
log
@* subr.c (create_dir_whs_filldir, create_whiteout_left):
changed char name[PATH_MAX] to char *name.

* inode.c (unionfs_create, unionfs_lookup, unionfs_unlink)
(unionfs_mkdir): changed char name[PATH_MAX] to char *name.
(unionfs_rmdir): removed unused name, wh_name.
@
text
@d3 6
@


1.43
log
@* inode.c (unionfs_create): reverted back to the loop for create
from bstart to zeroth branch.
@
text
@d1 9
@


1.42
log
@	* inode.c: file to file rename done.

	major items left:
	- dir to dir rename

	minor items left:
	- mknod, symlink
@
text
@d1 5
@


1.41
log
@* file.c (unionfs_filldir, single_branch_filldir):
Removed memory leak for debug output in filldirs.

(unionfs_readdir): Return -failure from filldir (previously our
filldir had no error propagation).
@
text
@d1 10
@


1.40
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
@d2 7
@


1.39
log
@* super.c (unionfs_clear_inode): Fixed cleanup of stale inodes.

* fist.h (ASSERT2): Macro to print out caller when we fail.

* Changed ASSERT2's to ASSERT, since they weren't really being
used as an ASSERT2.

* unionfs.h (itohi, dtohd): Converted to a function, added an
ASSERT2 to make sure we don't underflow the array.
@
text
@d1 14
@


1.38
log
@
* subr.c: removed the unnecessary vfs_rename() function call in
	create_whiteout_left(). Doing vfs_create() directly.

* inode.c: fixes in lookup(). Started on unionfs_rename().
VS: ----------------------------------------------------------------------
@
text
@d1 12
@


1.37
log
@* subr.c: added function int remove_whiteouts(dentry_t *dentry,
dentry_t *hidden_dentry, int bindex)
Called by unionfs_rmdir(). Does vfs_readdir() and then unlinks all
whiteouts entries in it.
@
text
@d1 8
d13 2
a14 1
	Called by unionfs_rmdir(). Does vfs_readdir() and then unlinks all whiteouts entries in it.
@


1.36
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
@d1 6
@


1.35
log
@* inode.c: unionfs_mkdir() done and works as per updated design.
Creating whiteout entries for all entires to the right. Details on this
are in the updated function_description.html file

* file.c: a separate filldir function for single branch directory.
Ignoring whiteout entries.

* subr.c: added a function: int create_whs_right(dentry_t *dentry, int cur_index)
Does a vfs_readdir on all directories starting from cur_index + 1 and creates
whiteout entries in cur_index (called in unionfs_mkdir()). Details on this	are in the updated function_description.html file preliminary cases are working as expected

Left
- rename
- mknod, symlink
@
text
@d1 11
@


1.34
log
@* file.c: Add branch ioctl and trimmed unionfs_dir_fops.

* fist.h: Structure for add branch ioctl.

* fist_ioctl.c: Add branch and cleaner branchcount ioctl.
@
text
@d1 20
@


1.33
log
@* dentry.c (unionfs_d_revalidate): Do revalidation of dentries,
we now can remove the leftmost branch and expose old contents.
@
text
@d1 8
@


1.32
log
@* inode.c: unionfs_unlink() implemented as per new design specs
	(ignoring intermiate directories for now)

	* subr.c: added create_whiteout_left(dentry, index) function: creates
	a whiteout in index, on error it proceeds to the left.

	* file.c: in fill_dir() ignoring whiteout entries

	Left
	- mkdir, mknod, symlink
	- rmdir
	- rename
@
text
@d1 5
@


1.31
log
@* Branch removal sort of works.
@
text
@d1 16
d23 2
a24 2
	* inode.c: unionfs_create() implemented as per new design specs. If found a .wh.foo entry, 
	vfs_rename it to foo. 
d26 2
a27 2
	* inode.c: unionfs_lookup() implemented as per new design specs. If found a whiteout entry,
	just stop lookup
d35 2
a36 2
	* file.c: calling unionfs_copyup_file() in unionfs_open() if open with specified flags fails with
	the current underlying file
@


1.30
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
@d1 4
@


1.29
log
@* inode.c (unionfs_inode_revalidate): Refresh inode from lower level.

* fist_ioctl.c: Increment super generation number.

* file.c (unionfs_ioctl_incgen): Increment super generation number.
@
text
@d1 27
@


1.28
log
@* file.c: Branch reference counters updated on open/close.  Need to figure
out how do to update them when a unionfs directory becomes the cwd of a
process.

* doit.sh: Source doitopts or doitopts.`uname -n` so different developers
can have different setups, w/o changing CVS.

* unionfs.h: Added generation number to super block, inode, and dentries.

* attach.c: Not used.
@
text
@d1 8
@


1.27
log
@* subr.c: some fixes in unionfs_copyup_file() (untested yet)

* file.c: calling unionfs_copyup_file() if write() fails on the leftmost file.
Failure could result because of read-only permissions on the file so probably
should do copy up only if branch is mounted RO.

* unionfs.h: modified definition for unionfs_copyup_file()
@
text
@d1 13
@


1.26
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
@d3 9
@


1.25
log
@* unionfs.h: added definition for unionfs_create_whiteout.
@
text
@d1 11
@


1.24
log
@* inode.c: reverting back to old copy without changes to rename.
@
text
@d1 4
@


1.23
log
@* unionfs.h (UNLINK_WHITEOUT, UNLINK_ALL_FIRST, UNLINK_ERR): New flags
for handling various unlink options.

* main.c (unionfs_parse_options): fixed check for getting mount flags.

* inode.c (unionfs_unlink): added unlink for whiteout. If flag is set
for UNLINK_WHITEOUT, try to create whiteout in branches to left, create
recursive subdirectories.  Also added check for various flags for
unlink_first or unlink_all, and how to handle error on unlink.
(unionfs_create_parent_dir): check in for loop fixed.
@
text
@d1 4
@


1.22
log
@* file.c: readdir is working fine with the hashtable in the private
data of unionfs file.
diff -ru on gcc tarball is successful

* inode.c: implemented option 2 of link(), recursively creating source
path in destination branch when branches are different

* unionfs.h: added two mount time flags
LINK_EXDEV: just return -EXDEV when dentries are on different branches
LINK_RECURSIVE: recursively create source path in target branch
@
text
@d1 13
@


1.21
log
@* file.c: readdir/filldir's linked list converted into a hashtable of
	  size HASHTABLE_SIZE
	  Duplicate elimation is working. Still to test the gcc tarball.

* unionfs.h: converted dir_list list head to an array of list heads of size
	     HASHTABLE_SIZE
@
text
@d1 13
@


1.20
log
@* unionfs.h: changed to new flag, CREATE_RW_ERR, UNLINK_WHITEOUT,
UNLINK_ERR.  Function definition for unionfs_partial_lookup.

* inode.c (unionfs_partial_lookup): added, called from unlink. Looks up
the remaining files that were not looked up in unionfs_lookup.
(unionfs_unlink): code now transferred to unionfs_partial_lookup.
(unionfs_create): flag name is CREATE_RW_ERR.
@
text
@d1 10
@


1.19
log
@* inode.c (unionfs_create): changed to new flag values.

* unionfs.h (IS_SET): changed flags to be exclusive. Also, changed
IS_SET to work on place value of bit.
@
text
@d3 8
@


1.18
log
@* file.c (unionfs_open): removed ftohd_index(file, bindex) =  NULL.
unionfs_getdents_callback now has file_t *.
(unionfs_filldir, unionfs_readdir): changed the global list_head for
duplicate elimination to have a list_head in private data of file. So,
the list of name, namelen is stored in this new list_head, and compared
against this.

* unionfs.h: added struct filldir_node to private data of file.
Thus, every file has unique and seperate list for readdir.

* doit.sh: "flag=" instead of "flags=".
@
text
@d1 7
@


1.17
log
@
option 1 of unionfs_link done: Return -EXDEV if source and dest dentries
are on different branches
starting option 2: if source and dest branches are different then,
creating destination path in the source branch then call vfs_link()
@
text
@d1 14
a19 3
	
2003-07-28  Mohammad Nayyer Zubair <mzubair@@ic.sunysb.edu>
	
a22 1
	
@


1.16
log
@
* unionfs.h: added a simple function which returns the sum of
  all the underlying inodes' nlink value

* inode.c: calling the above function wherever nlinks value was being set
@
text
@d3 6
@


1.15
log
@* unionfs.h: #defines for MOUNT_FLAG, CREATE_PASSUP,
CREATE_RW_ERR_PASSUP, CREATE_TRY_LEFT and IS_SET.

* main.c (unionfs_parse_options): parse the mount time flag and
initialize it.

* inode.c (unionfs_create): added handling of partial errors to handle
various cases: 1) Try to Left (default), 2) PassUp, 3) If EPERM on RW
branch, PassUp.

* doit.sh: changed mount options to include "flag=".
@
text
@d1 7
@


1.14
log
@* inode.c (unionfs_setattr): added check for NULL hidden dentry.
(unionfs_inode_revalidate): added ASSERT2 for inode.
@
text
@d1 14
@


1.13
log
@*  script now overrides contents of non-leftmost duplicate files with string "hello there"

* file.c:  in unionfs_open, now only opening leftmost file instead of opening all of the hidden files.
	   Opening all directories though.

* inode.c: setattr function done. Assigning 'correct' value to the n_links variable in the unionfs inode
           In inode_revalidate function  assigning 'correct' value to the n_links variable in the unionfs inode.

* main.c:  just moved sum_nlinks variable to the beginning of the interpose function

/ diff -ru on a randomly distributed (recursive) gcc tarball is failing. Some duplicate files are being listed.
	   'ls' on the directory containing above duplicate files also lists the files twice. Files have same
	   unionfs inode. Checking out whats happening.
@
text
@d1 5
@


1.12
log
@*** empty log message ***
@
text
@d1 16
d18 1
@


1.11
log
@* unionfs.h: init_file_array is now init_ftohf_ptr, init_inode_array is
now init_itohi_ptr, init_sb_array is now init_stohs_ptr, added
init_stohiddenmnt_ptr, init_dentry_info, init_dentry_array is now
init_dtohd_ptr. *** All this  makes sure that all allocated memory
is initialized to zero before its being used.

* super.c (unionfs_read_inode): init_inode_array is now init_itohi_ptr.

* main.c (unionfs_parse_options): init_priv_inode is now
init_dentry_info.
(unionfs_parse_options): memset, init_stohs_ptr, init_stohiddenmnt_ptr
added for initialize memory allocated to NULL.
(unionfs_read_super): init_dtohd_ptr added to initialize to NULL.

* inode.c (unionfs_lookup): init_dentry_array is now init_dtohd_ptr.

* file.c (unionfs_open): added init_ftohf_ptr, setting underlying
file pointer to NULL.
@
text
@d1 8
@


1.10
log
@* inode.c (unionfs_create): get rid of the hidden dentry that lead
to an unsuccessful attempt to create. Update bstart, bend accordingly.
(unionfs_create_parent_dir): added "count--" for proper pointer
position. Updated private data, bstart for the dentry and inode of
intermediate directories created.  Also, updated bend for the negative
dentry returned from this function to create.

* main.c (unionfs_interpose): removed comments and extra line spaces.
@
text
@d1 21
@


1.9
log
@* unionfs.h (MAX_DIR_CREATE): added MAX_DIR_CREATE for the number of
directories allowed to be created in recursive subdir creation.
Should be dynamic.

* inode.c (unionfs_create): changed to handle partial error by
recursively creating directory to left branches.
(unionfs_create_parent_dir): added this function, it creates
hidden directory path for a given parent inode and dentry in
specified branch. (Still to test)
@
text
@d1 11
@


1.8
log
@* inode.c <unionfs_lookup>:  Found a bug while mounting unionfs on
  a randomly distributed (recursive) am-utils tarball on 5
  branches.

  We were not memsetting the array of pointers to hidden
  objects after kmallocing a CUR_MAX_BRANCH  number of pointers for
  dentry, inode, file and sb.

  They were assumed to be NULL in lookup and hence were not
  explicitly set to NULL in the array when requireed.


* unionfs.h
  Added macros which initialize hidden arrays to NULL
@
text
@d1 12
@


1.7
log
@* inode.c (unionfs_lookup): added few debug statements.
(unionfs_unlink): Since lookup for file had just the leftmost
entry, unlink now internally calls lookup for all remaining branches.
And the current policy for unlink is, unlink all. (Tested).

* unionfs.h: added definition for unionfs_reinterpose.

* main.c (unionfs_reinterpose): This new function takes a dentry
with leftmost hidden inode interposed, and reinterposes the newly
lookedup hidden inodes in remaining branches.  Called from
unionfs_unlink.
@
text
@d1 19
@


1.6
log
@
mount -t unionfs -o dirs=b1:b2:b3:b4:b5:b6:b7,debug=18 null /mnt/unionfs

am-utils' files/directories were divided equally among 7 branches (All
branches having same number of files/dirs except last branch if cant divide equally)

tar cvf am-utils-6.1-20030713.tar.gz /mnt/unionfs/*

gives the same tarball (same size) as the original tarball.


diff -ruN /mnt/unionfs/* am-utils-6.1-20030713

gives no output, indicating no difference between the two


buildall, configure and then make all work without error on /mnt/unionfs,
same number of files are produced
@
text
@d1 18
@


1.5
log
@* inode.c (unionfs_lookup): fixed initialization of negative dentry.

* print.c (fist_print_inode), (fist_print_file),(fist_print_dentry),
@
text
@d27 10
@


1.4
log
@printing debugging info
@
text
@d1 7
@


1.3
log
@ChangeLog updated
@
text
@d13 8
a20 1
	
@


1.2
log
@printing format improvements in print.c
@
text
@d10 3
a12 3
		fist_print_dentry():  prints underlying dentry if any
		fist_print_inode():  prints underlying files if any
		fist_print_inode():  prints underlying inodes if any
@


1.1
log
@* super.c (unionfs_statfs): check for duplicate superblock data being
  added.
  (unionfs_umount_begin): check for NULL hidden_sb, hidden_sb->s_op.
@
text
@d7 7
@

