Unable to increase a disk of a VM. Error : The disk extend operation failed (Inappropriate ioctl for device)
search cancel

Unable to increase a disk of a VM. Error : The disk extend operation failed (Inappropriate ioctl for device)

book

Article ID: 379677

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware vSphere ESX 8.x VMware vSphere ESX 7.x VMware vSphere ESX 6.x

Issue/Introduction

Symptoms:

  • Extending VMDK from the vCenter or Host UI fails with error "The disk extend operation failed: A digest operation has failed"

Verification Steps: 

  • /var/log/hostd.log reports logging similar to:

verbose hostd[2108178] [Originator@6876 sub=Vigor.Vmsvc.vm:/vmfs/volumes/<datastore>/<vmFolder>/<vmName.vmx opID=m18xrofz-4459024-auto-2nklt-h5:70465934-86-01-83-4d54 user=vpxuser:<user>] Extend disk message: The disk extend operation failed: A digest operation has failed

  • /vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/vmware.log reports: 

Er(02) worker-29498679 - DISKLIB-LINK  : DiskLinkGrow: Failed to create extent '<Datastore-UUID>/<ExampleVMFolder>': Inappropriate ioctl for device
Er(02) worker-29498679 - DISKLIB-LIB   : Unable to grow disk '/vmfs/volumes/<Datastore-UUID>/<ExampleVMFolder>/ExampleVM-01.vmdk' : Inappropriate ioctl for device (1638409).

Environment

VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x

Cause

  • Disks with CBRC enabled have a maximum size of 512 GB.

Cause Validation: 

  • The VM disk has CBRC (Content Based Read Cache) enabled, indicated by

    # grep digest <VmName>.vmx 

    scsi0:0.digest = "TRUE"
    scsi0:1.digest = "TRUE"
    scsi0:2.digest = "TRUE"
    scsi0:3.digest = "TRUE"
  • Identify the disk / volume Size

    • From vSAN Object perspective:  

# esxcli vsan debug object list

Used:
  59261321216
Used 4K Blocks:
  56725864448
Size:
  1099511627776 ----> see the underlying object size got expanded to 1 TB already
Type:
  vdisk
Path:
  /vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/ExampleVM-01.vmdk (Exists)
Group UUID:
  cc#####5-3###-9###-9###-14########10

    • # grep "Pre-growing disk" /vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/vmware.log

      2025-03-21T12:26:36.269Z In(05) worker-62455448 - DISKLIB-LIB   : Pre-growing disk '/vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/ExampleVM-01.vmdk': new capacity = 2097152000 sectors - 1000 GB
      2025-03-21T16:41:39.327Z In(05) worker-62455045 - DISKLIB-LIB   : Pre-growing disk '/vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/ExampleVM-02.vmdk': new capacity = 2147483648 sectors - 1 TB
      2025-03-24T09:14:52.012Z In(05) worker-62455448 - DISKLIB-LIB   : Pre-growing disk '/vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/ExampleVM-03.vmdk': new capacity = 421527552 sectors - 201 GB
      2025-03-24T10:11:19.538Z In(05) worker-62455045 - DISKLIB-LIB   : Pre-growing disk '/vmfs/volumes/<datastore-uuid>/<ExampleVMFolder>/ExampleVM-04.vmdk': new capacity = 421527552 sectors - 201 GB

Resolution

This is a known behavior when CBRC is enabled on the disks, as CBRC supports a maximum disk size of 512GB. 

Workaround

Re-create the vmdk descriptors with the correct volume / flat disk size using the KB: Recreating a missing VMware virtual machine disk descriptor file (.vmdk)