• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/nfs/

Lines Matching refs:bp

1062 				struct nfsbuf *bp;
1069 error = nfs_buf_get(np, obn, biosize, NULL, NBLK_READ, &bp);
1073 FSDBG(512, bp, bp->nb_flags, 0, obn);
1074 SET(bp->nb_flags, NB_INVAL);
1075 nfs_buf_release(bp, 1);
1079 neweofoff = vap->va_data_size - NBOFF(bp);
1081 if ((bp->nb_dirtyend > 0) && (bp->nb_dirtyoff < neweofoff)) {
1083 if (bp->nb_dirtyend > neweofoff) {
1084 bp->nb_dirtyend = neweofoff;
1085 if (bp->nb_dirtyoff >= bp->nb_dirtyend)
1086 bp->nb_dirtyoff = bp->nb_dirtyend = 0;
1088 if ((bp->nb_dirtyend > 0) && (bp->nb_dirtyoff < neweofoff))
1091 bp->nb_dirty &= (1 << round_page_32(neweofoff)/PAGE_SIZE) - 1;
1092 if (bp->nb_dirty)
1095 FSDBG(512, bp, bp->nb_flags, 0, obn);
1096 SET(bp->nb_flags, NB_INVAL);
1097 nfs_buf_release(bp, 1);
1103 CLR(bp->nb_flags, (NB_DONE | NB_ERROR | NB_INVAL | NB_ASYNC | NB_READ));
1104 SET(bp->nb_flags, NB_STABLE | NB_NOCACHE);
1105 if (!IS_VALID_CRED(bp->nb_wcred)) {
1108 bp->nb_wcred = cred;
1110 error = nfs_buf_write(bp);
1111 // Note: bp has been released
1113 FSDBG(512, bp, 0xd00dee, 0xbad, error);
1595 struct nfsbuf *bp = NULL;
1627 error = nfs_buf_get(np, 0, NFS_MAXPATHLEN, vfs_context_thread(ctx), NBLK_READ, &bp);
1633 CLR(bp->nb_flags, NB_CACHE);
1634 if (!ISSET(bp->nb_flags, NB_CACHE)) {
1635 SET(bp->nb_flags, NB_READ);
1636 CLR(bp->nb_flags, NB_DONE);
1638 buflen = bp->nb_bufsize;
1639 error = nmp->nm_funcs->nf_readlink_rpc(np, bp->nb_data, &buflen, ctx);
1641 SET(bp->nb_flags, NB_ERROR);
1642 bp->nb_error = error;
1644 bp->nb_validoff = 0;
1645 bp->nb_validend = buflen;
1647 nfs_buf_iodone(bp);
1651 n = min(uio_uio_resid(uio), bp->nb_validend);
1653 error = uiomove(bp->nb_data, n, uio);
1655 FSDBG(531, np, bp->nb_validend, 0, error);
1656 nfs_buf_release(bp, 1);
1882 struct nfsbuf *bp;
1991 error = nfs_buf_get(np, lbn, biosize, thd, NBLK_WRITE, &bp);
1995 NFS_BUF_MAP(bp);
1998 SET(bp->nb_flags, NB_NOCACHE);
2000 if (!IS_VALID_CRED(bp->nb_wcred)) {
2002 bp->nb_wcred = cred;
2018 if (bp->nb_dirtyend > 0) {
2019 if (on > bp->nb_dirtyend || (on + n) < bp->nb_dirtyoff || bp->nb_dirty) {
2020 FSDBG(515, np, uio->uio_offset, bp, 0xd15c001);
2023 CLR(bp->nb_flags, (NB_DONE | NB_ERROR | NB_INVAL));
2024 SET(bp->nb_flags, (NB_ASYNC | NB_STABLE));
2025 error = nfs_buf_write(bp);
2030 } else if (bp->nb_dirty) {
2038 if (bp->nb_dirty & ~pagemask) {
2039 FSDBG(515, np, uio->uio_offset, bp, 0xd15c002);
2042 CLR(bp->nb_flags, (NB_DONE | NB_ERROR | NB_INVAL));
2043 SET(bp->nb_flags, (NB_ASYNC | NB_STABLE));
2044 error = nfs_buf_write(bp);
2051 if (NBPGDIRTY(bp,firstpg) || NBPGDIRTY(bp,lastpg)) {
2052 FSDBG(515, np, uio->uio_offset, bp, 0xd15c003);
2053 bp->nb_dirtyoff = min(on, firstpg * PAGE_SIZE);
2054 if (NBPGDIRTY(bp,lastpg)) {
2055 bp->nb_dirtyend = (lastpg+1) * PAGE_SIZE;
2057 if (NBOFF(bp) + bp->nb_dirtyend > (off_t)np->n_size) {
2058 bp->nb_dirtyend = np->n_size - NBOFF(bp);
2059 if (bp->nb_dirtyoff >= bp->nb_dirtyend)
2060 bp->nb_dirtyoff = bp->nb_dirtyend = 0;
2063 bp->nb_dirtyend = on+n;
2087 if ((lbn == eofbn) && ISSET(bp->nb_flags, NB_CACHE)) {
2093 FSDBG(515, 0xb1ffa001, bp->nb_valid, pagemask, 0);
2094 if ((bp->nb_valid & pagemask) != pagemask) {
2096 if (on > bp->nb_validend) {
2098 for (i=bp->nb_validend/PAGE_SIZE; i <= (on - 1)/PAGE_SIZE; i++)
2099 NBPGVALID_SET(bp, i);
2100 NFS_BUF_MAP(bp);
2101 FSDBG(516, bp, bp->nb_validend, on - bp->nb_validend, 0xf01e);
2102 bzero((char *)bp->nb_data + bp->nb_validend,
2103 on - bp->nb_validend);
2107 NFS_BUF_MAP(bp);
2108 FSDBG(516, bp, neweofoff, PAGE_SIZE - (neweofoff & PAGE_MASK), 0xe0f);
2109 bzero((char *)bp->nb_data + neweofoff,
2146 if (bp->nb_validend == eofoff)
2147 bp->nb_validend += PAGE_SIZE - poff;
2158 if (NBOFF(bp) + bp->nb_dirtyend > (off_t)np->n_size) {
2159 bp->nb_dirtyend = np->n_size - NBOFF(bp);
2160 if (bp->nb_dirtyoff >= bp->nb_dirtyend)
2161 bp->nb_dirtyoff = bp->nb_dirtyend = 0;
2184 if (!ISSET(bp->nb_flags, NB_NOCACHE) && !ISSET(bp->nb_flags, NB_CACHE) && (n < biosize)) {
2192 if (firstpgoff && !NBPGVALID(bp,firstpg)) {
2197 if (lastpgoff && !NBPGVALID(bp,lastpg)) {
2210 if (NBPGDIRTY(bp,dirtypg))
2218 if (NBPGVALID(bp,((start-1)/PAGE_SIZE)))
2222 NFS_BUF_MAP(bp);
2224 boff = NBOFF(bp);
2240 iov.iov_base = (uintptr_t) bp->nb_data + start;
2243 SET(bp->nb_flags, (NB_NOCACHE|NB_STABLE));
2245 FSDBG(516, bp, (caddr_t)iov.iov_base - bp->nb_data, uio_uio_resid(&auio), 0xd00dee01);
2251 if ((bp->nb_validoff < 0) || (bp->nb_validoff > start))
2252 bp->nb_validoff = start;
2253 if ((bp->nb_validend < 0) || (bp->nb_validend < on))
2254 bp->nb_validend = on;
2255 if ((off_t)np->n_size > boff + bp->nb_validend)
2256 bp->nb_validend = min(np->n_size - (boff + start), biosize);
2259 NBPGVALID_SET(bp, start/PAGE_SIZE);
2270 if (NBPGVALID(bp,end/PAGE_SIZE))
2283 FSDBG(516, bp, start, end - start, 0xd00dee00);
2284 bzero(bp->nb_data + start, end - start);
2286 } else if (!ISSET(bp->nb_flags, NB_NOCACHE)) {
2291 iov.iov_base = (uintptr_t) (bp->nb_data + start);
2294 SET(bp->nb_flags, (NB_NOCACHE|NB_STABLE));
2296 FSDBG(516, bp, (caddr_t)iov.iov_base - bp->nb_data, uio_uio_resid(&auio), 0xd00dee02);
2303 if ((bp->nb_validoff < 0) || (bp->nb_validoff > start))
2304 bp->nb_validoff = start;
2305 if ((bp->nb_validend < 0) || (bp->nb_validend < end))
2306 bp->nb_validend = end;
2307 if ((off_t)np->n_size > boff + bp->nb_validend)
2308 bp->nb_validend = min(np->n_size - (boff + start), biosize);
2311 NBPGVALID_SET(bp, start/PAGE_SIZE);
2314 NBPGVALID_SET(bp, (end-1)/PAGE_SIZE);
2320 if (ISSET(bp->nb_flags, NB_ERROR)) {
2321 error = bp->nb_error;
2322 nfs_buf_release(bp, 1);
2330 NFS_BUF_MAP(bp);
2331 error = uiomove((char *)bp->nb_data + on, n, uio);
2333 SET(bp->nb_flags, NB_ERROR);
2334 nfs_buf_release(bp, 1);
2341 NBPGVALID_SET(bp, start/PAGE_SIZE);
2352 if (bp->nb_dirtyend > 0) {
2353 bp->nb_dirtyoff = min(on, bp->nb_dirtyoff);
2354 bp->nb_dirtyend = max((on + n), bp->nb_dirtyend);
2356 bp->nb_dirtyoff = on;
2357 bp->nb_dirtyend = on + n;
2359 if (bp->nb_validend <= 0 || bp->nb_validend < bp->nb_dirtyoff ||
2360 bp->nb_validoff > bp->nb_dirtyend) {
2361 bp->nb_validoff = bp->nb_dirtyoff;
2362 bp->nb_validend = bp->nb_dirtyend;
2364 bp->nb_validoff = min(bp->nb_validoff, bp->nb_dirtyoff);
2365 bp->nb_validend = max(bp->nb_validend, bp->nb_dirtyend);
2367 if (!ISSET(bp->nb_flags, NB_CACHE))
2368 nfs_buf_normalize_valid_range(np, bp);
2374 if (ISSET(bp->nb_flags, NB_NEEDCOMMIT)) {
2376 if (ISSET(bp->nb_flags, NB_NEEDCOMMIT)) {
2380 CLR(bp->nb_flags, NB_NEEDCOMMIT);
2385 error = nfs_buf_write(bp);
2388 } else if (((n + on) == biosize) || (ioflag & IO_NOCACHE) || ISSET(bp->nb_flags, NB_NOCACHE)) {
2389 SET(bp->nb_flags, NB_ASYNC);
2390 error = nfs_buf_write(bp);
2395 if (!ISSET(bp->nb_flags, NB_DELWRI)) {
2400 nfs_buf_write_delayed(bp);
5867 struct nfsbuf *bp;
5915 if ((bp = nfs_buf_incore(np, lbn))) {
5916 FSDBG(323, off, bp, bp->nb_lflags, bp->nb_flags);
5917 if (nfs_buf_acquire(bp, NBAC_NOWAIT, 0, 0)) {
5925 if (bp->nb_dirtyend > 0) {
5942 boff = NBOFF(bp);
5950 if ((bp->nb_dirtyoff < start) &&
5951 (bp->nb_dirtyend > end)) {
5953 FSDBG(323, np, bp, 0xd00deebc, EBUSY);
5954 nfs_buf_drop(bp);
5961 if ((bp->nb_dirtyoff < start) ||
5962 (bp->nb_dirtyend > end)) {
5964 if (bp->nb_dirtyoff < start)
5965 bp->nb_dirtyend = min(bp->nb_dirtyend, start);
5966 if (bp->nb_dirtyend > end)
5967 bp->nb_dirtyoff = max(bp->nb_dirtyoff, end);
5968 FSDBG(323, bp, bp->nb_dirtyoff, bp->nb_dirtyend, 0xd00dee00);
5970 nfs_buf_drop(bp);
5975 nfs_buf_remfree(bp);
5977 SET(bp->nb_flags, NB_INVAL);
5979 if (ISSET(bp->nb_flags, NB_NEEDCOMMIT)) {
5980 CLR(bp->nb_flags, NB_NEEDCOMMIT);
5985 nfs_buf_release(bp, 1);