Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 29324)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 29325)
@@ -3072,6 +3072,6 @@
         /* Apply the normal locking logic to the entire chain. */
         MediumLockList *pMediumLockList(new MediumLockList());
-        rc = diff->createMediumLockList(true, /* fFailIfInaccessible */
-                                        true /* fMediumWritable -- really? @todo r=dj*/ ,
+        rc = diff->createMediumLockList(true /* fFailIfInaccessible */,
+                                        true /* fMediumLockWrite */,
                                         medium,
                                         *pMediumLockList);
@@ -8203,6 +8203,6 @@
 
                     MediumLockList *pMediumLockList(new MediumLockList());
-                    rc = pMedium->createMediumLockList(true, /* fFailIfInaccessible */
-                                                       false,
+                    rc = pMedium->createMediumLockList(true /* fFailIfInaccessible */,
+                                                       false /* fMediumLockWrite */,
                                                        NULL,
                                                        *pMediumLockList);
@@ -10819,8 +10819,8 @@
         if (pMedium != NULL)
         {
-            bool fIsReadOnlyImage = (   devType == DeviceType_DVD
-                                     || devType == DeviceType_Floppy);
-            mrc = pMedium->createMediumLockList(!fIsReadOnlyImage /* fFailIfInaccessible */,
-                                                fIsReadOnlyImage, /* fReadOnly */
+            bool fIsReadOnlyImage = (devType == DeviceType_DVD);
+            bool fIsVitalImage = (devType == DeviceType_HardDisk);
+            mrc = pMedium->createMediumLockList(fIsVitalImage /* fFailIfInaccessible */,
+                                                !fIsReadOnlyImage /* fMediumLockWrite */,
                                                 NULL,
                                                 *pMediumLockList);
Index: /trunk/src/VBox/Main/MediumImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MediumImpl.cpp	(revision 29324)
+++ /trunk/src/VBox/Main/MediumImpl.cpp	(revision 29325)
@@ -2202,5 +2202,5 @@
     MediumLockList *pMediumLockList(new MediumLockList());
     HRESULT rc = diff->createMediumLockList(true /* fFailIfInaccessible */,
-                                            true /* fMediumWritable */,
+                                            true /* fMediumLockWrite */,
                                             this,
                                             *pMediumLockList);
@@ -2293,5 +2293,5 @@
         MediumLockList *pSourceMediumLockList(new MediumLockList());
         rc = createMediumLockList(true /* fFailIfInaccessible */,
-                                  false /* fMediumWritable */,
+                                  false /* fMediumLockWrite */,
                                   NULL,
                                   *pSourceMediumLockList);
@@ -2305,5 +2305,5 @@
         MediumLockList *pTargetMediumLockList(new MediumLockList());
         rc = pTarget->createMediumLockList(true /* fFailIfInaccessible */,
-                                           true /* fMediumWritable */,
+                                           true /* fMediumLockWrite */,
                                            pParent,
                                            *pTargetMediumLockList);
@@ -2395,5 +2395,5 @@
         MediumLockList *pMediumLockList(new MediumLockList());
         rc = createMediumLockList(true /* fFailIfInaccessible */ ,
-                                  true /* fMediumWritable */,
+                                  true /* fMediumLockWrite */,
                                   NULL,
                                   *pMediumLockList);
@@ -2490,5 +2490,5 @@
         MediumLockList *pMediumLockList(new MediumLockList());
         rc = createMediumLockList(true /* fFailIfInaccessible */,
-                                  true /* fMediumWritable */,
+                                  true /* fMediumLockWrite */,
                                   NULL,
                                   *pMediumLockList);
@@ -3111,10 +3111,11 @@
  * @note Locks the medium tree for reading.
  *
- * @param fMediumWritable   Whether to associate a write lock with this medium.
+ * @param fFailIfInaccessible Whether to refuse inaccessible media.
+ * @param fMediumLockWrite  Whether to associate a write lock with this medium.
  * @param pToBeParent       Medium which will become the parent of this medium.
  * @param mediumLockList    Where to store the resulting list.
  */
 HRESULT Medium::createMediumLockList(bool fFailIfInaccessible,
-                                     bool fMediumWritable,
+                                     bool fMediumLockWrite,
                                      Medium *pToBeParent,
                                      MediumLockList &mediumLockList)
@@ -3176,5 +3177,5 @@
 
         if (pMedium == this)
-            mediumLockList.Prepend(pMedium, fMediumWritable);
+            mediumLockList.Prepend(pMedium, fMediumLockWrite);
         else
             mediumLockList.Prepend(pMedium, false);
@@ -3911,5 +3912,5 @@
         MediumLockList *pMediumLockList(new MediumLockList());
         rc = createMediumLockList(true /* fFailIfInaccessible */,
-                                  true /* fMediumWritable */,
+                                  true /* fMediumLockWrite */,
                                   NULL,
                                   *pMediumLockList);
@@ -4299,10 +4300,10 @@
         if (fMergeForward)
             rc = pTarget->createMediumLockList(true /* fFailIfInaccessible */,
-                                               true /* fMediumWritable */,
+                                               true /* fMediumLockWrite */,
                                                NULL,
                                                *aMediumLockList);
         else
             rc = createMediumLockList(true /* fFailIfInaccessible */,
-                                      false /* fMediumWritable */,
+                                      false /* fMediumLockWrite */,
                                       NULL,
                                       *aMediumLockList);
@@ -5008,5 +5009,5 @@
     MediumLockList mediumLockList;
     HRESULT rc = createMediumLockList(true /* fFailIfInaccessible */,
-                                      false /* fMediumWritable */,
+                                      false /* fMediumLockWrite */,
                                       this,
                                       mediumLockList);
Index: /trunk/src/VBox/Main/include/MediumImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/MediumImpl.h	(revision 29324)
+++ /trunk/src/VBox/Main/include/MediumImpl.h	(revision 29325)
@@ -189,5 +189,5 @@
 
     HRESULT createMediumLockList(bool fFailIfInaccessible,
-                                 bool fMediumWritable,
+                                 bool fMediumLockWrite,
                                  Medium *pToBeParent,
                                  MediumLockList &mediumLockList);
