VirtualBox

Changeset 45598 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Apr 17, 2013 7:03:25 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
85092
Message:

Main/Machine: Add a newly attached medium to the lcoked media map during hotplugging or when the expert storage mgmt mode is enabled

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r45591 r45598  
    41884188
    41894189    if (fHotplug || fSilent)
    4190         rc = onStorageDeviceChange(attachment, FALSE /* aRemove */, fSilent);
     4190    {
     4191        MediumLockList *pMediumLockList(new MediumLockList());
     4192
     4193        rc = medium->createMediumLockList(true /* fFailIfInaccessible */,
     4194                                          true /* fMediumLockWrite */,
     4195                                          NULL,
     4196                                          *pMediumLockList);
     4197        alock.acquire();
     4198        if (FAILED(rc))
     4199            delete pMediumLockList;
     4200        else
     4201        {
     4202            mData->mSession.mLockedMedia.Unlock();
     4203            alock.release();
     4204            rc = mData->mSession.mLockedMedia.Insert(attachment, pMediumLockList);
     4205            mData->mSession.mLockedMedia.Lock();
     4206            alock.acquire();
     4207        }
     4208        alock.release();
     4209
     4210        if (SUCCEEDED(rc))
     4211        {
     4212            rc = onStorageDeviceChange(attachment, FALSE /* aRemove */, fSilent);
     4213            /* Remove lock list in case of error. */
     4214            if (FAILED(rc))
     4215            {
     4216                mData->mSession.mLockedMedia.Unlock();
     4217                mData->mSession.mLockedMedia.Remove(attachment);
     4218                mData->mSession.mLockedMedia.Lock();
     4219            }
     4220        }
     4221    }
    41914222
    41924223    mParent->saveModifiedRegistries();
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette