Errors "V-2-96 vx_setfsflags file system full fsck flag set" and "V-2-17 vx_iread_1 file system inode marked bad incore" encountered when accessing a VxFS file or directory with a high number of links

book

Article ID: 100002219

calendar_today

Updated On:

Resolution

After attempting to list the contents of a directory, VxFS sets the fullfsck flag and marks the corresponding inode bad incore.

The following entries are an example that can be encountered in the system messages file:

V-2-96: vx_setfsflags - /dev/vx/dsk/vleapptdg2/vleapptdg2-vol1 file system fullfsck flag set - vx_ierror
V-2-17: vx_iread_1 - /zones/local/roots/vleappt/root/mnt file system inode 114874 marked bad incore

In the above example, it was a directory inode that experienced the problem, specifically 114874.

Trying to access any files in that directory can result in additional errors as follows:

V-2-16: vx_ilisterr: vx_iread_3 -  /zones/local/roots/vleappt/root/mnt file system error reading inode 114874
V-2-16: vx_ilisterr: vx_iread_2 -  /zones/local/roots/vleappt/root/mnt file system error reading inode 114874

By using VxFS's filesystem debugger the directory inode above can be displayed further:

# /opt/VRTS/bin/fsdb -F vxfs /dev/vx/dsk/vleapptdg2/vleapptdg2-vol1
> 999fset.114874i
inode structure at 0x005b6f15.1a00
type IFDIR mode 40755  nlink 45540

The number of links above for this inode is set to 45540.

By default the kernel parameter, vx_maxlink, is set to 32767. This defines the maximum number of links that a VxFS inode can have. If this number is exceeded, the above errors will be encountered.

Essentially nlink is the amount of subdirectories and/or files that can be created in a particular directory, so for the above directory, nlink reports a total of 45540 subdirectories/files. This number has exceeded the default value of vx_maxlink, which causes the above errors to be encountered. Therefore, the vx_maxlink value needs to be increased accordingly.

a VxFS file system obtains the value of vx_maxlink  from the system configuration file, /etc/system. If there is no entry, vx_maxlink is set to the default value. To change the value of vx_maxlink, /etc/system must be modified and the system rebooted for the change to take effect. For example the following entry would be added to /etc/system:

set vxfs:vx_maxlink = 65534

This entry sets vx_maxlink to 65534. Valid values are 1 to 65534. Changes to vx_maxlink take effect after rebooting.

Issue/Introduction

Errors "V-2-96 vx_setfsflags file system full fsck flag set" and "V-2-17 vx_iread_1 file system inode marked bad incore" encountered when accessing a VxFS file or directory with a high number of links