Home | History | Annotate | Download | only in nfs

Lines Matching refs:np

580 nfsm_reqh(struct nfsnode *np, u_long procid, int hsiz, char **bposp)
1158 #define _NFSDC_MTX(np) (NFSTOV(np)->v_interlock)
1159 #define NFSDC_LOCK(np) mutex_enter(_NFSDC_MTX(np))
1160 #define NFSDC_UNLOCK(np) mutex_exit(_NFSDC_MTX(np))
1161 #define NFSDC_ASSERT_LOCKED(np) KASSERT(mutex_owned(_NFSDC_MTX(np)))
1166 struct nfsnode *np = VTONFS(vp);
1172 NFSDC_LOCK(np);
1173 if (np->n_dircache == NULL) {
1174 np->n_dircachesize = 0;
1175 np->n_dircache = dircache;
1177 TAILQ_INIT(&np->n_dirchain);
1179 NFSDC_UNLOCK(np);
1187 struct nfsnode *np = VTONFS(vp);
1193 NFSDC_LOCK(np);
1194 if (np->n_dirgens == NULL) {
1195 np->n_dirgens = dirgens;
1198 NFSDC_UNLOCK(np);
1205 static void nfs_unlinkdircache(struct nfsnode *np, struct nfsdircache *);
1210 nfs_unlinkdircache(struct nfsnode *np, struct nfsdircache *ndp)
1213 NFSDC_ASSERT_LOCKED(np);
1219 TAILQ_REMOVE(&np->n_dirchain, ndp, dc_chain);
1223 nfs_putdircache_unlocked(np, ndp);
1227 nfs_putdircache(struct nfsnode *np, struct nfsdircache *ndp)
1235 NFSDC_LOCK(np);
1237 NFSDC_UNLOCK(np);
1244 nfs_putdircache_unlocked(struct nfsnode *np, struct nfsdircache *ndp)
1248 NFSDC_ASSERT_LOCKED(np);
1264 struct nfsnode *np = VTONFS(vp);
1274 if (!np->n_dircache)
1285 ndhp = &np->n_dircache[ent];
1287 ndhp = NFSDIRHASH(np, off);
1291 *hashent = (int)(ndhp - np->n_dircache);
1293 NFSDC_LOCK(np);
1318 NFSDC_UNLOCK(np);
1327 struct nfsnode *np = VTONFS(vp);
1343 if (!np->n_dircache)
1350 if ((nmp->nm_flag & NFSMNT_XLATECOOKIE) && !np->n_dirgens)
1356 NFSDC_LOCK(np);
1364 nfs_unlinkdircache(np, ndp);
1365 nfs_putdircache_unlocked(np, ndp);
1369 ndhp = &np->n_dircache[hashent];
1373 NFSDC_UNLOCK(np);
1387 KASSERT(np->n_dirgens);
1388 gen = ++np->n_dirgens[hashent];
1390 np->n_dirgens[hashent]++;
1413 if (np->n_dircachesize == NFS_MAXDIRCACHE) {
1414 nfs_unlinkdircache(np, TAILQ_FIRST(&np->n_dirchain));
1416 np->n_dircachesize++;
1420 TAILQ_INSERT_TAIL(&np->n_dirchain, ndp, dc_chain);
1424 NFSDC_UNLOCK(np);
1426 nfs_putdircache(np, newndp);
1433 struct nfsnode *np = VTONFS(vp);
1444 np->n_flag &= ~NEOFVALID;
1446 if (!np->n_dircache)
1449 NFSDC_LOCK(np);
1451 while ((ndp = TAILQ_FIRST(&np->n_dirchain)) != NULL) {
1453 nfs_unlinkdircache(np, ndp);
1455 np->n_dircachesize = 0;
1456 if (forcefree && np->n_dirgens) {
1457 kmem_free(np->n_dirgens,
1459 np->n_dirgens = NULL;
1462 TAILQ_FOREACH(ndp, &np->n_dirchain, dc_chain)
1466 NFSDC_UNLOCK(np);
1757 struct nfsnode *np;
1762 np = VTONFS(vp);
1763 if (vp->v_type != VREG || vp->v_mount != c->mp || np == NULL)
1782 struct nfsnode *np;
1796 np = VTONFS(vp);
1797 np->n_pushlo = np->n_pushhi = np->n_pushedlo =
1798 np->n_pushedhi = 0;
1799 np->n_commitflags &=
1824 struct nfsnode *np = VTONFS(vp);
1826 KASSERT(np->n_commitflags & NFS_COMMIT_PUSH_VALID);
1828 if (!(np->n_commitflags & NFS_COMMIT_PUSHED_VALID)) {
1829 np->n_pushedlo = np->n_pushlo;
1830 np->n_pushedhi = np->n_pushhi;
1831 np->n_commitflags |= NFS_COMMIT_PUSHED_VALID;
1833 if (np->n_pushlo < np->n_pushedlo)
1834 np->n_pushedlo = np->n_pushlo;
1835 if (np->n_pushhi > np->n_pushedhi)
1836 np->n_pushedhi = np->n_pushhi;
1839 np->n_pushlo = np->n_pushhi = 0;
1840 np->n_commitflags &= ~NFS_COMMIT_PUSH_VALID;
1843 printf("merge: committed: %u - %u\n", (unsigned)np->n_pushedlo,
1844 (unsigned)np->n_pushedhi);
1851 struct nfsnode *np = VTONFS(vp);
1854 if (!(np->n_commitflags & NFS_COMMIT_PUSHED_VALID))
1859 return (lo >= np->n_pushedlo && hi <= np->n_pushedhi);
1865 struct nfsnode *np = VTONFS(vp);
1868 if (!(np->n_commitflags & NFS_COMMIT_PUSH_VALID))
1873 return (lo >= np->n_pushlo && hi <= np->n_pushhi);
1879 struct nfsnode *np = VTONFS(vp);
1885 if (!(np->n_commitflags & NFS_COMMIT_PUSHED_VALID)) {
1886 np->n_pushedlo = lo;
1887 np->n_pushedhi = hi;
1888 np->n_commitflags |= NFS_COMMIT_PUSHED_VALID;
1890 if (hi > np->n_pushedhi)
1891 np->n_pushedhi = hi;
1892 if (lo < np->n_pushedlo)
1893 np->n_pushedlo = lo;
1896 printf("add: committed: %u - %u\n", (unsigned)np->n_pushedlo,
1897 (unsigned)np->n_pushedhi);
1904 struct nfsnode *np = VTONFS(vp);
1907 if (!(np->n_commitflags & NFS_COMMIT_PUSHED_VALID))
1913 if (lo > np->n_pushedhi || hi < np->n_pushedlo)
1915 if (lo <= np->n_pushedlo)
1916 np->n_pushedlo = hi;
1917 else if (hi >= np->n_pushedhi)
1918 np->n_pushedhi = lo;
1925 if ((np->n_pushedlo - lo) > (hi - np->n_pushedhi))
1926 np->n_pushedhi = lo;
1928 np->n_pushedlo = hi;
1931 printf("del: committed: %u - %u\n", (unsigned)np->n_pushedlo,
1932 (unsigned)np->n_pushedhi);
1939 struct nfsnode *np = VTONFS(vp);
1945 if (!(np->n_commitflags & NFS_COMMIT_PUSH_VALID)) {
1946 np->n_pushlo = lo;
1947 np->n_pushhi = hi;
1948 np->n_commitflags |= NFS_COMMIT_PUSH_VALID;
1950 if (lo < np->n_pushlo)
1951 np->n_pushlo = lo;
1952 if (hi > np->n_pushhi)
1953 np->n_pushhi = hi;
1956 printf("add: tobecommitted: %u - %u\n", (unsigned)np->n_pushlo,
1957 (unsigned)np->n_pushhi);
1964 struct nfsnode *np = VTONFS(vp);
1967 if (!(np->n_commitflags & NFS_COMMIT_PUSH_VALID))
1973 if (lo > np->n_pushhi || hi < np->n_pushlo)
1976 if (lo <= np->n_pushlo)
1977 np->n_pushlo = hi;
1978 else if (hi >= np->n_pushhi)
1979 np->n_pushhi = lo;
1986 if ((np->n_pushlo - lo) > (hi - np->n_pushhi))
1987 np->n_pushhi = lo;
1989 np->n_pushlo = hi;
1992 printf("del: tobecommitted: %u - %u\n", (unsigned)np->n_pushlo,
1993 (unsigned)np->n_pushhi);