Update unlink/rmdir to reflect new policy for whiteout creation
authorErez Zadok <ezk@cs.sunysb.edu>
Sun, 25 Nov 2007 19:46:53 +0000 (14:46 -0500)
committerErez Zadok <ezk@cs.sunysb.edu>
Sun, 25 Nov 2007 19:46:53 +0000 (14:46 -0500)
Now we don't create a whiteout on the branch in which the object is being
deleted, if there's no chance that an even lower-priority branch could have
the same named file exposed.

t-rmdir.sh
t-unlink-whiteout.sh

index 93a6b586677b2abd705e2adf1118292e6580e3bf..b7f46f281791d6a560a3c5ff11793c5eb1c439ce 100755 (executable)
@@ -7,9 +7,7 @@ function directories {
 cat <<FILES
 d $TOP_LOWER_DIR
 d $LOWER_DIR0
-d $LOWER_DIR0/d6
 d $LOWER_DIR1
-d $LOWER_DIR1/d5
 d $LOWER_DIR1/d1
 d $LOWER_DIR1/d1/d2
 d $LOWER_DIR1/d1/d2/d3
@@ -35,6 +33,9 @@ FILES
 function beforefiles {
 cat <<FILES
 d $LOWER_DIR0/d1
+d $LOWER_DIR0/d6
+d $LOWER_DIR1/d5
+d $LOWER_DIR2/d7
 d $LOWER_DIR0/d1/d2
 f $LOWER_DIR0/d1/.wh.x
 f $LOWER_DIR0/d1/d2/.wh.d3
@@ -47,18 +48,20 @@ function afterfiles_rw {
 cat <<FILES
 
 f $LOWER_DIR0/.wh.d1
-f $LOWER_DIR0/.wh.y
+f $LOWER_DIR1/.wh.d5
 
 FILES
 }
 
 
-
 function afterfiles_ro {
 cat <<FILES
 
+d $LOWER_DIR1/d5
+d $LOWER_DIR2/d7
 f $LOWER_DIR0/.wh.d1
-f $LOWER_DIR0/.wh.y
+f $LOWER_DIR0/.wh.d5
+f $LOWER_DIR0/.wh.d7
 
 FILES
 }
@@ -72,6 +75,9 @@ mount_union "" $LOWER_DIR0 $LOWER_DIR1 $LOWER_DIR2
 mkdir $MOUNTPOINT/y
 mkdir $MOUNTPOINT/d1/x
 mkdir $MOUNTPOINT/d1/d2/d3
+rmdir $MOUNTPOINT/d5
+rmdir $MOUNTPOINT/d6
+rmdir $MOUNTPOINT/d7
 rm -fr $MOUNTPOINT/d1
 rm -fr $MOUNTPOINT/y
 
@@ -88,6 +94,9 @@ mount_union "" $LOWER_DIR0 $LOWER_DIR1=ro $LOWER_DIR2=ro
 mkdir $MOUNTPOINT/y
 mkdir $MOUNTPOINT/d1/x
 mkdir $MOUNTPOINT/d1/d2/d3
+rmdir $MOUNTPOINT/d5
+rmdir $MOUNTPOINT/d6
+rmdir $MOUNTPOINT/d7
 rm -fr $MOUNTPOINT/d1
 rm -fr $MOUNTPOINT/y
 
index d12ea2b06dbc1024a4244b2be073d90e72ee98e1..5f6619a631f9447a3a137ed883c314a8269ee64e 100755 (executable)
@@ -73,16 +73,11 @@ cat <<FILES
 f $LOWER_DIR0/.wh.a
 f $LOWER_DIR1/a
 
-f $LOWER_DIR1/.wh.b
-
 f $LOWER_DIR0/.wh.c
 f $LOWER_DIR1/c
 
 f $LOWER_DIR0/.wh.d
 
-f $LOWER_DIR1/d1/d2/.wh.e
-
-f $LOWER_DIR1/.wh.g
 FILES
 }
 
@@ -113,7 +108,6 @@ f $LOWER_DIR0/a
 f $LOWER_DIR1/a
 
 f $LOWER_DIR0/b
-f $LOWER_DIR1/.wh.b
 
 f $LOWER_DIR0/c
 f $LOWER_DIR1/c
@@ -121,10 +115,8 @@ f $LOWER_DIR1/c
 f $LOWER_DIR0/d
 
 f $LOWER_DIR0/d1/d2/e
-f $LOWER_DIR1/d1/d2/.wh.e
 
 f $LOWER_DIR0/g
-f $LOWER_DIR1/.wh.g
 FILES
 }