US2005055360A1PendingUtilityA1

System and method for managing file system extended attributes

Priority: Mar 8, 2001Filed: Oct 18, 2004Published: Mar 10, 2005
Est. expiryMar 8, 2021(expired)· nominal 20-yr term from priority
Y10S707/99943Y10S707/99933G06F 16/10Y10S707/99944Y10S707/918
30
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An extended attribute data page includes extended attribute information about a number of files. The page is divided into areas, each area corresponding to a different file. A given area is further divided into a number of lines containing information about the extended attribute data. Areas include bitmaps indicating available space in the data space and address information for addressing off-page data areas. A directory is included of data types stored in the data area, and additional lines store extended attribute data. The extended attribute directory maintains a list of data types currently stored and related information. Including availability information about each line along with addresses to areas storing extended attribute data enables the extended attribute manager to efficiently determine where to place extended attribute data, mark deleted lines as being available, retrieve data being requested by a process, and modify the contents of a given extended attribute data type.

Claims

exact text as granted — not AI-modified
1 . (Cancelled)  
   
   
       2 . (Cancelled)  
   
   
       3 . (Cancelled)  
   
   
       4 . (Cancelled)  
   
   
       5 . (Cancelled)  
   
   
       6 . (Cancelled)  
   
   
       7 . (Cancelled)  
   
   
       8 . (Cancelled)  
   
   
       9 . (Cancelled)  
   
   
       10 . (Cancelled)  
   
   
       11 . An information handling system comprising: 
 one or more processors;    a memory accessible by the processors;    one or more nonvolatile storage devices accessible by the processors, the nonvolatile storage devices including one or more files and one or more extended attributes associated with the files; and    an extended attribute management tool to manage the extended attributes, the extended attribute tool including: 
 means for identifying a data area in a data space within the nonvolatile storage devices to store attribute data, wherein the data space includes an inline page and one or more outline pages;  
 means for storing the attribute data in the identified data area; and  
 means for marking one or more bits in a bitmap corresponding to the data space, wherein the marked bits correspond to the identified data area.  
   
   
   
       12 . The information handling system as described in  claim 11  further comprising: 
 means for storing an extended attribute type, a size, and an offset in an extended attribute directory.    
   
   
       13 . (Cancelled)  
   
   
       14 . The information handling system as described in  claim 11  wherein the inline page and the outline pages each have a corresponding bitmap.  
   
   
       15 . The information handling system as described in  claim 11  further comprising: 
 means for receiving an extended attribute type and the attribute data;    means for calculating a number of lines needed to store the attribute data in the data space, wherein the data space includes an inline space and one or more outline spaces;    means for analyzing a bitmap corresponding with the inline space to determine whether the calculated number of lines are available in the inline space to store the attribute data; and    means for storing the attribute data in one or more lines included in the inline space in response to the analysis determining that the number of lines are available.    
   
   
       16 . The information handling system as described in  claim 15 , wherein the data space includes one or more outline data spaces, the information handling system further comprising: 
 means for analyzing one or more outline bitmaps, each of the outline bitmaps corresponding with one of the outline data spaces, to determine whether the calculated number of lines are available in any of the outline spaces to store the attribute data; and    means for storing the attribute data in one or more lines included in at least one of the outline spaces in response to the analysis of outline bitmaps determining that the number of lines are available in at least one outline data space.    
   
   
       17 . The information handling system as described in  claim 11  further comprising: 
 means for receiving a retrieval request from a requester for an attribute stored in the data space;    means for identifying an offset and a length in an extended attribute directory corresponding to the requested attribute;    means for calculating a number of lines based on the identified length;    means for retrieving the calculated number of lines from the data space beginning at the offset; and    means for providing the calculated number of lines to the requester.    
   
   
       18 . The information handling system as described in  claim 17  further comprising: 
 means for calculating a last line length corresponding to a last line retrieved based on the length; and    means for truncating the last line based on the last line length prior to the providing.    
   
   
       19 . The information handling system as described in  claim 11  further comprising: 
 means for receiving a deletion request for an attribute stored in the data space;    means for locating an attribute offset and an attribute length in an attribute directory corresponding to the deletion request;    means for calculating a number of lines based on the attribute length;    means for identifying a stored data area based on the attribute offset and the calculated number of lines;    means for resetting one or more bits corresponding to the identified stored data area in the bitmap, wherein the resetting indicates that the corresponding data area is available for storing of a new attribute.    
   
   
       20 . The information handling system as described in  claim 11  further comprising: 
 means for receiving a modification request for an attribute stored in the data space, the request including a modified attribute data;    means for locating an attribute offset and an attribute length in an attribute directory corresponding to the modification request;    means for calculating a stored number of lines based on the attribute length and a needed number of lines based on the modified attribute data;    means for identifying a current storage location within the data space based on the attribute offset and stored number of lines;    means for comparing the stored number of lines with the needed number of lines    in response to the comparing: 
 means for replacing the stored attribute data with the modified attribute data in the identified current storage location in response to the stored number of lines equaling the needed number of lines;  
 means for resetting one or more bits corresponding to the identified current storage location in the bitmap, wherein the resetting includes means for indicating that the corresponding data area is available for storing of a new attribute, in response to the stored number of lines being greater than the needed number of lines;  
 means for relocating the modified attribute data to a different data area response to the stored number of lines being less than the needed number of lines and determining that there is an insufficient number of unused lines following the current storage location to store the modified attribute data; and  
 means for appending the modified attribute data to one or more lines following the current storage location in response to the stored number of lines being less than the needed number of lines and determining that there are a sufficient number of unused lines following the current storage location to store the modified attribute data.  
   
   
   
       21 . (Cancelled)  
   
   
       22 . (Cancelled)  
   
   
       23 . (Cancelled)  
   
   
       24 . (Cancelled)  
   
   
       25 . (Cancelled)  
   
   
       26 . (Cancelled)  
   
   
       27 . (Cancelled)  
   
   
       28 . (Cancelled)  
   
   
       29 . (Cancelled)  
   
   
       30 . (Cancelled)  
   
   
       31 . A method for managing extended attribute data, said method comprising: 
 identifying a data area in a data space to store attribute data, the data space including an inline page and one or more outline pages;    calculating a number of lines needed to store the attribute data in the data space;    analyzing an inline bitmap corresponding with the inline page and one or more outline bitmaps corresponding to the outline pages;    determining a storage location based on the analysis;    storing the attribute data in the determined storage location;    marking one or more bits in the inline bitmap in response to the storage location being included in the inline page;    marking one or more bits in one of the outline bitmaps in response to the storage location being in one of the outline pages; and    registering an extended attribute type, a size, and an offset in an extended attribute directory.    
   
   
       32 . The method as described in  claim 31  further comprising: 
 receiving a retrieval request from a requester for an attribute stored in the data space;    identifying a retrieval offset and a retrieval length in the extended attribute directory corresponding to the requested attribute;    calculating a number of lines based on the identified retrieval length;    retrieving the calculated number of lines from the data space beginning at the offset; and    providing the calculated number of lines to the requester.    
   
   
       33 . The method as described in  claim 32  further comprising: 
 calculating a last line length corresponding to a last line retrieved based on the identified retrieval length; and    truncating the last line based on the last line length prior to the providing.    
   
   
       34 . The method as described in  claim 31  further comprising: 
 receiving a deletion request for an attribute stored in the data space;    locating an attribute offset and an attribute length in the extended attribute directory, the attribute offset and length corresponding to the deletion request;    calculating a number of lines based on the attribute length;    identifying a storage area based on the attribute offset and the calculated number of lines;    resetting one or more bits corresponding to the identified storage area in the inline bitmap in response to the storage area identified as being located in the inline page, wherein the resetting indicates that the corresponding data area is available for storing of a new attribute; and    resetting one or more bits corresponding to the identified storage area in one of the outline bitmaps in response to the storage area identified as being located one of the outline pages, wherein the resetting indicates that the corresponding data area is available for storing of a new attribute.    
   
   
       35 . The method as described in  claim 31  wherein the data space is formatted into a plurality of lines.  
   
   
       36 . An information handling system comprising: 
 one or more processors;    a memory accessible by the processors;    one or more nonvolatile storage devices accessible by the processors, the nonvolatile storage devices including one or more files and one or more extended attributes associated with the files; and    an extended attribute management tool to manage the extended attributes, the extended attribute tool including: 
 means for identifying a data area in a data space to store attribute data, the data space including an inline page and one or more outline pages;  
 means for calculating a number of lines needed to store the attribute data in the data space;  
 means for analyzing an inline bitmap corresponding with the inline page and one or more outline bitmaps corresponding to the outline pages;  
 means for determining a storage location based on the analysis;  
 means for storing the attribute data in the determined storage location;  
 means for marking one or more bits in the inline bitmap in response to the storage location being included in the inline page;  
 means for marking one or more bits in one of the outline bitmaps in response to the storage location being in one of the outline pages; and  
 means for registering an extended attribute type, a size, and an offset in an extended attribute directory.  
   
   
   
       37 . The information handling system as described in  claim 36  further comprising: 
 means for receiving a retrieval request from a requester for an attribute stored in the data space;    means for identifying a retrieval offset and a retrieval length in the extended attribute directory corresponding to the requested attribute;    means for calculating a number of lines based on the identified retrieval length;    means for retrieving the calculated number of lines from the data space beginning at the offset; and    means for providing the calculated number of lines to the requester.    
   
   
       38 . The information handling system as described in  claim 37  further comprising: 
 means for calculating a last line length corresponding to a last line retrieved based on the identified retrieval length; and    means for truncating the last line based on the last line length prior to the providing.    
   
   
       39 . The information handling system as described in  claim 31  further comprising: 
 means for receiving a deletion request for an attribute stored in the data space;    means for locating an attribute offset and an attribute length in the extended attribute directory, the attribute offset and length corresponding to the deletion request;    means for calculating a number of lines based on the attribute length;    means for identifying a storage area based on the attribute offset and the calculated number of lines;    means for resetting one or more bits corresponding to the identified storage area in the inline bitmap in response to the storage area identified as being located in the inline page, wherein the resetting indicates that the corresponding data area is available for storing of a new attribute; and    means for resetting one or more bits corresponding to the identified storage area in one of the outline bitmaps in response to the storage area identified as being located one of the outline pages, wherein the resetting indicates that the corresponding data area is available for storing of a new attribute.    
   
   
       40 . The information handling system as described in  claim 31  wherein the data space is formatted into a plurality of lines.

Join the waitlist — get patent alerts

Track US2005055360A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.