SOURCES (LINUX_2_6): kernel-unionfs.patch - updated to unionfs-2.5.1_for_2....

baggins baggins at pld-linux.org
Thu Mar 12 11:27:13 CET 2009


Author: baggins                      Date: Thu Mar 12 10:27:13 2009 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- updated to unionfs-2.5.1_for_2.6.28.1.diff

---- Files affected:
SOURCES:
   kernel-unionfs.patch (1.1.2.3 -> 1.1.2.4) 

---- Diffs:

================================================================
Index: SOURCES/kernel-unionfs.patch
diff -u SOURCES/kernel-unionfs.patch:1.1.2.3 SOURCES/kernel-unionfs.patch:1.1.2.4
--- SOURCES/kernel-unionfs.patch:1.1.2.3	Sun Oct 19 19:11:24 2008
+++ SOURCES/kernel-unionfs.patch	Thu Mar 12 11:27:08 2009
@@ -532,10 +532,10 @@
 +
 +For more information, see <http://unionfs.filesystems.org/>.
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 0a613cb..d811b00 100644
+index fbc8fa5..9b7a352 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -4144,6 +4144,14 @@ L:	linux-kernel at vger.kernel.org
+@@ -4294,6 +4294,14 @@ L:	linux-kernel at vger.kernel.org
  W:	http://www.kernel.dk
  S:	Maintained
  
@@ -547,14 +547,14 @@
 +T:	git git.kernel.org/pub/scm/linux/kernel/git/ezk/unionfs.git
 +S:	Maintained
 +
- USB ACM DRIVER
- P:	Oliver Neukum
- M:	oliver at neukum.name
+ UNSORTED BLOCK IMAGES (UBI)
+ P:	Artem Bityutskiy
+ M:	dedekind at infradead.org
 diff --git a/fs/Kconfig b/fs/Kconfig
-index abccb5d..3d9310a 100644
+index 522469a..03b3ebf 100644
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -981,6 +981,47 @@ config CONFIGFS_FS
+@@ -752,6 +752,47 @@ config CONFIGFS_FS
  
  endmenu
  
@@ -602,7 +602,7 @@
  menu "Miscellaneous filesystems"
  
  config ADFS_FS
-@@ -1033,18 +1074,6 @@ config AFFS_FS
+@@ -804,18 +845,6 @@ config AFFS_FS
  	  To compile this file system support as a module, choose M here: the
  	  module will be called affs.  If unsure, say N.
  
@@ -622,7 +622,7 @@
  	tristate "Apple Macintosh file system support (EXPERIMENTAL)"
  	depends on BLOCK && EXPERIMENTAL
 diff --git a/fs/Makefile b/fs/Makefile
-index a1482a5..9bf3915 100644
+index d9f8afe..e7b036c 100644
 --- a/fs/Makefile
 +++ b/fs/Makefile
 @@ -86,6 +86,7 @@ obj-$(CONFIG_ISO9660_FS)	+= isofs/
@@ -647,7 +647,7 @@
  out:
  	return rc;
 diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
-index 89209f0..d99a83e 100644
+index 5e78fc1..3f13ea1 100644
 --- a/fs/ecryptfs/inode.c
 +++ b/fs/ecryptfs/inode.c
 @@ -589,9 +589,9 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,
@@ -662,7 +662,7 @@
  out_lock:
  	unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry);
  	dput(lower_new_dentry->d_parent);
-@@ -913,7 +913,7 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia)
+@@ -914,7 +914,7 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia)
  	rc = notify_change(lower_dentry, ia);
  	mutex_unlock(&lower_dentry->d_inode->i_mutex);
  out:
@@ -672,10 +672,10 @@
  }
  
 diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
-index 448dfd5..db2db5d 100644
+index 64d2ba9..f91feb3 100644
 --- a/fs/ecryptfs/main.c
 +++ b/fs/ecryptfs/main.c
-@@ -197,7 +197,7 @@ int ecryptfs_interpose(struct dentry *lower_dentry, struct dentry *dentry,
+@@ -193,7 +193,7 @@ int ecryptfs_interpose(struct dentry *lower_dentry, struct dentry *dentry,
  		d_add(dentry, inode);
  	else
  		d_instantiate(dentry, inode);
@@ -685,10 +685,10 @@
  	 * other metadata */
  	fsstack_copy_inode_size(inode, lower_inode);
 diff --git a/fs/namei.c b/fs/namei.c
-index 4ea63ed..3c8e0d6 100644
+index 3ca2574..c2f5770 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
-@@ -392,6 +392,7 @@ void release_open_intent(struct nameidata *nd)
+@@ -379,6 +379,7 @@ void release_open_intent(struct nameidata *nd)
  	else
  		fput(nd->intent.open.file);
  }
@@ -697,7 +697,7 @@
  static inline struct dentry *
  do_revalidate(struct dentry *dentry, struct nameidata *nd)
 diff --git a/fs/splice.c b/fs/splice.c
-index 1bbc6f4..7de91ce 100644
+index 1eaef06..53263ac 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
 @@ -887,8 +887,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
@@ -711,7 +711,7 @@
  {
  	int ret;
  
-@@ -904,13 +904,14 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -907,13 +907,14 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  
  	return out->f_op->splice_write(pipe, out, ppos, len, flags);
  }
@@ -729,7 +729,7 @@
  {
  	int ret;
  
-@@ -926,6 +927,7 @@ static long do_splice_to(struct file *in, loff_t *ppos,
+@@ -929,6 +930,7 @@ static long do_splice_to(struct file *in, loff_t *ppos,
  
  	return in->f_op->splice_read(in, ppos, pipe, len, flags);
  }
@@ -737,7 +737,7 @@
  
  /**
   * splice_direct_to_actor - splices data directly between two non-pipes
-@@ -995,7 +997,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
+@@ -998,7 +1000,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
  		size_t read_len;
  		loff_t pos = sd->pos, prev_pos = pos;
  
@@ -746,7 +746,7 @@
  		if (unlikely(ret <= 0))
  			goto out_release;
  
-@@ -1054,7 +1056,7 @@ static int direct_splice_actor(struct pipe_inode_info *pipe,
+@@ -1057,7 +1059,7 @@ static int direct_splice_actor(struct pipe_inode_info *pipe,
  {
  	struct file *file = sd->u.file;
  
@@ -755,7 +755,7 @@
  }
  
  /**
-@@ -1128,7 +1130,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
+@@ -1131,7 +1133,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
  		} else
  			off = &out->f_pos;
  
@@ -764,7 +764,7 @@
  
  		if (off_out && copy_to_user(off_out, off, sizeof(loff_t)))
  			ret = -EFAULT;
-@@ -1149,7 +1151,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
+@@ -1152,7 +1154,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
  		} else
  			off = &in->f_pos;
  
@@ -774,15 +774,15 @@
  		if (off_in && copy_to_user(off_in, off, sizeof(loff_t)))
  			ret = -EFAULT;
 diff --git a/fs/stack.c b/fs/stack.c
-index 67716f6..a66ff6c 100644
+index 67716f6..cc1443d 100644
 --- a/fs/stack.c
 +++ b/fs/stack.c
 @@ -1,24 +1,82 @@
 +/*
-+ * Copyright (c) 2006-2007 Erez Zadok
++ * Copyright (c) 2006-2009 Erez Zadok
 + * Copyright (c) 2006-2007 Josef 'Jeff' Sipek
-+ * Copyright (c) 2006-2007 Stony Brook University
-+ * Copyright (c) 2006-2007 The Research Foundation of SUNY
++ * Copyright (c) 2006-2009 Stony Brook University
++ * Copyright (c) 2006-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -885,11 +885,11 @@
  EXPORT_SYMBOL_GPL(fsstack_copy_attr_all);
 diff --git a/fs/unionfs/Makefile b/fs/unionfs/Makefile
 new file mode 100644
-index 0000000..fc98b38
+index 0000000..5251b87
 --- /dev/null
 +++ b/fs/unionfs/Makefile
 @@ -0,0 +1,17 @@
-+UNIONFS_VERSION="2.5 (for 2.6.27-rc6)"
++UNIONFS_VERSION="2.5.1 (for 2.6.28.1)"
 +
 +EXTRA_CFLAGS += -DUNIONFS_VERSION=\"$(UNIONFS_VERSION)\"
 +
@@ -908,12 +908,12 @@
 +endif
 diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
 new file mode 100644
-index 0000000..ed3604e
+index 0000000..63ee085
 --- /dev/null
 +++ b/fs/unionfs/commonfops.c
 @@ -0,0 +1,879 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -922,8 +922,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -1793,12 +1793,12 @@
 +}
 diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
 new file mode 100644
-index 0000000..ae6ea2b
+index 0000000..c7d3f9f
 --- /dev/null
 +++ b/fs/unionfs/copyup.c
-@@ -0,0 +1,879 @@
+@@ -0,0 +1,888 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -1807,8 +1807,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -2317,8 +2317,17 @@
 +		dput(old_lower_dentry);
 +	kfree(symbuf);
 +
-+	if (err)
++	if (err) {
++		/*
++		 * if directory creation succeeded, but inode copyup failed,
++		 * then purge new dentries.
++		 */
++		if (dbstart(dentry) < old_bstart &&
++		    ibstart(dentry->d_inode) > dbstart(dentry))
++			__clear(dentry, NULL, old_bstart, old_bend,
++				unionfs_lower_dentry(dentry), dbstart(dentry));
 +		goto out;
++	}
 +	if (!S_ISDIR(dentry->d_inode->i_mode)) {
 +		unionfs_postcopyup_release(dentry);
 +		if (!unionfs_lower_inode(dentry->d_inode)) {
@@ -2678,15 +2687,15 @@
 +}
 diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c
 new file mode 100644
-index 0000000..db62d22
+index 0000000..3fd641a
 --- /dev/null
 +++ b/fs/unionfs/debug.c
 @@ -0,0 +1,533 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -3217,12 +3226,12 @@
 +}
 diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
 new file mode 100644
-index 0000000..583f4a4
+index 0000000..85b5d3c
 --- /dev/null
 +++ b/fs/unionfs/dentry.c
 @@ -0,0 +1,397 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -3231,8 +3240,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -3620,12 +3629,12 @@
 +};
 diff --git a/fs/unionfs/dirfops.c b/fs/unionfs/dirfops.c
 new file mode 100644
-index 0000000..63fb419
+index 0000000..eccb9ae
 --- /dev/null
 +++ b/fs/unionfs/dirfops.c
 @@ -0,0 +1,302 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -3634,8 +3643,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -3928,12 +3937,12 @@
 +};
 diff --git a/fs/unionfs/dirhelper.c b/fs/unionfs/dirhelper.c
 new file mode 100644
-index 0000000..aa31e91
+index 0000000..b2c645e
 --- /dev/null
 +++ b/fs/unionfs/dirhelper.c
 @@ -0,0 +1,158 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -3942,8 +3951,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -4092,12 +4101,12 @@
 +}
 diff --git a/fs/unionfs/fanout.h b/fs/unionfs/fanout.h
 new file mode 100644
-index 0000000..69c0921
+index 0000000..04ffa85
 --- /dev/null
 +++ b/fs/unionfs/fanout.h
 @@ -0,0 +1,407 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005      Arun M. Krishnakumar
@@ -4105,8 +4114,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -4505,12 +4514,12 @@
 +#endif	/* not _FANOUT_H */
 diff --git a/fs/unionfs/file.c b/fs/unionfs/file.c
 new file mode 100644
-index 0000000..3cc6a76
+index 0000000..af6f8a7
 --- /dev/null
 +++ b/fs/unionfs/file.c
 @@ -0,0 +1,364 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -4519,8 +4528,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -4875,12 +4884,12 @@
 +};
 diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
 new file mode 100644
-index 0000000..800648e
+index 0000000..7c17093
 --- /dev/null
 +++ b/fs/unionfs/inode.c
 @@ -0,0 +1,1035 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -4889,8 +4898,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -5916,12 +5925,12 @@
 +};
 diff --git a/fs/unionfs/lookup.c b/fs/unionfs/lookup.c
 new file mode 100644
-index 0000000..6877b8c
+index 0000000..9d887ac
 --- /dev/null
 +++ b/fs/unionfs/lookup.c
 @@ -0,0 +1,569 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -5930,8 +5939,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -6491,12 +6500,12 @@
 +}
 diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
 new file mode 100644
-index 0000000..fea670b
+index 0000000..c58405c
 --- /dev/null
 +++ b/fs/unionfs/main.c
-@@ -0,0 +1,777 @@
+@@ -0,0 +1,758 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -6505,8 +6514,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -6912,11 +6921,7 @@
 +out:
 +	if (err) {
 +		for (i = 0; i < branches; i++)
-+			if (lower_root_info->lower_paths[i].dentry) {
-+				dput(lower_root_info->lower_paths[i].dentry);
-+				/* initialize: can't use unionfs_mntput here */
-+				mntput(lower_root_info->lower_paths[i].mnt);
-+			}
++			path_put(&lower_root_info->lower_paths[i]);
 +
 +		kfree(lower_root_info->lower_paths);
 +		kfree(UNIONFS_SB(sb)->data);
@@ -7007,17 +7012,8 @@
 +	if (lower_root_info && lower_root_info->lower_paths) {
 +		for (bindex = lower_root_info->bstart;
 +		     bindex >= 0 && bindex <= lower_root_info->bend;
-+		     bindex++) {
-+			struct dentry *d;
-+			struct vfsmount *m;
-+
-+			d = lower_root_info->lower_paths[bindex].dentry;
-+			m = lower_root_info->lower_paths[bindex].mnt;
-+
-+			dput(d);
-+			/* initializing: can't use unionfs_mntput here */
-+			mntput(m);
-+		}
++		     bindex++)
++			path_put(&lower_root_info->lower_paths[bindex]);
 +	}
 +
 +	kfree(lower_root_info->lower_paths);
@@ -7176,16 +7172,10 @@
 +		for (bindex = lower_root_info->bstart;
 +		     bindex <= lower_root_info->bend; bindex++) {
 +			struct dentry *d;
-+			struct vfsmount *m;
-+
 +			d = lower_root_info->lower_paths[bindex].dentry;
-+			m = lower_root_info->lower_paths[bindex].mnt;
-+
-+			dput(d);
-+			/* initializing: can't use unionfs_mntput here */
-+			mntput(m);
 +			/* drop refs we took earlier */
 +			atomic_dec(&d->d_sb->s_active);
++			path_put(&lower_root_info->lower_paths[bindex]);
 +		}
 +		kfree(lower_root_info->lower_paths);
 +		kfree(lower_root_info);
@@ -7274,12 +7264,12 @@
 +module_exit(exit_unionfs_fs);
 diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
 new file mode 100644
-index 0000000..b7d4713
+index 0000000..18b05d5
 --- /dev/null
 +++ b/fs/unionfs/mmap.c
 @@ -0,0 +1,89 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -7289,8 +7279,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
++ * Copyright (c) 2003-2009 The Research Foundation of SUNY
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
@@ -7369,12 +7359,12 @@
 +};
 diff --git a/fs/unionfs/rdstate.c b/fs/unionfs/rdstate.c
 new file mode 100644
-index 0000000..06d5374
+index 0000000..485464b
 --- /dev/null
 +++ b/fs/unionfs/rdstate.c
 @@ -0,0 +1,285 @@
 +/*
-+ * Copyright (c) 2003-2008 Erez Zadok
++ * Copyright (c) 2003-2009 Erez Zadok
 + * Copyright (c) 2003-2006 Charles P. Wright
 + * Copyright (c) 2005-2007 Josef 'Jeff' Sipek
 + * Copyright (c) 2005-2006 Junjiro Okajima
@@ -7383,8 +7373,8 @@
 + * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 + * Copyright (c) 2003      Puja Gupta
 + * Copyright (c) 2003      Harikesavan Krishnan
-+ * Copyright (c) 2003-2008 Stony Brook University
-+ * Copyright (c) 2003-2008 The Research Foundation of SUNY
++ * Copyright (c) 2003-2009 Stony Brook University
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-unionfs.patch?r1=1.1.2.3&r2=1.1.2.4&f=u



More information about the pld-cvs-commit mailing list