[BACK]Return to nfs_serv.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / nfs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/nfs/nfs_serv.c between version 1.138.6.2 and 1.138.6.3

version 1.138.6.2, 2009/06/20 07:20:34 version 1.138.6.3, 2010/03/11 15:04:31
Line 279  nfsrv_setattr(struct nfsrv_descript *nfs
Line 279  nfsrv_setattr(struct nfsrv_descript *nfs
         memset(&guard, 0, sizeof guard);        /* XXX gcc */          memset(&guard, 0, sizeof guard);        /* XXX gcc */
   
         nfsm_srvmtofh(&nsfh);          nfsm_srvmtofh(&nsfh);
         VATTR_NULL(&va);          vattr_null(&va);
         if (v3) {          if (v3) {
                 nfsm_srvsattr(&va);                  nfsm_srvsattr(&va);
                 nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);                  nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);
Line 428  nfsrv_lookup(struct nfsrv_descript *nfsd
Line 428  nfsrv_lookup(struct nfsrv_descript *nfsd
                         ind.ni_cnd.cn_nameptr = ind.ni_cnd.cn_pnbuf =                          ind.ni_cnd.cn_nameptr = ind.ni_cnd.cn_pnbuf =
                             nfs_pub.np_index;                              nfs_pub.np_index;
                         ind.ni_startdir = nd.ni_vp;                          ind.ni_startdir = nd.ni_vp;
                         VREF(ind.ni_startdir);                          vref(ind.ni_startdir);
                         error = lookup(&ind);                          error = lookup_for_nfsd_index(&ind);
                         if (!error) {                          if (!error) {
                                 /*                                  /*
                                  * Found an index file. Get rid of                                   * Found an index file. Get rid of
Line 714  nfsrv_read(struct nfsrv_descript *nfsd, 
Line 714  nfsrv_read(struct nfsrv_descript *nfsd, 
                         /* map pages */                          /* map pages */
                         for (i = 0; i < npages; i++) {                          for (i = 0; i < npages; i++) {
                                 pmap_kenter_pa(lva, VM_PAGE_TO_PHYS(pgpp[i]),                                  pmap_kenter_pa(lva, VM_PAGE_TO_PHYS(pgpp[i]),
                                     VM_PROT_READ);                                      VM_PROT_READ, 0);
                                 lva += PAGE_SIZE;                                  lva += PAGE_SIZE;
                         }                          }
   
Line 1427  nfsrv_create(struct nfsrv_descript *nfsd
Line 1427  nfsrv_create(struct nfsrv_descript *nfsd
                 return (0);                  return (0);
         }          }
         abort = 1;          abort = 1;
         VATTR_NULL(&va);          vattr_null(&va);
         if (v3) {          if (v3) {
                 va.va_mode = 0;                  va.va_mode = 0;
                 nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);                  nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);
Line 1482  nfsrv_create(struct nfsrv_descript *nfsd
Line 1482  nfsrv_create(struct nfsrv_descript *nfsd
                         if (!error) {                          if (!error) {
                                 if (exclusive_flag) {                                  if (exclusive_flag) {
                                         exclusive_flag = 0;                                          exclusive_flag = 0;
                                         VATTR_NULL(&va);                                          vattr_null(&va);
                                         /*                                          /*
                                          * XXX                                           * XXX
                                          * assuming NFSX_V3CREATEVERF                                           * assuming NFSX_V3CREATEVERF
Line 1542  nfsrv_create(struct nfsrv_descript *nfsd
Line 1542  nfsrv_create(struct nfsrv_descript *nfsd
                         if (!error) {                          if (!error) {
                                 nqsrv_getl(vp, ND_WRITE);                                  nqsrv_getl(vp, ND_WRITE);
                                 tempsize = va.va_size;                                  tempsize = va.va_size;
                                 VATTR_NULL(&va);                                  vattr_null(&va);
                                 va.va_size = tempsize;                                  va.va_size = tempsize;
                                 error = VOP_SETATTR(vp, &va, cred);                                  error = VOP_SETATTR(vp, &va, cred);
                         }                          }
Line 1653  nfsrv_mknod(struct nfsrv_descript *nfsd,
Line 1653  nfsrv_mknod(struct nfsrv_descript *nfsd,
                 error = NFSERR_BADTYPE;                  error = NFSERR_BADTYPE;
                 goto abort;                  goto abort;
         }          }
         VATTR_NULL(&va);          vattr_null(&va);
         va.va_mode = 0;          va.va_mode = 0;
         nfsm_srvsattr(&va);          nfsm_srvsattr(&va);
         if (vtyp == VCHR || vtyp == VBLK) {          if (vtyp == VCHR || vtyp == VBLK) {
Line 1863  nfsrv_rename(struct nfsrv_descript *nfsd
Line 1863  nfsrv_rename(struct nfsrv_descript *nfsd
         saved_uid = kauth_cred_geteuid(cred);          saved_uid = kauth_cred_geteuid(cred);
         fromnd.ni_cnd.cn_cred = cred;          fromnd.ni_cnd.cn_cred = cred;
         fromnd.ni_cnd.cn_nameiop = DELETE;          fromnd.ni_cnd.cn_nameiop = DELETE;
         fromnd.ni_cnd.cn_flags = LOCKPARENT | SAVESTART;          fromnd.ni_cnd.cn_flags = LOCKPARENT | SAVESTART | INRENAME;
         error = nfs_namei(&fromnd, &fnsfh, len, slp, nam, &md,          error = nfs_namei(&fromnd, &fnsfh, len, slp, nam, &md,
                 &dpos, &fdirp, lwp, (nfsd->nd_flag & ND_KERBAUTH), false);                  &dpos, &fdirp, lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
         if (fdirp && v3) {          if (fdirp && v3) {
Line 1934  nfsrv_rename(struct nfsrv_descript *nfsd
Line 1934  nfsrv_rename(struct nfsrv_descript *nfsd
         kauth_cred_seteuid(cred, saved_uid);          kauth_cred_seteuid(cred, saved_uid);
         tond.ni_cnd.cn_cred = cred;          tond.ni_cnd.cn_cred = cred;
         tond.ni_cnd.cn_nameiop = RENAME;          tond.ni_cnd.cn_nameiop = RENAME;
         tond.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART;          tond.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | NOCACHE |
               SAVESTART | INRENAME;
         error = nfs_namei(&tond, &tnsfh, len2, slp, nam, &md,          error = nfs_namei(&tond, &tnsfh, len2, slp, nam, &md,
                 &dpos, &tdirp, lwp, (nfsd->nd_flag & ND_KERBAUTH), false);                  &dpos, &tdirp, lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
         if (tdirp && v3) {          if (tdirp && v3) {
Line 2208  nfsrv_symlink(struct nfsrv_descript *nfs
Line 2209  nfsrv_symlink(struct nfsrv_descript *nfs
         if (error)          if (error)
                 goto out;                  goto out;
         abort = 1;          abort = 1;
         VATTR_NULL(&va);          vattr_null(&va);
         va.va_type = VLNK;          va.va_type = VLNK;
         if (v3) {          if (v3) {
                 va.va_mode = 0;                  va.va_mode = 0;
Line 2346  nfsrv_mkdir(struct nfsrv_descript *nfsd,
Line 2347  nfsrv_mkdir(struct nfsrv_descript *nfsd,
                 return (0);                  return (0);
         }          }
         abort = 1;          abort = 1;
         VATTR_NULL(&va);          vattr_null(&va);
         if (v3) {          if (v3) {
                 va.va_mode = 0;                  va.va_mode = 0;
                 nfsm_srvsattr(&va);                  nfsm_srvsattr(&va);

Legend:
Removed from v.1.138.6.2  
changed lines
  Added in v.1.138.6.3

CVSweb <webmaster@jp.NetBSD.org>