Use of Variable Inode Extents (VIX) in AIX
This technote addresses issues and questions surrounding what Variable Inode Extents are, and when they are useful to enable on JFS2 filesytems in AIX.
$ touch myfile
touch: cannot create
If "df" shows the filesystem is approaching being full, or even as little as 50-60% full in a heavily fragmented filesystem, then it may be that you are encountering this issue. In some cases running the defragfs command to defragment the filesystem may give you enough contiguous space to allow the creation of new files. However defragfs may not help if it cannot defragment the filesystem enough, or it truly is very full.
If this is on an NFS, JFS, or other filesystem that is NOT JFS2, then this is NOT your issue and enabling Variable Inode Extents will not help. These filesystems do not use Variable Inode Extents.
Variable Inode Extents were a feature added with APARs:
APAR IY68589 for AIX 5.2 - included in 5200-07
APAR IY68174 for AIX 5.3 - included in 5300-03
By default the filesystem needs contiguous 16Kb extents. Using Variable Inode Extents allows JFS2 to allocate a smaller extent if 16Kb is too large.
To enable Variable Inode Extents, unmount the filesystem and use chfs with the following option, from the man page:
Specifies whether the file system can allocate inode
extents smaller than the default of 16K if there are no
contiguous 16K extents free in the file system. After a
file system is enabled for small free extents, it cannot
be accessed on earlier versions of AIX and the marking
cannot be removed.
File system can allocate variable length inode
File system must use default size of 16 KB for
inode extents. This has no effect if the file
system already contains variable length inode
So if there is a filesystem /myfs you wish to enable VIX on, follow these steps:
# umount /myfs
# chfs -a vix=yes /myfs
# lsfs -q /myfs
# lsfs -q /myfs
Name Nodename Mount Pt VFS Size Options Auto Accounting
/dev/fslv01 -- /myfs jfs2 131072 rw no no
(lv size: 131072, fs size: 131072, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, EAformat: v1, Quota: no, DMAPI: no, VIX: yes)
# mount /myfs
Note there may be a performance degradation of writes or file creation to the JFS2 filesystem after enabling VIX, as you are disabling or limiting a previous performance characteristic of the JFS2 filesystem.
|Operating Systems||AIX||Not Applicable||AIX||5.2, 5.3|
More support for:
Software version: 5.2, 5.3, 6.1, 7.1
Operating system(s): AIX
Reference #: T1010368
Modified date: 09 November 2011