Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.

The output of fsadm...

Created: 29 Nov 2012 • Updated: 29 Nov 2012 | 2 comments
This issue has been solved. See solution.

Hi there,

I want to ask what's the meaning of 'blocks used for indirects', and how is it calculated.

On RHEL5.7
# /opt/VRTS/bin/fsadm -D -E /ocr1

  Directory Fragmentation Report
             Dirs        Total      Immed    Immeds   Dirs to   Blocks to
             Searched    Blocks     Dirs     to Add   Reduce    Reduce
  total             3         0         3         0         0           0

    File System Extent Fragmentation Report

  Free Space Fragmentation Index        :       6
  File Fragmentation Index              :       4

  # Files Fragmented by Fragmentation Index
         0       1-25      26-50      51-75     76-100
         3          1          0          0          0

        Total    Average      Average     Total
        Files    File Blks    # Extents   Free Blks
            4        3768           4     1010666
  blocks used for indirects: 0
    % Free blocks in extents smaller than 64 blks: 0.02
    % Free blocks in extents smaller than  8 blks: 0.00
    % blks allocated to extents 64 blks or larger: 99.79
    Free Extents By Size
           1:          2            2:          2            4:          3  
           8:          3           16:          2           32:          3  
          64:          1          128:          2          256:          2  
         512:          2         1024:          1         2048:          0  
        4096:          2         8192:          2        16384:          0  
       32768:          0        65536:          1       131072:          1  
      262144:          1       524288:          1      1048576:          0  
     2097152:          0      4194304:          0      8388608:          0  
    16777216:          0     33554432:          0     67108864:          0  
   134217728:          0    268435456:          0    536870912:          0  
  1073741824:          0   2147483648:          0  

Comments 2 CommentsJump to latest comment

mikebounds's picture
VxFS allocates storage in groups of extents rather than a block at a time.   An extent is defined as one or more adjacent blocks of data within the file system.  A VxFS inode references 10 direct extents, each of which are pairs of starting block addresses and lengths in blocks.  After these 10 direct extents which point to data are used up, the file must use indirect extents which point to "pointers" (which in turn point to data) rather than data.
So if your file has less that 10 extents, then you don't need any indirect extents.
 
Mike
 
 
 
 

UK Symantec Consultant in VCS, GCO, SF, VVR, VxAT on Solaris, AIX, HP-ux, Linux & Windows

If this post has answered your question then please click on "Mark as solution" link below

SOLUTION
TonyGriffiths's picture

Hi,

Mike is spot on.

In your example above, the files in the FS are not using any indirect addressing in the storage of the extents, most likely contained by indirection or direct extents

Indirect addressing is used by the FS when the files data cannot be adddressed by direct extents.

Example,

Lets say your app creates a file and does 1MB write. Most likely that 1MB of data will be stored as a single extent (offset, length). The inode for the file will address this extent directly (the inodes simply points to the location of the data on disk). Later as the file goes the varying changes, the file may need to be stored as a number extents. If it cannot be address in ten extents, then the FS will have to use an indirect address block that can address mutiple extents.

Note, it appears you are using a recent version that displays the fragmentation index, this should help in understanding the fragmentation data.

cheers

tony