Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
On Thu, 2009-07-02 at 16:08 -0400, Mike Andrews wrote: On Wed, 1 Jul 2009, Danny Braniss wrote: On 2009-06-30, Mike Andrews wrote: Jaakko Heinonen wrote: On 2009-06-30, Danny Braniss wrote: This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. I guess that r185586 needs to be MFCd to stable/7. Here's an untested patch against stable/7: The patch doesn't help over here, sorry. Simply doing 'touch' or 'mv' to an NFSv3 mount (using either a v6 or v13 zpool) is the test case I've been using; touch doesn't even use O_EXCL as far as I can tell. I could reproduce the problem with O_EXCL and verified that the patch fixes it. However I couldn't reproduce the problem you are seeing with touch and mv. same here, touch worked before too - so i think it's unrelated, btw, it seems that the problem does not exist on i386, though I'm pretty sure I tried there too, oh well, thanks! danny I'm not sure if what was commited to stable/7 yesterday is substantially different from that patch (and if not, what in the world I was doing wrong/stupid in testing), but everything now works for me... thanks :) Looks like it's working pretty well to me. It's almost not worth mentioning, but I have an old FreeBSD 4.8 server (which is the midst of being retired) that is still having an issue related to this. When I edit a file with vim 7.0, it creates the swapfile with no perms (which causes it to complain that the file already exists, and not clean up after itself) This only occurs from a 4.8 client, not 5.2.1, 6.2, or 7.2. Vim is the only program that replicates the problem on that box. touch works, mv works, procmail works. I only mention because maybe there's another OS, that's still supported, that might still have the same issues. Rick ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
On Wed, 1 Jul 2009, Danny Braniss wrote: On 2009-06-30, Mike Andrews wrote: Jaakko Heinonen wrote: On 2009-06-30, Danny Braniss wrote: This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. I guess that r185586 needs to be MFCd to stable/7. Here's an untested patch against stable/7: The patch doesn't help over here, sorry. Simply doing 'touch' or 'mv' to an NFSv3 mount (using either a v6 or v13 zpool) is the test case I've been using; touch doesn't even use O_EXCL as far as I can tell. I could reproduce the problem with O_EXCL and verified that the patch fixes it. However I couldn't reproduce the problem you are seeing with touch and mv. same here, touch worked before too - so i think it's unrelated, btw, it seems that the problem does not exist on i386, though I'm pretty sure I tried there too, oh well, thanks! danny I'm not sure if what was commited to stable/7 yesterday is substantially different from that patch (and if not, what in the world I was doing wrong/stupid in testing), but everything now works for me... thanks :) ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
On 2009-06-30, Mike Andrews wrote: Jaakko Heinonen wrote: On 2009-06-30, Danny Braniss wrote: This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. I guess that r185586 needs to be MFCd to stable/7. Here's an untested patch against stable/7: The patch doesn't help over here, sorry. Simply doing 'touch' or 'mv' to an NFSv3 mount (using either a v6 or v13 zpool) is the test case I've been using; touch doesn't even use O_EXCL as far as I can tell. I could reproduce the problem with O_EXCL and verified that the patch fixes it. However I couldn't reproduce the problem you are seeing with touch and mv. -- Jaakko ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
On 2009-06-30, Mike Andrews wrote: Jaakko Heinonen wrote: On 2009-06-30, Danny Braniss wrote: This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. I guess that r185586 needs to be MFCd to stable/7. Here's an untested patch against stable/7: The patch doesn't help over here, sorry. Simply doing 'touch' or 'mv' to an NFSv3 mount (using either a v6 or v13 zpool) is the test case I've been using; touch doesn't even use O_EXCL as far as I can tell. I could reproduce the problem with O_EXCL and verified that the patch fixes it. However I couldn't reproduce the problem you are seeing with touch and mv. same here, touch worked before too - so i think it's unrelated, btw, it seems that the problem does not exist on i386, though I'm pretty sure I tried there too, oh well, thanks! danny ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
Quoting Danny Braniss da...@cs.huji.ac.il: hi, This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. Thanks, danny This affects procmail deliveries as well. Any chance of having this looked at asap? So I'm on zfs 13, I can't drop back zfs versions, and my production data is stuck. Yes, I know this isn't a release kernel, but I was having ungodly slowness with ZFS and was trying everything I could think of. I had, due daily to archiving, 50-100thousand 3k files in each of about 200 directories. Once I moved them all to another machine (on UFS), the ZFS partition returned to normal speeds...But now I'm stuck with this delivery issue (fortunately it's only procmail) due to the upgrade attempt. I just ran into the 'mv' problem yesterday. Any relief in sight? Thanks, Rick ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
on 30/06/2009 16:00 Rick Romero said the following: Quoting Danny Braniss da...@cs.huji.ac.il: hi, This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. Thanks, danny This affects procmail deliveries as well. Any chance of having this looked at asap? So I'm on zfs 13, I can't drop back zfs versions, and my production data is stuck. Yes, I know this isn't a release kernel, but I was having ungodly slowness with ZFS and was trying everything I could think of. I had, due daily to archiving, 50-100thousand 3k files in each of about 200 directories. Once I moved them all to another machine (on UFS), the ZFS partition returned to normal speeds...But now I'm stuck with this delivery issue (fortunately it's only procmail) due to the upgrade attempt. I just ran into the 'mv' problem yesterday. Any relief in sight? Are you sure that you have the latest on-disk formats? I have submitted a followup to the PR, please respond there with relevant information about your system. -- Andriy Gapon ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
on 30/06/2009 17:25 Andriy Gapon said the following: Are you sure that you have the latest on-disk formats? I have submitted a followup to the PR, please respond there with relevant information about your system. Errm, sorry, I can reproduce the issue after all. -- Andriy Gapon ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
On 2009-06-30, Danny Braniss wrote: This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. I guess that r185586 needs to be MFCd to stable/7. Here's an untested patch against stable/7: %%% Index: sys/nfsserver/nfs_serv.c === --- sys/nfsserver/nfs_serv.c(revision 195189) +++ sys/nfsserver/nfs_serv.c(working copy) @@ -1656,13 +1656,12 @@ nfsrv_create(struct nfsrv_descript *nfsd caddr_t bpos; int error = 0, rdev, len, tsize, dirfor_ret = 1, diraft_ret = 1; int v3 = (nfsd-nd_flag ND_NFSV3), how, exclusive_flag = 0; - caddr_t cp; struct mbuf *mb, *mreq; struct vnode *dirp = NULL; nfsfh_t nfh; fhandle_t *fhp; u_quad_t tempsize; - u_char cverf[NFSX_V3CREATEVERF]; + struct timespec cverf; struct mount *mp = NULL; int tvfslocked; int vfslocked; @@ -1741,8 +1740,11 @@ nfsrv_create(struct nfsrv_descript *nfsd nfsm_srvsattr(vap); break; case NFSV3CREATE_EXCLUSIVE: - cp = nfsm_dissect_nonblock(caddr_t, NFSX_V3CREATEVERF); - bcopy(cp, cverf, NFSX_V3CREATEVERF); + tl = nfsm_dissect_nonblock(u_int32_t *, + NFSX_V3CREATEVERF); + /* Unique bytes, endianness is not important. */ + cverf.tv_sec = tl[0]; + cverf.tv_nsec = tl[1]; exclusive_flag = 1; break; }; @@ -1788,8 +1790,7 @@ nfsrv_create(struct nfsrv_descript *nfsd if (exclusive_flag) { exclusive_flag = 0; VATTR_NULL(vap); - bcopy(cverf, (caddr_t)vap-va_atime, - NFSX_V3CREATEVERF); + vap-va_atime = cverf; error = VOP_SETATTR(nd.ni_vp, vap, cred, td); } @@ -1873,7 +1874,7 @@ nfsrv_create(struct nfsrv_descript *nfsd } if (v3) { if (exclusive_flag !error - bcmp(cverf, (caddr_t)vap-va_atime, NFSX_V3CREATEVERF)) + bcmp(cverf, vap-va_atime, sizeof (cverf))) error = EEXIST; if (dirp == nd.ni_dvp) diraft_ret = VOP_GETATTR(dirp, diraft, cred, td); %%% Please report back if you try the patch. -- Jaakko ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)
Jaakko Heinonen wrote: On 2009-06-30, Danny Braniss wrote: This pr is realy holding me back, I can't upgrade this server, and telling serveral tens of users to us cp, etc is not an option. The open works fine if not using O_EXCL. I guess that r185586 needs to be MFCd to stable/7. Here's an untested patch against stable/7: %%% Index: sys/nfsserver/nfs_serv.c [snip] Please report back if you try the patch. The patch doesn't help over here, sorry. Simply doing 'touch' or 'mv' to an NFSv3 mount (using either a v6 or v13 zpool) is the test case I've been using; touch doesn't even use O_EXCL as far as I can tell. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org