From jforte@sac.sfbay.sun.com Wed Jul  9 14:54:24 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69LsNrQ027953
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 9 Jul 2008 14:54:24 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m69LsKWE006685;
	Wed, 9 Jul 2008 22:54:23 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3R00I01E6L7Y00@nwk-avmta-2.sfbay.sun.com>; Wed,
 09 Jul 2008 14:54:21 -0700 (PDT)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3R007P8E6KDCE0@nwk-avmta-2.sfbay.sun.com>; Wed,
 09 Jul 2008 14:54:20 -0700 (PDT)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id m69LsKAI023271; Wed, 09 Jul 2008 14:54:20 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69LsIte027946; Wed,
 09 Jul 2008 14:54:18 -0700 (PDT)
Received: (from jforte@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id m69LsIUt027942; Wed,
 09 Jul 2008 14:54:18 -0700 (PDT)
Date: Wed, 09 Jul 2008 14:54:18 -0700 (PDT)
From: John Forte <jforte@sac.sfbay.sun.com>
Subject: libstmf enhancement for provider data [PSARC/2008/434 Self Review]
To: PSARC-ext@sun.com
Message-id: <200807092154.m69LsIUt027942@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 6850


I am self-sponsoring this case.

The case adds two committed interfaces to libstmf(3LIB). The binding is 
patch as is the original case PSARC/2007/523.

Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 libstmf enhancement for provider data
    1.2. Name of Document Author/Supplier:
	 Author:  John Forte
    1.3  Date of This Document:
	09 July, 2008
4. Technical Description
SUMMARY
    This case adds two new interfaces to libstmf (PSARC 2007/523) for managing 
    provider data for concurrent clients.
    
PROBLEM
    There are two existing interfaces (stmfGetProviderData(3STMF),
    stmfSetProviderData(3STMF)) that enable a client to get and set provider
    data. Unfortunately there is no mechanism by which a client issuing a
    set operation can determine whether the set is in conflict with another
    client issuing a set operation on the same provider data, i.e. a set of 
    stale data.

PROPOSED SOLUTION
    Two new interfaces (stmfGetProviderDataProt(),
    stmfSetProviderDataProt()) provide the caller with a token to be
    retrieved on "get" and passed on "set" that will enable the client to
    determine on "set" whether the data retrieved from the get matching
    the passed token is not stale. If the token is no longer valid, the
    call to "set" will fail with STMF_ERROR_PROV_DATA_STALE. Alternately,
    the token may be set to NULL by the caller for the "get" or "set" which
    will effectively revert these calls to stmfGetProviderData() and
    stmfSetProviderData() respectively. This case will deprecate
    stmfGetProviderData(3STMF) and stmfSetProviderData(3STMF).


MANPAGE ADDITIONS
    
stmfGetProviderDataProt(3STMF):

    NAME
         stmfGetProviderDataProt - retrieve the data  for  the  specified
	      provider

    SYNOPSIS
           cc [ flag... ] file... -lstmf [ library... ]
	   #include <libstmf.h>

	   int stmfGetProviderDataProt(char *providerName, nvlist_t **nvl,
	       int providerType, uint64_t *token);


     PARAMETERS
           providerName    The name of the provider for which  data  is
			   being retrieved.


	   nvl             A pointer to a pointer to  an nvlist_t.  On success,
		           this will contain the nvlist retrieved.  Caller is
			   responsible for freeing the returned nvlist by
			   calling nvlist_free(3NVPAIR).

	   providerType    The value for this parameter must be either
	                   STMF_LU_PROVIDER_TYPE		or
			   STMF_PORT_PROVIDER_TYPE.

           token	   A pointer to a uint64_t allocated by the caller.
	                   On success, this will contain a token for the
			   returned data that can be used in a call to
			   stmfSetProviderDataProt(3STMF) to ensure that
			   the data returned in this call is not stale.
			   If this value is NULL, the token will be
			   ignored.
			   

     DESCRIPTION
          The stmfGetProviderDataProt() function retrieves the data for the
	  specified provider.  

     RETURN VALUES
          The following values are returned:
	  
	  STMF_ERROR_NOMEM        The library was unable to allocate sufficient
	                          memory to return the data.

	  STMF_STATUS_SUCCESS     The API call was successful.  

     ATTRIBUTES
          See attributes(5) for descriptions of the  following  attri-
          butes:
	  _____________________________________________________________
	  |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
	  |_____________________________|_____________________________|
	  | Interface Stability         | Committed                   |
	  |_____________________________|_____________________________|
	  | MT-Level                    | Safe                        |
	  |_____________________________|_____________________________|

      SEE ALSO
	   libstmf(3LIB), nvlist_free(3NVPAIR), attributes(5)




stmfSetProviderDataProt(3STMF):

    NAME
         stmfSetProviderDataProt - retrieve the data  for  the  specified
	      provider

    SYNOPSIS
           cc [ flag... ] file... -lstmf [ library... ]
	   #include <libstmf.h>

	   int stmfSetProviderData(char *providerName, nvlist_t **nvl,
	       int providerType, uint64_t *token);


     PARAMETERS
           providerName    The name of the provider for which  data  is
			   being retrieved.


	   nvl             A pointer to a an nvlist_t containing the nvlist
			   to be set.

	   providerType    The value for this parameter must be either
	                   STMF_LU_PROVIDER_TYPE		or
			   STMF_PORT_PROVIDER_TYPE.

           token	   A pointer to a uint64_t that contains the value
			   returned from a successful call to
			   stmfGetProviderDataProt(3STMF). If this argument
			   is NULL, the token is ignored. Otherwise, the
			   token will be verified against the current data.
			   If the token represents stale data, the call
			   fails.

	                   On success, this will contain the new token for the
			   data being set and can be used in subsequent
			   calls to stmfSetProviderData. On failure the
			   contents are undefined.

     DESCRIPTION
          The stmfSetProviderDataProt() function sets the data for the
	  specified provider.  

     RETURN VALUES
          The following values are returned:
	  
	  STMF_ERROR_NOMEM        The library was unable to allocate sufficient
	                          memory to return the data.

          STMF_ERROR_PROV_DATA_STALE
	                          The token value represents stale data.

	  STMF_STATUS_SUCCESS     The API call was successful.  

     ATTRIBUTES
          See attributes(5) for descriptions of the  following  attri-
          butes:
	  _____________________________________________________________
	  |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
	  |_____________________________|_____________________________|
	  | Interface Stability         | Committed                   |
	  |_____________________________|_____________________________|
	  | MT-Level                    | Safe                        |
	  |_____________________________|_____________________________|

      SEE ALSO
	   libstmf(3LIB), nvlist_free(3NVPAIR), attributes(5)


stmfGetProviderData(3STMF)
    .
    .
    .

     NOTES
	  This interface is deprecated in favor of
	  stmfGetProviderDataProt(3STMF) and may be removed in a future
	  revision of libstmf(3LIB).

stmfGetProviderData(3STMF)
    .
    .
    .


     NOTES
	  This interface is deprecated in favor of
	  stmfSetProviderDataProt(3STMF) and may be removed in a future
	  revision of libstmf(3LIB).



6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		NWS
    6.5. ARC review type: Automatic
    6.6. ARC Exposure: open


From jek3@sun.com Wed Jul  9 16:40:59 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69NewNn029485
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 9 Jul 2008 16:40:59 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m69NeuXk020717
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 10 Jul 2008 07:40:57 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3R00A01J49Y700@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 09 Jul 2008 16:40:57 -0700 (PDT)
Received: from jurassic-x4600.sfbay.sun.com ([129.146.17.63])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3R007C6J486Z20@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 16:40:56 -0700 (PDT)
Received: from [129.150.13.200]
 (vpn-129-150-13-200.SFBay.Sun.COM [129.150.13.200])
	by jurassic-x4600.sfbay.sun.com (8.14.3+Sun/8.14.3)
 with ESMTP id m69Net8F213478; Wed, 09 Jul 2008 16:40:56 -0700 (PDT)
Date: Wed, 09 Jul 2008 13:44:37 -1000
From: Joseph Kowalski <jek3@sun.com>
Subject: Re: libstmf enhancement for provider data [PSARC/2008/434 Self Review]
In-reply-to: <200807092154.m69LsIUt027942@sac.sfbay.sun.com>
To: John Forte <jforte@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com
Message-id: <48754D65.3070807@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807092154.m69LsIUt027942@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080225)
Status: RO
Content-Length: 570

John Forte wrote:
> stmfGetProviderData(3STMF)
>     .
>     .
>     .
>
>      NOTES
> 	  This interface is deprecated in favor of
> 	  stmfGetProviderDataProt(3STMF) and may be removed in a future
> 	  revision of libstmf(3LIB).
>
> stmfGetProviderData(3STMF)
>     .
>     .
>     .
>
>
>      NOTES
> 	  This interface is deprecated in favor of
> 	  stmfSetProviderDataProt(3STMF) and may be removed in a future
> 	  revision of libstmf(3LIB).
>   

Shouldn't there be attribute sections on these pages as well, with the 
stability of "obsolete committed"?

- jek3


From John.Forte@sun.com Thu Jul 10 08:17:46 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m6AFHkI7025748
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 10 Jul 2008 08:17:46 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m6AFHibp050628
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 10 Jul 2008 09:17:46 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3S00J05QHLHG00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 10 Jul 2008 08:17:45 -0700 (PDT)
Received: from brmea-mail-3.sun.com ([192.18.98.34])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3S00G4AQHKWN40@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Thu,
 10 Jul 2008 08:17:45 -0700 (PDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-3.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m6AFHiBd002343	for
 <PSARC-ext@sun.com>; Thu, 10 Jul 2008 15:17:44 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K3S00A01QDABO00@mail-amer.sun.com>
 (original mail from John.Forte@Sun.COM) for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 10 Jul 2008 09:17:44 -0600 (MDT)
Received: from [129.146.56.52] by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0K3S00A0OQHFGBF0@mail-amer.sun.com>; Thu,
 10 Jul 2008 09:17:40 -0600 (MDT)
Date: Thu, 10 Jul 2008 08:16:42 -0700
From: John Forte <John.Forte@sun.com>
Subject: Re: libstmf enhancement for provider data [PSARC/2008/434 Self Review]
In-reply-to: <48754D65.3070807@sun.com>
Sender: John.Forte@sun.com
To: Joseph Kowalski <jek3@sun.com>
Cc: John Forte <jforte@sac.sfbay.sun.com>, PSARC-ext@sun.com
Message-id: <487627DA.2090903@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807092154.m69LsIUt027942@sac.sfbay.sun.com>
 <48754D65.3070807@sun.com>
User-Agent: Thunderbird 2.0.0.4 (X11/20070723)
Status: RO
Content-Length: 709

Joseph Kowalski wrote:
> John Forte wrote:
>> stmfGetProviderData(3STMF)
>>     .
>>     .
>>     .
>>
>>      NOTES
>>       This interface is deprecated in favor of
>>       stmfGetProviderDataProt(3STMF) and may be removed in a future
>>       revision of libstmf(3LIB).
>>
>> stmfGetProviderData(3STMF)
>>     .
>>     .
>>     .
>>
>>
>>      NOTES
>>       This interface is deprecated in favor of
>>       stmfSetProviderDataProt(3STMF) and may be removed in a future
>>       revision of libstmf(3LIB).
>>   
>
> Shouldn't there be attribute sections on these pages as well, with the 
> stability of "obsolete committed"?
>
> - jek3
>
Yes, thanks. Updated materials are in the case directory.

- John

