Print this page
XXXX give me a better summary

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/swapfs/swap_vnops.c
          +++ new/usr/src/uts/common/fs/swapfs/swap_vnops.c
↓ open down ↓ 643 lines elided ↑ open up ↑
 644  644              "swap_putapage: pp %p, vp %p, off %llx, flags %x\n",
 645  645              pp, vp, pp->p_offset, flags, 0);
 646  646  
 647  647          ASSERT(PAGE_LOCKED(pp));
 648  648  
 649  649          off = pp->p_offset;
 650  650  
 651  651          doff = off;
 652  652          dlen = PAGESIZE;
 653  653  
 654      -        if (err = swap_newphysname(vp, off, &doff, &dlen, &pvp, &poff)) {
      654 +        /* All newphysname() failure types are treated the same. */
      655 +        if (swap_newphysname(vp, off, &doff, &dlen, &pvp, &poff) != 0) {
 655  656                  err = (flags == (B_ASYNC | B_FREE) ? ENOMEM : 0);
 656  657                  hat_setmod(pp);
 657  658                  page_io_unlock(pp);
 658  659                  page_unlock(pp);
 659  660                  goto out;
 660  661          }
 661  662  
 662  663          klvp = pvp;
 663  664          klstart = poff;
 664  665          pplist = pp;
↓ open down ↓ 23 lines elided ↑ open up ↑
 688  689                          sw_putfree(arg);
 689  690                          break;
 690  691                  }
 691  692                  if (pvn_getdirty(pp, flags | B_DELWRI) == 0) {
 692  693                          sw_putfree(arg);
 693  694                          continue;
 694  695                  }
 695  696                  /* Get new physical backing store for the page */
 696  697                  doff = off;
 697  698                  dlen = PAGESIZE;
 698      -                if (err = swap_newphysname(vp, off, &doff, &dlen,
 699      -                    &pvp, &poff)) {
      699 +                if (swap_newphysname(vp, off, &doff, &dlen, &pvp, &poff) != 0) {
 700  700                          swap_otherfail++;
 701  701                          swap_otherpages += btop(klsz);
 702  702                          hat_setmod(pp);
 703  703                          page_io_unlock(pp);
 704  704                          page_unlock(pp);
 705  705                          sw_putbackreq(arg);
 706  706                          break;
 707  707                  }
 708  708                  /* Try to cluster new physical name with previous ones */
 709  709                  if (klvp == pvp && poff == klstart + klsz) {
↓ open down ↓ 73 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX