Subject: linux-next: manual merge of the staging tree with the vfs tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 27 Nov 2014 20:11:56 +1100

Hi Greg,

Today's linux-next merge of the staging tree got conflicts in
drivers/staging/lustre/lustre/llite/dcache.c,
drivers/staging/lustre/lustre/llite/llite_internal.h,
drivers/staging/lustre/lustre/llite/llite_lib.c,
drivers/staging/lustre/lustre/llite/namei.c and
drivers/staging/lustre/lustre/llite/statahead.c between various commits
from the vfs tree and commit 2d00bd17a270 ("staging: lustre: Coalesce
string fragments") from the staging tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc drivers/staging/lustre/lustre/llite/dcache.c
index f692261e9b5c,5f03c5fbb098..000000000000
--- a/drivers/staging/lustre/lustre/llite/dcache.c
+++ b/drivers/staging/lustre/lustre/llite/dcache.c
@@@ -258,9 -258,10 +258,9 @@@ void ll_invalidate_aliases(struct inod
  	       inode->i_ino, inode->i_generation, inode);
  
  	ll_lock_dcache(inode);
 -	ll_d_hlist_for_each_entry(dentry, p, &inode->i_dentry, d_alias) {
 -		CDEBUG(D_DENTRY, "dentry in drop %.*s (%p) parent %p inode %p flags %d\n",
 -		       dentry->d_name.len, dentry->d_name.name,
 -		       dentry, dentry->d_parent,
 +	ll_d_hlist_for_each_entry(dentry, p, &inode->i_dentry, d_u.d_alias) {
- 		CDEBUG(D_DENTRY, "dentry in drop %pd (%p) parent %p "
- 		       "inode %p flags %d\n", dentry, dentry, dentry->d_parent,
++		CDEBUG(D_DENTRY, "dentry in drop %pd (%p) parent %p inode %p flags %d\n",
++		       dentry, dentry, dentry->d_parent,
  		       dentry->d_inode, dentry->d_flags);
  
  		if (unlikely(dentry == dentry->d_sb->s_root)) {
diff --cc drivers/staging/lustre/lustre/llite/llite_internal.h
index 77d1c12704b4,79fc29b3710c..000000000000
--- a/drivers/staging/lustre/lustre/llite/llite_internal.h
+++ b/drivers/staging/lustre/lustre/llite/llite_internal.h
@@@ -1489,8 -1489,8 +1489,8 @@@ static inline void __d_lustre_invalidat
   */
  static inline void d_lustre_invalidate(struct dentry *dentry, int nested)
  {
- 	CDEBUG(D_DENTRY, "invalidate dentry %pd (%p) parent %p inode %p "
- 	       "refc %d\n", dentry, dentry,
 -	CDEBUG(D_DENTRY, "invalidate dentry %.*s (%p) parent %p inode %p refc %d\n",
 -	       dentry->d_name.len, dentry->d_name.name, dentry,
++	CDEBUG(D_DENTRY, "invalidate dentry %pd (%p) parent %p inode %p refc %d\n",
++	       dentry, dentry,
  	       dentry->d_parent, dentry->d_inode, d_count(dentry));
  
  	spin_lock_nested(&dentry->d_lock,
diff --cc drivers/staging/lustre/lustre/llite/llite_lib.c
index 7b6b9e2e0102,3b0336029da3..000000000000
--- a/drivers/staging/lustre/lustre/llite/llite_lib.c
+++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
@@@ -698,8 -690,10 +690,8 @@@ void lustre_dump_dentry(struct dentry *
  	list_for_each(tmp, &dentry->d_subdirs)
  		subdirs++;
  
- 	CERROR("dentry %p dump: name=%pd parent=%p, inode=%p, count=%u,"
- 	       " flags=0x%x, fsdata=%p, %d subdirs\n", dentry, dentry,
 -	CERROR("dentry %p dump: name=%.*s parent=%.*s (%p), inode=%p, count=%u, flags=0x%x, fsdata=%p, %d subdirs\n",
 -	       dentry,
 -	       dentry->d_name.len, dentry->d_name.name,
 -	       dentry->d_parent->d_name.len, dentry->d_parent->d_name.name,
++	CERROR("dentry %p dump: name=%pd parent=%p, inode=%p, count=%u, flags=0x%x, fsdata=%p, %d subdirs\n",
++	       dentry, dentry,
  	       dentry->d_parent, dentry->d_inode, d_count(dentry),
  	       dentry->d_flags, dentry->d_fsdata, subdirs);
  	if (dentry->d_inode != NULL)
diff --cc drivers/staging/lustre/lustre/llite/namei.c
index 8e926b385a60,671d0cd2a6a2..000000000000
--- a/drivers/staging/lustre/lustre/llite/namei.c
+++ b/drivers/staging/lustre/lustre/llite/namei.c
@@@ -598,9 -619,8 +598,8 @@@ static int ll_atomic_open(struct inode 
  	long long lookup_flags = LOOKUP_OPEN;
  	int rc = 0;
  
- 	CDEBUG(D_VFSTRACE, "VFS Op:name=%pd,dir=%lu/%u(%p),file %p,"
- 			   "open_flags %x,mode %x opened %d\n",
 -	CDEBUG(D_VFSTRACE, "VFS Op:name=%.*s,dir=%lu/%u(%p),file %p,open_flags %x,mode %x opened %d\n",
 -	       dentry->d_name.len, dentry->d_name.name, dir->i_ino,
++	CDEBUG(D_VFSTRACE, "VFS Op:name=%pd,dir=%lu/%u(%p),file %p, open_flags %x,mode %x opened %d\n",
 +	       dentry, dir->i_ino,
  	       dir->i_generation, dir, file, open_flags, mode, *opened);
  
  	it = kzalloc(sizeof(*it), GFP_NOFS);
@@@ -843,12 -862,11 +842,11 @@@ static int ll_create_nd(struct inode *d
  {
  	int rc;
  
- 	CDEBUG(D_VFSTRACE, "VFS Op:name=%pd,dir=%lu/%u(%p),"
- 			   "flags=%u, excl=%d\n",
 -	CDEBUG(D_VFSTRACE, "VFS Op:name=%.*s,dir=%lu/%u(%p),flags=%u, excl=%d\n",
 -	       dentry->d_name.len, dentry->d_name.name, dir->i_ino,
++	CDEBUG(D_VFSTRACE, "VFS Op:name=%pd,dir=%lu/%u(%p), flags=%u, excl=%d\n",
 +	       dentry, dir->i_ino,
  	       dir->i_generation, dir, mode, want_excl);
  
 -	rc = ll_mknod_generic(dir, &dentry->d_name, mode, 0, dentry);
 +	rc = ll_mknod(dir, dentry, mode, 0);
  
  	ll_stats_ops_tally(ll_i2sbi(dir), LPROC_LL_CREATE, 1);
  
@@@ -974,7 -1101,8 +972,7 @@@ out
   * Instead, ll_ddelete() and ll_d_iput() will update it based upon if there
   * is any lock existing. They will recycle dentries and inodes based upon locks
   * too. b=20433 */
- static int ll_unlink(struct inode * dir, struct dentry *dentry)
 -static int ll_unlink_generic(struct inode *dir, struct dentry *dparent,
 -			     struct dentry *dchild, struct qstr *name)
++static int ll_unlink(struct inode *dir, struct dentry *dentry)
  {
  	struct ptlrpc_request *request = NULL;
  	struct md_op_data *op_data;
diff --cc drivers/staging/lustre/lustre/llite/statahead.c
index 09d965e76842,c4bd09edb0ce..000000000000
--- a/drivers/staging/lustre/lustre/llite/statahead.c
+++ b/drivers/staging/lustre/lustre/llite/statahead.c
@@@ -1612,9 -1609,9 +1609,8 @@@ int do_statahead_enter(struct inode *di
  				} else if ((*dentryp)->d_inode != inode) {
  					/* revalidate, but inode is recreated */
  					CDEBUG(D_READA,
- 					      "stale dentry %pd inode %lu/%u, "
- 					      "statahead inode %lu/%u\n",
 -					      "stale dentry %.*s inode %lu/%u, statahead inode %lu/%u\n",
 -					      (*dentryp)->d_name.len,
 -					      (*dentryp)->d_name.name,
++					      "stale dentry %pd inode %lu/%u, statahead inode %lu/%u\n",
 +					      *dentryp,
  					      (*dentryp)->d_inode->i_ino,
  					      (*dentryp)->d_inode->i_generation,
  					      inode->i_ino,
@@@ -1665,9 -1662,8 +1661,8 @@@
  	if (unlikely(sai->sai_inode != parent->d_inode)) {
  		struct ll_inode_info *nlli = ll_i2info(parent->d_inode);
  
- 		CWARN("Race condition, someone changed %pd just now: "
- 		      "old parent "DFID", new parent "DFID"\n",
 -		CWARN("Race condition, someone changed %.*s just now: old parent " DFID ", new parent " DFID "\n",
 -		      (*dentryp)->d_name.len, (*dentryp)->d_name.name,
++		CWARN("Race condition, someone changed %pd just now: old parent "DFID", new parent "DFID"\n",
 +		      *dentryp,
  		      PFID(&lli->lli_fid), PFID(&nlli->lli_fid));
  		dput(parent);
  		iput(sai->sai_inode);