Re: kern/135412: [zfs] [nfs] zfs(v13)+nfs and open(..., O_WRONLY|O_CREAT|O_EXCL, ...)

2009-07-03 Thread Rick Romero
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, ...)

2009-07-02 Thread Mike Andrews

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, ...)

2009-07-01 Thread Jaakko Heinonen
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, ...)

2009-07-01 Thread Danny Braniss
 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, ...)

2009-06-30 Thread Rick Romero

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, ...)

2009-06-30 Thread Andriy Gapon
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, ...)

2009-06-30 Thread Andriy Gapon
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, ...)

2009-06-30 Thread Jaakko Heinonen
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, ...)

2009-06-30 Thread Mike Andrews

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