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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants