<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-barbosa-afs3-vldb-locktimestamp-00"
  ipr="noDerivativesTrust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">

  <front>
    <title abbrev="VLDB_CAPABILITY_LOCKTIMESTAMP">Repurpose spares2 Field for Volume Lock Timestamp in nvldbentry and uvldbentry</title>
    <seriesInfo name="Internet-Draft" value="draft-barbosa-afs3-vldb-locktimestamp-00"/>
    <author fullname="Marcio Brito Barbosa" initials="M" surname="Barbosa">
      <organization>Sine Nomine Associates</organization>
      <address>
        <email>mbarbosa@sinenomine.net</email>
      </address>
    </author>
   
    <date year="2023"/>
    <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>afs</keyword>
    <keyword>afs3</keyword>
    <keyword>afs-3</keyword>

    <abstract>
	<t>
	  This document proposes the repurposing of the currently unused spares2 field within the nvldbentry
	  and uvldbentry structures. The primary objective is to utilize this field for storing the timestamp
	  representing the date and time when a given volume location entry was locked. To make this possible,
	  this memo requests the allocation of a new capability bit, VLDB_CAPABILITY_LOCKTIMESTAMP, to be
	  advertised by the Volume Location Server. When advertised, this bit indicates that the server has
	  the capacity to provide the timestamp in question.
	</t>
    </abstract>

    <note title="Internet Draft Comments">
      <t>
	  Comments regarding this draft are solicited. Please include the AFS-3 protocol standardization
	  mailing list (afs3-standardization@openafs.org) as a recipient of any comments.
      </t>
    </note>

  </front>

  <middle>
    
    <section>
      <name>Introduction</name>
      <t>
	  The Volume Location Server is a critical component in AFS, responsible for providing a lookup service
	  for volumes, identifying the server or set of servers on which volume instances can be found. Currently,
	  there is a lack of standardized mechanisms to convey whether it can provide the date and time when a
	  volume location entry was locked. This memo seeks to address this limitation by repurposing a currently
	  unused volume location entry field and requesting the allocation of a new capability bit.
      </t>
      
      <section>
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
          "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
          RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
          interpreted as described in BCP 14 <xref target="RFC2119"/>
          <xref target="RFC8174"/> when, and only when, they appear in
          all capitals, as shown here.</t>
      </section>
    </section>
    
    <section>
      <name>Motivation</name>
      <t>
	  Knowing the date and time when a volume location entry was locked can be valuable for various purposes,
	  such as auditing and troubleshooting. It allows administrators and users to track and analyze the history
	  of volume locks, enabling them to understand the sequence of events and take appropriate actions when
	  necessary.
      </t>
    </section>

    <section>
       <name>Capability description</name>
      <t>
	  If the VLDB_CAPABILITY_LOCKTIMESTAMP bit is advertised, the Volume Location Server should be able to
	  retrieve and return the lock timestamp for a given volume location entry upon request from clients. The lock
	  timestamp should represent the date and time when a given entry was locked.<br/><br/>

	  To make this possible, the spares2 field within the nvldbentry and uvldbentry structures has been designated
	  for the purpose of returning the mentioned timestamp.
      </t>
    </section>   

    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>

    <section>
       <name>AFS Assigned Numbers Registrar Considerations</name>
      <t>
          This memo requests the allocation of a new capability bit to be advertised by the Volume Location Server.
      </t>
    </section>   
   
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>
	  This memo does not introduce any new security considerations beyond those already inherent in the underlying
	  protocols it relies on.
      </t>
    </section>
    
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        
	   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
	   <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      </references>
 
      <references>
        <name>Informative References</name>
       
        <reference anchor="I-D.keiser-afs3-capabilities-00" target="https://datatracker.ietf.org/doc/html/draft-keiser-afs3-capabilities">
          <front>
            <title>AFS-3 Protocol Capabilities Query Mechanism</title>
            <author initials="T" surname="Keiser">
              <organization/>
            </author>
            <date year="2012"/>
          </front>
        </reference>

      </references>
    </references>
    
    <section anchor="Acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>
	  The author would like to thank Thomas Keiser, as the draft authored by him, titled "AFS-3 Protocol Capabilities Query Mechanism"
	  <xref target="I-D.keiser-afs3-capabilities-00"/>, served as a reference throughout the development of this draft.
      </t>
    </section>

 </back>
</rfc>
