Skip to content
This repository has been archived by the owner on Nov 9, 2020. It is now read-only.

Log open volume descriptors in busy errors #778

Merged
merged 1 commit into from
Nov 30, 2016

Conversation

brunotm
Copy link
Contributor

@brunotm brunotm commented Nov 24, 2016

Example:

11/24/16 15:35:42 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] *** removeVMDK: /vmfs/volumes/datastore2/dockvols/vol5750.vmdk
11/24/16 15:35:45 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] *** removeVMDK: /vmfs/volumes/datastore2/dockvols/vol5750.vmdk, coudn't lock volume for removal. Retrying...
11/24/16 15:35:45 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] Volume open descriptor: cartel=54405, name=less, type=FILE, fd=4, desc=/vmfs/volumes/datastore2/dockvols/vol5750.vmdk
11/24/16 15:35:49 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] *** removeVMDK: /vmfs/volumes/datastore2/dockvols/vol5750.vmdk, coudn't lock volume for removal. Retrying...
11/24/16 15:35:53 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] *** removeVMDK: /vmfs/volumes/datastore2/dockvols/vol5750.vmdk, coudn't lock volume for removal. Retrying...
11/24/16 15:35:56 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] *** removeVMDK: /vmfs/volumes/datastore2/dockvols/vol5750.vmdk, coudn't lock volume for removal. Retrying...
11/24/16 15:35:57 54335 [dev01-[datastore2] dockvols/vol5750.vmdk] [INFO   ] executeRequest 'remove' completed with ret=None

//CC @kerneltime @govint
Related with the investigation of #768

@brunotm brunotm mentioned this pull request Nov 24, 2016
kvESX.load/save: log volume open descriptors
vmdk_ops: Use VMDK_RETRY_* constants from vmdk_utils
vmdk_ops.removeVMDK: log volume open descriptors
vmdk_utils: Add log_volume_lsof(), for logging open descriptors matching the volume name
vmdk_utils: Add get_volname_from_vmdk_path()
vmdk_utils: Add VMDK_RETRY_* constants
@brunotm
Copy link
Contributor Author

brunotm commented Nov 24, 2016

A side note on the removal of the verification of errno attribute ((hasattr(open_error, "errno")) on the retry loops in kvESX, is that before we're catching a general Exception and would just error out if it didn't had the errno attribute. After the @msterin #725 change we're catching only IOError that always have the errno attribute so that check isn't needed anymore.

@brunotm
Copy link
Contributor Author

brunotm commented Nov 29, 2016

@kerneltime @govint
Do you think it makes sense merging this? I particularly think it can be useful for debugging plus the organization of the retry constants.
Thanks

@brunotm
Copy link
Contributor Author

brunotm commented Nov 30, 2016

@kerneltime
This can be closed?

@kerneltime kerneltime merged commit 0573d4d into vmware-archive:master Nov 30, 2016
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants