Re: linux-next: build failure after merge of the nfs tree

From: Anna Schumaker
Date: Thu May 19 2016 - 13:30:42 EST


On 05/19/2016 08:06 AM, Trond Myklebust wrote:
> Thanks Stephen!
>
> Anna will be managing pushing the NFS client changes to Linus during
> this merge window, so I'm assuming she will include this and your
> other fixup in her pull request.

Yep! I'll make sure it's in there.

Anna

>
> Cheers
> Trond
>
> On Wed, May 18, 2016 at 8:58 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>> Hi Trond,
>>
>> After merging the nfs tree, today's linux-next build (x86_64 allmodconfig)
>> failed like this:
>>
>> In file included from include/linux/fs.h:19:0,
>> from fs/nfs/nfs42proc.c:4:
>> fs/nfs/nfs42proc.c: In function 'nfs42_proc_copy':
>> fs/nfs/nfs42proc.c:212:30: error: 'struct inode' has no member named 'i_mutex'
>> mutex_lock(&file_inode(dst)->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/nfs/nfs42proc.c:215:32: error: 'struct inode' has no member named 'i_mutex'
>> mutex_unlock(&file_inode(dst)->i_mutex);
>> ^
>>
>> Caused by commit
>>
>> 2e72448b07dc ("NFS: Add COPY nfs operation")
>>
>> interacting with commit
>>
>> 9902af79c01a ("parallel lookups: actual switch to rwsem")
>>
>> from Linus' tree.
>>
>> I applied the following merge fix patch - you will need to send this to
>> Linus when you ask him to merge your tree.
>>
>> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
>> Date: Thu, 19 May 2016 10:50:26 +1000
>> Subject: [PATCH] nfs: fix for i_mutex to i_rwsem change
>>
>> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
>> ---
>> fs/nfs/nfs42proc.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c
>> index 20c44d1209dc..aa03ed09ba06 100644
>> --- a/fs/nfs/nfs42proc.c
>> +++ b/fs/nfs/nfs42proc.c
>> @@ -209,10 +209,10 @@ ssize_t nfs42_proc_copy(struct file *src, loff_t pos_src,
>> dst_exception.state = dst_lock->open_context->state;
>>
>> do {
>> - mutex_lock(&file_inode(dst)->i_mutex);
>> + inode_lock(file_inode(dst));
>> err = _nfs42_proc_copy(src, pos_src, src_lock,
>> dst, pos_dst, dst_lock, count);
>> - mutex_unlock(&file_inode(dst)->i_mutex);
>> + inode_unlock(file_inode(dst));
>>
>> if (err == -ENOTSUPP) {
>> err = -EOPNOTSUPP;
>> --
>> 2.7.0
>>
>> --
>> Cheers,
>> Stephen Rothwell