Prev: first bad commit: 1f36f774 Switch !O_CREAT case to use of do_last()
Next: move_task_off_dead_cpu: take rq->lock around select_fallback_rq()
From: Boaz Harrosh on 24 Mar 2010 12:10 On 03/24/2010 06:00 PM, Al Viro wrote: > On Wed, Mar 24, 2010 at 05:49:39PM +0200, Boaz Harrosh wrote: >> - I have an exofs filesystem mounted on /mnt/exofs >> - []$ cd /mnt/exofs/some_linux_git; git status; >> All is fine >> - []$ mount -t nfs4 -o minorversion=0 localhost:/ /mnt/nfs >> (Where etc/exports will export /mnt/exofs via nfs4.1) >> - []$ cd /mnt/nfs/some_linux_git; git status; >> This will fail and will corrupt the .git/index file. Sometimes the file would be >> too short, and sometimes the file will become a directory (Yes really) > > Bloody impressive... Does that happen to underlying fs or to what you > are seeing via NFS? Only via NFS. All local access is fine. After the corruption above I can cd to the local mount cp a fresh copy of .git/index file and play around just fine. Once I return to the NFS mounted directory, a git status will do it. It does not matter if caches are cold (Takes a long time) or hot it happens every time. Weird I know, I'm playing some more with it as we speak Thanks Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Boaz Harrosh on 24 Mar 2010 12:20 On 03/24/2010 06:07 PM, Al Viro wrote: > On Wed, Mar 24, 2010 at 06:04:56PM +0200, Boaz Harrosh wrote: >>> Bloody impressive... Does that happen to underlying fs or to what you >>> are seeing via NFS? >> >> Only via NFS. All local access is fine. >> >> After the corruption above I can cd to the local mount cp a fresh copy >> of .git/index file and play around just fine. >> Once I return to the NFS mounted directory, a git status will do it. >> It does not matter if caches are cold (Takes a long time) or hot it happens >> every time. >> >> Weird I know, I'm playing some more with it as we speak > > What happens if you export to box running older kernel *or* from box > running older kernel? IOW, is that nfsd or nfs client getting unhappy? > I'd suspect the latter, but... Good question, I'm just getting to that because currently it's all over localhost (same kernel, BTW inside a UML) I will try what you said. Please through any other tests on me, if needed. Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Boaz Harrosh on 24 Mar 2010 13:20
On 03/24/2010 06:39 PM, Al Viro wrote: > On Wed, Mar 24, 2010 at 06:10:52PM +0200, Boaz Harrosh wrote: >> On 03/24/2010 06:07 PM, Al Viro wrote: >>> On Wed, Mar 24, 2010 at 06:04:56PM +0200, Boaz Harrosh wrote: >>>>> Bloody impressive... Does that happen to underlying fs or to what you >>>>> are seeing via NFS? >>>> >>>> Only via NFS. All local access is fine. >>>> >>>> After the corruption above I can cd to the local mount cp a fresh copy >>>> of .git/index file and play around just fine. >>>> Once I return to the NFS mounted directory, a git status will do it. >>>> It does not matter if caches are cold (Takes a long time) or hot it happens >>>> every time. >>>> >>>> Weird I know, I'm playing some more with it as we speak >>> >>> What happens if you export to box running older kernel *or* from box >>> running older kernel? IOW, is that nfsd or nfs client getting unhappy? >>> I'd suspect the latter, but... >> >> >> Good question, I'm just getting to that because currently it's all >> over localhost (same kernel, BTW inside a UML) >> >> I will try what you said. Please through any other tests on me, if needed. > As you suspected old-server+new-client fails. any-thing+old-client is fine. (two separate machines this time) > Very interesting... Just to see which path we are hitting: add > if (IS_ERR(nd->intent.open.file)) > printk("foo: %s", pathname); > right after > error = do_lookup(nd, &nd->last, path); > if (error) > goto exit; > in fs/namei.c:do_last() and see whether we are hitting it or not on objects > that get corrupted. Sorry was busy shifting setups, didn't see your mail, will do that next ... Thanks Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |