nfs_vnops.c (108648) | nfs_vnops.c (109623) |
---|---|
1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 23 unchanged lines hidden (view full) --- 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 37 */ 38 39#include <sys/cdefs.h> | 1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 23 unchanged lines hidden (view full) --- 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 37 */ 38 39#include <sys/cdefs.h> |
40__FBSDID("$FreeBSD: head/sys/nfsclient/nfs_vnops.c 108648 2003-01-04 08:47:19Z phk $"); | 40__FBSDID("$FreeBSD: head/sys/nfsclient/nfs_vnops.c 109623 2003-01-21 08:56:16Z alfred $"); |
41 42/* 43 * vnode op calls for Sun NFS version 2 and 3 44 */ 45 46#include "opt_inet.h" 47 48#include <sys/param.h> --- 350 unchanged lines hidden (view full) --- 399 auio.uio_segflg = UIO_SYSSPACE; 400 auio.uio_rw = UIO_READ; 401 auio.uio_td = ap->a_td; 402 403 if (vp->v_type == VREG) 404 error = nfs_readrpc(vp, &auio, ap->a_cred); 405 else if (vp->v_type == VDIR) { 406 char* bp; | 41 42/* 43 * vnode op calls for Sun NFS version 2 and 3 44 */ 45 46#include "opt_inet.h" 47 48#include <sys/param.h> --- 350 unchanged lines hidden (view full) --- 399 auio.uio_segflg = UIO_SYSSPACE; 400 auio.uio_rw = UIO_READ; 401 auio.uio_td = ap->a_td; 402 403 if (vp->v_type == VREG) 404 error = nfs_readrpc(vp, &auio, ap->a_cred); 405 else if (vp->v_type == VDIR) { 406 char* bp; |
407 bp = malloc(NFS_DIRBLKSIZ, M_TEMP, M_WAITOK); | 407 bp = malloc(NFS_DIRBLKSIZ, M_TEMP, 0); |
408 aiov.iov_base = bp; 409 aiov.iov_len = auio.uio_resid = NFS_DIRBLKSIZ; 410 error = nfs_readdirrpc(vp, &auio, ap->a_cred); 411 free(bp, M_TEMP); 412 } else if (vp->v_type == VLNK) 413 error = nfs_readlinkrpc(vp, &auio, ap->a_cred); 414 else 415 error = EACCES; --- 1949 unchanged lines hidden (view full) --- 2365 2366 cache_purge(dvp); 2367 np = VTONFS(vp); 2368#ifndef DIAGNOSTIC 2369 if (vp->v_type == VDIR) 2370 panic("nfs: sillyrename dir"); 2371#endif 2372 MALLOC(sp, struct sillyrename *, sizeof (struct sillyrename), | 408 aiov.iov_base = bp; 409 aiov.iov_len = auio.uio_resid = NFS_DIRBLKSIZ; 410 error = nfs_readdirrpc(vp, &auio, ap->a_cred); 411 free(bp, M_TEMP); 412 } else if (vp->v_type == VLNK) 413 error = nfs_readlinkrpc(vp, &auio, ap->a_cred); 414 else 415 error = EACCES; --- 1949 unchanged lines hidden (view full) --- 2365 2366 cache_purge(dvp); 2367 np = VTONFS(vp); 2368#ifndef DIAGNOSTIC 2369 if (vp->v_type == VDIR) 2370 panic("nfs: sillyrename dir"); 2371#endif 2372 MALLOC(sp, struct sillyrename *, sizeof (struct sillyrename), |
2373 M_NFSREQ, M_WAITOK); | 2373 M_NFSREQ, 0); |
2374 sp->s_cred = crhold(cnp->cn_cred); 2375 sp->s_dvp = dvp; 2376 VREF(dvp); 2377 2378 /* Fudge together a funny name */ 2379 pid = cnp->cn_thread->td_proc->p_pid; 2380 sp->s_namlen = sprintf(sp->s_name, ".nfsA%04x4.4", pid); 2381 --- 51 unchanged lines hidden (view full) --- 2433 if (npp && !error) { 2434 nfsm_getfh(nfhp, fhlen, v3); 2435 if (*npp) { 2436 np = *npp; 2437 if (np->n_fhsize > NFS_SMALLFH && fhlen <= NFS_SMALLFH) { 2438 free((caddr_t)np->n_fhp, M_NFSBIGFH); 2439 np->n_fhp = &np->n_fh; 2440 } else if (np->n_fhsize <= NFS_SMALLFH && fhlen>NFS_SMALLFH) | 2374 sp->s_cred = crhold(cnp->cn_cred); 2375 sp->s_dvp = dvp; 2376 VREF(dvp); 2377 2378 /* Fudge together a funny name */ 2379 pid = cnp->cn_thread->td_proc->p_pid; 2380 sp->s_namlen = sprintf(sp->s_name, ".nfsA%04x4.4", pid); 2381 --- 51 unchanged lines hidden (view full) --- 2433 if (npp && !error) { 2434 nfsm_getfh(nfhp, fhlen, v3); 2435 if (*npp) { 2436 np = *npp; 2437 if (np->n_fhsize > NFS_SMALLFH && fhlen <= NFS_SMALLFH) { 2438 free((caddr_t)np->n_fhp, M_NFSBIGFH); 2439 np->n_fhp = &np->n_fh; 2440 } else if (np->n_fhsize <= NFS_SMALLFH && fhlen>NFS_SMALLFH) |
2441 np->n_fhp =(nfsfh_t *)malloc(fhlen, M_NFSBIGFH, M_WAITOK); | 2441 np->n_fhp =(nfsfh_t *)malloc(fhlen, M_NFSBIGFH, 0); |
2442 bcopy((caddr_t)nfhp, (caddr_t)np->n_fhp, fhlen); 2443 np->n_fhsize = fhlen; 2444 newvp = NFSTOV(np); 2445 } else if (NFS_CMPFH(dnp, nfhp, fhlen)) { 2446 VREF(dvp); 2447 newvp = dvp; 2448 } else { 2449 error = nfs_nget(dvp->v_mount, nfhp, fhlen, &np); --- 702 unchanged lines hidden --- | 2442 bcopy((caddr_t)nfhp, (caddr_t)np->n_fhp, fhlen); 2443 np->n_fhsize = fhlen; 2444 newvp = NFSTOV(np); 2445 } else if (NFS_CMPFH(dnp, nfhp, fhlen)) { 2446 VREF(dvp); 2447 newvp = dvp; 2448 } else { 2449 error = nfs_nget(dvp->v_mount, nfhp, fhlen, &np); --- 702 unchanged lines hidden --- |