Print this page
Fix NFS design problems re. multiple zone keys
Make NFS server zone-specific data all have the same lifetime
Fix rfs4_clean_state_exi
Fix exi_cache_reclaim
Fix mistakes in zone keys work
More fixes re. exi_zoneid and exi_tree
(danmcd -> Keep some ASSERT()s around for readability.)


 735                 ENQUEUE_IDX(bp, l);
 736         }
 737 
 738         NFS4_DEBUG(
 739             table->dbt_debug & SEARCH_DEBUG || table->dbt_debug & CREATE_DEBUG,
 740             (CE_NOTE, "Entry %p created for %s = %p in table %s",
 741             (void*)entry, idx->dbi_keyname, (void*)key, table->dbt_name));
 742 
 743         return (entry->dbe_data);
 744 }
 745 
 746 /*ARGSUSED*/
 747 boolean_t
 748 rfs4_cpr_callb(void *arg, int code)
 749 {
 750         rfs4_bucket_t *buckets, *bp;
 751         rfs4_link_t *l;
 752         rfs4_client_t *cp;
 753         int i;
 754 
 755         nfs4_srv_t *nsrv4 = zone_getspecific(rfs4_zone_key, curzone);
 756         rfs4_table_t *table = nsrv4->rfs4_client_tab;
 757 
 758         /*
 759          * We get called for Suspend and Resume events.
 760          * For the suspend case we simply don't care!  Nor do we care if
 761          * there are no clients.
 762          */
 763         if (code == CB_CODE_CPR_CHKPT || table == NULL) {
 764                 return (B_TRUE);
 765         }
 766 
 767         buckets = table->dbt_indices->dbi_buckets;
 768 
 769         /*
 770          * When we get this far we are in the process of
 771          * resuming the system from a previous suspend.
 772          *
 773          * We are going to blast through and update the
 774          * last_access time for all the clients and in
 775          * doing so extend them by one lease period.




 735                 ENQUEUE_IDX(bp, l);
 736         }
 737 
 738         NFS4_DEBUG(
 739             table->dbt_debug & SEARCH_DEBUG || table->dbt_debug & CREATE_DEBUG,
 740             (CE_NOTE, "Entry %p created for %s = %p in table %s",
 741             (void*)entry, idx->dbi_keyname, (void*)key, table->dbt_name));
 742 
 743         return (entry->dbe_data);
 744 }
 745 
 746 /*ARGSUSED*/
 747 boolean_t
 748 rfs4_cpr_callb(void *arg, int code)
 749 {
 750         rfs4_bucket_t *buckets, *bp;
 751         rfs4_link_t *l;
 752         rfs4_client_t *cp;
 753         int i;
 754 
 755         nfs4_srv_t *nsrv4 = nfs4_get_srv();
 756         rfs4_table_t *table = nsrv4->rfs4_client_tab;
 757 
 758         /*
 759          * We get called for Suspend and Resume events.
 760          * For the suspend case we simply don't care!  Nor do we care if
 761          * there are no clients.
 762          */
 763         if (code == CB_CODE_CPR_CHKPT || table == NULL) {
 764                 return (B_TRUE);
 765         }
 766 
 767         buckets = table->dbt_indices->dbi_buckets;
 768 
 769         /*
 770          * When we get this far we are in the process of
 771          * resuming the system from a previous suspend.
 772          *
 773          * We are going to blast through and update the
 774          * last_access time for all the clients and in
 775          * doing so extend them by one lease period.