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

From: Stephen Rothwell
Date: Thu Nov 27 2014 - 04:12:17 EST


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 sfr@xxxxxxxxxxxxxxxx

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);

Attachment: pgpez6nBh9_yR.pgp
Description: OpenPGP digital signature