can't download any image - write failed due to "bad file descriptor"

I installed Cloudmin Pro and added

/home/virtual/VMStorage as an Image storage location /home/virtual/VM as a Disk image directory

I don't understand the difference between these two concepts. Can you clarify?

Anyway, when I try to download an image using Cloudmin Settings -> New System Images I allways get the error you can see in the attachment "bad file descriptor".

Even though Virtualmin runs as root somehow it fails to write to /home/virtual. We need Cloudmin to use /home/virtual since your standard partitioning allocates few space to /var and most of the space to /home.

Can you advise on this?

Status: 
Closed (fixed)

Comments

Do the directories /home/virtual and /home/virtual/VM exist? If they don't that could be the cause of this error ..

No, I thought the system would create them.

Could you briefly explain the difference between these directories (I'm used to VMware where the VM is fully contained in a single directory) so that I create them manually, with the right names and retest?

An "image storage location" is where VM images (which are used as templates to create new VMs) are stored. The default is /var/webmin/server-manager , but you can add additional directory (typically on remote systems) to replicate your image files. If you are low on space on /var , a better solution that adding a new image location is to move /var/webmin/server-manager to elsewhere, and then symlink it to the new location.

A "disk image directory" is where the disk images for a running VM are stored. If you just want to change this from the default of /kvm , you can do this at Host Systems -> KVM Host Systems - there is no need to add additional directories.

Great! Now the images whose download failed can't be downloaded as they say they are already being downloaded. What can I do to reset their state and force the download?

Check if there is a process matching get_images.cgi still running on your system, and if so kill them.

No, there is no such process.

[root@localhost virtual]# ps -ef |grep get_ root 17666 10123 0 14:25 pts/0 00:00:00 grep get_ [root@localhost virtual]# ps -ef |grep cgi root 17668 10123 0 14:25 pts/0 00:00:00 grep cgi [root@localhost virtual]#

If if that doesn't work, go to the /var/webmin/server-manager directory and delete all files whose names contain the ID of the image that only partially downloaded.

That worked. Thanks for your support.