diff mbox

NFS client broken in Linus' tip

Message ID 1391378678.8123.5.camel@leira.trondhjem.org (mailing list archive)
State New, archived
Headers show

Commit Message

Trond Myklebust Feb. 2, 2014, 10:04 p.m. UTC
On Sun, 2014-02-02 at 12:27 +0000, Russell King - ARM Linux wrote:
> On Sat, Feb 01, 2014 at 01:03:28AM +0000, Russell King - ARM Linux wrote:
> > On Fri, Jan 31, 2014 at 03:59:30PM -0500, Trond Myklebust wrote:
> > > On Thu, 2014-01-30 at 15:38 +0000, Russell King - ARM Linux wrote:
> > > > On Thu, Jan 30, 2014 at 06:32:08AM -0800, Christoph Hellwig wrote:
> > > > > On Thu, Jan 30, 2014 at 02:27:52PM +0000, Russell King - ARM Linux wrote:
> > > > > > Yes and no.  I still end up with an empty /etc/mtab, but the file now
> > > > > > exists.  However, I can create and echo data into /etc/mtab, but it seems
> > > > > > that can't happen at boot time.
> > > > > 
> > > > > Odd.  Can you disable CONFIG_NFSD_V3_ACL for now to isolate the issue?
> > > > 
> > > > Unfortunately, that results in some problem at boot time, which
> > > > ultimately ends up with the other three CPUs being stopped, and
> > > > hence the original reason scrolls off the screen before it can be
> > > > read... even at 1920p.
> > > > 
> > > Hi Russell,
> > > 
> > > The following patch fixes the issue for me.
> > 
> > It doesn't entirely fix the issue for me, instead we've got even weirder
> > behaviour:
> > 
> > root@cubox-i4:~# ls -al test
> > ls: cannot access test: No such file or directory
> > root@cubox-i4:~# touch test
> > root@cubox-i4:~# ls -al test
> > -rw-r--r-- 1 root root 0 Feb  1 01:01 test
> > root@cubox-i4:~# echo foo > test
> > root@cubox-i4:~# ls -al test
> > -rw-r--r-- 1 root root 4 Feb  1 01:01 test
> > root@cubox-i4:~# cat test
> > foo
> > root@cubox-i4:~# rm test
> > root@cubox-i4:~# echo foo > test
> > -bash: test: Operation not supported
> > root@cubox-i4:~# ls -al test
> > -rw-r--r-- 1 root root 0 Feb  1 01:01 test
> 
> FYI, I just tested Linus' tip, and NFS is still broken.
> 
Hi Russell,

The following patch should fix the above problem. It needs to be applied
on top of the one I sent you previously. In addition, you will want to
apply Noah Massey's patch from
http://lkml.kernel.org/r/1391135472-9639-1-git-send-email-Noah.Massey@gmail.com 

Cheers,
  Trond

8<------------------------------------------------------------------------------
From f9ad7a7b43554bc36eccf03d33617c05b8a2c77d Mon Sep 17 00:00:00 2001
From: Trond Myklebust <trond.myklebust@primarydata.com>
Date: Sun, 2 Feb 2014 14:36:42 -0500
Subject: [PATCH] NFSv3: Fix return value of nfs3_proc_setacls

nfs3_proc_setacls is used internally by the NFSv3 create operations
to set the acl after the file has been created. If the operation
fails because the server doesn't support acls, then it must return '0',
not -EOPNOTSUPP.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
---
 fs/nfs/nfs3acl.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

Comments

Takashi Iwai Feb. 3, 2014, 9:43 a.m. UTC | #1
At Sun, 02 Feb 2014 17:04:38 -0500,
Trond Myklebust wrote:
> 
> On Sun, 2014-02-02 at 12:27 +0000, Russell King - ARM Linux wrote:
> > On Sat, Feb 01, 2014 at 01:03:28AM +0000, Russell King - ARM Linux wrote:
> > > On Fri, Jan 31, 2014 at 03:59:30PM -0500, Trond Myklebust wrote:
> > > > On Thu, 2014-01-30 at 15:38 +0000, Russell King - ARM Linux wrote:
> > > > > On Thu, Jan 30, 2014 at 06:32:08AM -0800, Christoph Hellwig wrote:
> > > > > > On Thu, Jan 30, 2014 at 02:27:52PM +0000, Russell King - ARM Linux wrote:
> > > > > > > Yes and no.  I still end up with an empty /etc/mtab, but the file now
> > > > > > > exists.  However, I can create and echo data into /etc/mtab, but it seems
> > > > > > > that can't happen at boot time.
> > > > > > 
> > > > > > Odd.  Can you disable CONFIG_NFSD_V3_ACL for now to isolate the issue?
> > > > > 
> > > > > Unfortunately, that results in some problem at boot time, which
> > > > > ultimately ends up with the other three CPUs being stopped, and
> > > > > hence the original reason scrolls off the screen before it can be
> > > > > read... even at 1920p.
> > > > > 
> > > > Hi Russell,
> > > > 
> > > > The following patch fixes the issue for me.
> > > 
> > > It doesn't entirely fix the issue for me, instead we've got even weirder
> > > behaviour:
> > > 
> > > root@cubox-i4:~# ls -al test
> > > ls: cannot access test: No such file or directory
> > > root@cubox-i4:~# touch test
> > > root@cubox-i4:~# ls -al test
> > > -rw-r--r-- 1 root root 0 Feb  1 01:01 test
> > > root@cubox-i4:~# echo foo > test
> > > root@cubox-i4:~# ls -al test
> > > -rw-r--r-- 1 root root 4 Feb  1 01:01 test
> > > root@cubox-i4:~# cat test
> > > foo
> > > root@cubox-i4:~# rm test
> > > root@cubox-i4:~# echo foo > test
> > > -bash: test: Operation not supported
> > > root@cubox-i4:~# ls -al test
> > > -rw-r--r-- 1 root root 0 Feb  1 01:01 test
> > 
> > FYI, I just tested Linus' tip, and NFS is still broken.
> > 
> Hi Russell,
> 
> The following patch should fix the above problem. It needs to be applied
> on top of the one I sent you previously.

I've hit the same problem, and your two patches seem fixing it.
I tested them on top of 3.14-rc1.  Feel free to take my tested-by tag

  Tested-by: Takashi Iwai <tiwai@suse.de>


> In addition, you will want to
> apply Noah Massey's patch from
> http://lkml.kernel.org/r/1391135472-9639-1-git-send-email-Noah.Massey@gmail.com 

Do I still need to test this one, too?


Thanks!

Takashi
Trond Myklebust Feb. 3, 2014, 2:21 p.m. UTC | #2
On Feb 3, 2014, at 4:43, Takashi Iwai <tiwai@suse.de> wrote:

> At Sun, 02 Feb 2014 17:04:38 -0500,
> Trond Myklebust wrote:
>> 
>> On Sun, 2014-02-02 at 12:27 +0000, Russell King - ARM Linux wrote:
>>> On Sat, Feb 01, 2014 at 01:03:28AM +0000, Russell King - ARM Linux wrote:
>>>> On Fri, Jan 31, 2014 at 03:59:30PM -0500, Trond Myklebust wrote:
>>>>> On Thu, 2014-01-30 at 15:38 +0000, Russell King - ARM Linux wrote:
>>>>>> On Thu, Jan 30, 2014 at 06:32:08AM -0800, Christoph Hellwig wrote:
>>>>>>> On Thu, Jan 30, 2014 at 02:27:52PM +0000, Russell King - ARM Linux wrote:
>>>>>>>> Yes and no.  I still end up with an empty /etc/mtab, but the file now
>>>>>>>> exists.  However, I can create and echo data into /etc/mtab, but it seems
>>>>>>>> that can't happen at boot time.
>>>>>>> 
>>>>>>> Odd.  Can you disable CONFIG_NFSD_V3_ACL for now to isolate the issue?
>>>>>> 
>>>>>> Unfortunately, that results in some problem at boot time, which
>>>>>> ultimately ends up with the other three CPUs being stopped, and
>>>>>> hence the original reason scrolls off the screen before it can be
>>>>>> read... even at 1920p.
>>>>>> 
>>>>> Hi Russell,
>>>>> 
>>>>> The following patch fixes the issue for me.
>>>> 
>>>> It doesn't entirely fix the issue for me, instead we've got even weirder
>>>> behaviour:
>>>> 
>>>> root@cubox-i4:~# ls -al test
>>>> ls: cannot access test: No such file or directory
>>>> root@cubox-i4:~# touch test
>>>> root@cubox-i4:~# ls -al test
>>>> -rw-r--r-- 1 root root 0 Feb  1 01:01 test
>>>> root@cubox-i4:~# echo foo > test
>>>> root@cubox-i4:~# ls -al test
>>>> -rw-r--r-- 1 root root 4 Feb  1 01:01 test
>>>> root@cubox-i4:~# cat test
>>>> foo
>>>> root@cubox-i4:~# rm test
>>>> root@cubox-i4:~# echo foo > test
>>>> -bash: test: Operation not supported
>>>> root@cubox-i4:~# ls -al test
>>>> -rw-r--r-- 1 root root 0 Feb  1 01:01 test
>>> 
>>> FYI, I just tested Linus' tip, and NFS is still broken.
>>> 
>> Hi Russell,
>> 
>> The following patch should fix the above problem. It needs to be applied
>> on top of the one I sent you previously.
> 
> I've hit the same problem, and your two patches seem fixing it.
> I tested them on top of 3.14-rc1.  Feel free to take my tested-by tag
> 
>  Tested-by: Takashi Iwai <tiwai@suse.de>
> 
> 
>> In addition, you will want to
>> apply Noah Massey's patch from
>> http://lkml.kernel.org/r/1391135472-9639-1-git-send-email-Noah.Massey@gmail.com 
> 
> Do I still need to test this one, too?
> 

Hi Takashi,

Noah’s patch is not a replacement for the above 2 patches; it fixes a different problem. All three patches are therefore required for a complete solution.

Cheers
  Trond

--
Trond Myklebust
Linux NFS client maintainer
Takashi Iwai Feb. 3, 2014, 2:24 p.m. UTC | #3
At Mon, 3 Feb 2014 09:21:16 -0500,
Trond Myklebust wrote:
> 
> 
> On Feb 3, 2014, at 4:43, Takashi Iwai <tiwai@suse.de> wrote:
> 
> > At Sun, 02 Feb 2014 17:04:38 -0500,
> > Trond Myklebust wrote:
> >> 
> >> On Sun, 2014-02-02 at 12:27 +0000, Russell King - ARM Linux wrote:
> >>> On Sat, Feb 01, 2014 at 01:03:28AM +0000, Russell King - ARM Linux wrote:
> >>>> On Fri, Jan 31, 2014 at 03:59:30PM -0500, Trond Myklebust wrote:
> >>>>> On Thu, 2014-01-30 at 15:38 +0000, Russell King - ARM Linux wrote:
> >>>>>> On Thu, Jan 30, 2014 at 06:32:08AM -0800, Christoph Hellwig wrote:
> >>>>>>> On Thu, Jan 30, 2014 at 02:27:52PM +0000, Russell King - ARM Linux wrote:
> >>>>>>>> Yes and no.  I still end up with an empty /etc/mtab, but the file now
> >>>>>>>> exists.  However, I can create and echo data into /etc/mtab, but it seems
> >>>>>>>> that can't happen at boot time.
> >>>>>>> 
> >>>>>>> Odd.  Can you disable CONFIG_NFSD_V3_ACL for now to isolate the issue?
> >>>>>> 
> >>>>>> Unfortunately, that results in some problem at boot time, which
> >>>>>> ultimately ends up with the other three CPUs being stopped, and
> >>>>>> hence the original reason scrolls off the screen before it can be
> >>>>>> read... even at 1920p.
> >>>>>> 
> >>>>> Hi Russell,
> >>>>> 
> >>>>> The following patch fixes the issue for me.
> >>>> 
> >>>> It doesn't entirely fix the issue for me, instead we've got even weirder
> >>>> behaviour:
> >>>> 
> >>>> root@cubox-i4:~# ls -al test
> >>>> ls: cannot access test: No such file or directory
> >>>> root@cubox-i4:~# touch test
> >>>> root@cubox-i4:~# ls -al test
> >>>> -rw-r--r-- 1 root root 0 Feb  1 01:01 test
> >>>> root@cubox-i4:~# echo foo > test
> >>>> root@cubox-i4:~# ls -al test
> >>>> -rw-r--r-- 1 root root 4 Feb  1 01:01 test
> >>>> root@cubox-i4:~# cat test
> >>>> foo
> >>>> root@cubox-i4:~# rm test
> >>>> root@cubox-i4:~# echo foo > test
> >>>> -bash: test: Operation not supported
> >>>> root@cubox-i4:~# ls -al test
> >>>> -rw-r--r-- 1 root root 0 Feb  1 01:01 test
> >>> 
> >>> FYI, I just tested Linus' tip, and NFS is still broken.
> >>> 
> >> Hi Russell,
> >> 
> >> The following patch should fix the above problem. It needs to be applied
> >> on top of the one I sent you previously.
> > 
> > I've hit the same problem, and your two patches seem fixing it.
> > I tested them on top of 3.14-rc1.  Feel free to take my tested-by tag
> > 
> >  Tested-by: Takashi Iwai <tiwai@suse.de>
> > 
> > 
> >> In addition, you will want to
> >> apply Noah Massey's patch from
> >> http://lkml.kernel.org/r/1391135472-9639-1-git-send-email-Noah.Massey@gmail.com 
> > 
> > Do I still need to test this one, too?
> > 
> 
> Hi Takashi,
> 
> Noah’s patch is not a replacement for the above 2 patches; it fixes a different problem. All three patches are therefore required for a complete solution.

OK, I'll test with Noah's patch.


thanks,

Takashi
diff mbox

Patch

diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
index 9271a6bb9a41..871d6eda8dba 100644
--- a/fs/nfs/nfs3acl.c
+++ b/fs/nfs/nfs3acl.c
@@ -113,7 +113,7 @@  getout:
 	return ERR_PTR(status);
 }
 
-int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
+static int __nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
 		struct posix_acl *dfacl)
 {
 	struct nfs_server *server = NFS_SERVER(inode);
@@ -198,6 +198,15 @@  out:
 	return status;
 }
 
+int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
+		struct posix_acl *dfacl)
+{
+	int ret;
+	ret = __nfs3_proc_setacls(inode, acl, dfacl);
+	return (ret == -EOPNOTSUPP) ? 0 : ret;
+
+}
+
 int nfs3_set_acl(struct inode *inode, struct posix_acl *acl, int type)
 {
 	struct posix_acl *alloc = NULL, *dfacl = NULL;
@@ -225,7 +234,7 @@  int nfs3_set_acl(struct inode *inode, struct posix_acl *acl, int type)
 		if (IS_ERR(alloc))
 			goto fail;
 	}
-	status = nfs3_proc_setacls(inode, acl, dfacl);
+	status = __nfs3_proc_setacls(inode, acl, dfacl);
 	posix_acl_release(alloc);
 	return status;