linux-next: build failure after merge of the vfs tree

From: Stephen Rothwell
Date: Sun May 01 2016 - 21:25:37 EST

Hi Al,

After merging the vfs tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

In file included from include/linux/notifier.h:13:0,
from include/linux/memory_hotplug.h:6,
from include/linux/mmzone.h:744,
from include/linux/gfp.h:5,
from include/linux/slab.h:14,
from fs/gfs2/file.c:10:
fs/gfs2/file.c: In function 'gfs2_file_splice_read':
fs/gfs2/file.c:963:19: error: 'struct inode' has no member named 'i_mutex'
include/linux/mutex.h:146:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
fs/gfs2/file.c:967:22: error: 'struct inode' has no member named 'i_mutex'
fs/gfs2/file.c:972:21: error: 'struct inode' has no member named 'i_mutex'

Caused by commit

ad10a307a918 ("parallel lookups: actual switch to rwsem")

interacting with commit

611526756a3d ("gfs2: Use gfs2 wrapper to sync inode before calling generic_file_splice_read()")

from the gfs2 tree.

I applied the following merge fix patch for today (thanks Al):

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 2 May 2016 11:17:40 +1000
Subject: [PATCH] gfs2: fix up for i_mutex -> i_rwsem change

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
fs/gfs2/file.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 3f27ab291029..76e205455503 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -960,16 +960,16 @@ static ssize_t gfs2_file_splice_read(struct file *in, loff_t *ppos,
struct gfs2_holder gh;
int ret;

- mutex_lock(&inode->i_mutex);
+ inode_lock(inode);

ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, 0, &gh);
if (ret) {
- mutex_unlock(&inode->i_mutex);
+ inode_unlock(inode);
return ret;

- mutex_unlock(&inode->i_mutex);
+ inode_unlock(inode);

return generic_file_splice_read(in, ppos, pipe, len, flags);

Stephen Rothwell