Nick Bowler | 3 Nov 17:24 2010

Re: [regression] NFS readdir change break fully cached nfs root

On 2010-11-02 17:05 -0400, Trond Myklebust wrote:
> On Tue, 2010-11-02 at 19:00 +0100, Andi Kleen wrote:
> > My NFS root test systems stopped booting with 2.6.37-rc1. It just
> > hangs after entering user space.
[...]
> Does the following patch help?
[...]
> NFS: Fix a couple of regressions in readdir.

I just ran into this issue with git today, where some operations locked
up permanently (seemed to be an infinite readdir loop as described
elsewhere in this thread).

I applied this patch, and it solves the lockups, but there's a new
problem: the directory list sometimes comes back _empty_!

Here's the test script I used:

  #!/bin/sh -e

  mkdir gittest
  cd gittest
  git init

  for i in `seq 500`
  do
  	printf 'Hello\nWorld!\n' > $i.txt
  done

  git add ./*.txt
  git commit -m 'Initial Commit'
  sed -i 1d ./*.txt
  git stash
  git stash pop

  echo 'Directory listing:'
  ls

the 'ls' at the end prints nothing when the directory actually contains
500 files.  If we insert an 'ls' just before the 'git stash pop', that
one prints the full listing.  Touching the directory afterwards makes
the listings work again.

The script works fine on 2.6.36.

--

-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gmane