Print this page
patch lower-case-segops

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/nfs/nfs3_vnops.c
          +++ new/usr/src/uts/common/fs/nfs/nfs3_vnops.c
↓ open down ↓ 5567 lines elided ↑ open up ↑
5568 5568           * A process may not change zones if it has NFS pages mmap'ed
5569 5569           * in, so we can't legitimately get here from the wrong zone.
5570 5570           */
5571 5571          ASSERT(nfs_zone() == VTOMI(vp)->mi_zone);
5572 5572  
5573 5573          rp = VTOR(vp);
5574 5574  
5575 5575          /*
5576 5576           * The way that the address space of this process deletes its mapping
5577 5577           * of this file is via the following call chains:
5578      -         * - as_free()->SEGOP_UNMAP()/segvn_unmap()->VOP_DELMAP()/nfs3_delmap()
5579      -         * - as_unmap()->SEGOP_UNMAP()/segvn_unmap()->VOP_DELMAP()/nfs3_delmap()
     5578 +         * - as_free()->segop_unmap()/segvn_unmap()->VOP_DELMAP()/nfs3_delmap()
     5579 +         * - as_unmap()->segop_unmap()/segvn_unmap()->VOP_DELMAP()/nfs3_delmap()
5580 5580           *
5581 5581           * With the use of address space callbacks we are allowed to drop the
5582 5582           * address space lock, a_lock, while executing the NFS operations that
5583 5583           * need to go over the wire.  Returning EAGAIN to the caller of this
5584 5584           * function is what drives the execution of the callback that we add
5585 5585           * below.  The callback will be executed by the address space code
5586 5586           * after dropping the a_lock.  When the callback is finished, since
5587 5587           * we dropped the a_lock, it must be re-acquired and segvn_unmap()
5588 5588           * is called again on the same segment to finish the rest of the work
5589 5589           * that needs to happen during unmapping.
↓ open down ↓ 1161 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX