Print this page
XXXX give me a better summary
*** 649,659 ****
off = pp->p_offset;
doff = off;
dlen = PAGESIZE;
! if (err = swap_newphysname(vp, off, &doff, &dlen, &pvp, &poff)) {
err = (flags == (B_ASYNC | B_FREE) ? ENOMEM : 0);
hat_setmod(pp);
page_io_unlock(pp);
page_unlock(pp);
goto out;
--- 649,660 ----
off = pp->p_offset;
doff = off;
dlen = PAGESIZE;
! /* All newphysname() failure types are treated the same. */
! if (swap_newphysname(vp, off, &doff, &dlen, &pvp, &poff) != 0) {
err = (flags == (B_ASYNC | B_FREE) ? ENOMEM : 0);
hat_setmod(pp);
page_io_unlock(pp);
page_unlock(pp);
goto out;
*** 693,704 ****
continue;
}
/* Get new physical backing store for the page */
doff = off;
dlen = PAGESIZE;
! if (err = swap_newphysname(vp, off, &doff, &dlen,
! &pvp, &poff)) {
swap_otherfail++;
swap_otherpages += btop(klsz);
hat_setmod(pp);
page_io_unlock(pp);
page_unlock(pp);
--- 694,704 ----
continue;
}
/* Get new physical backing store for the page */
doff = off;
dlen = PAGESIZE;
! if (swap_newphysname(vp, off, &doff, &dlen, &pvp, &poff) != 0) {
swap_otherfail++;
swap_otherpages += btop(klsz);
hat_setmod(pp);
page_io_unlock(pp);
page_unlock(pp);