VirtualBox

Ignore:
Timestamp:
Apr 26, 2010 4:12:49 PM (15 years ago)
Author:
vboxsync
Message:

Main: Introduce a per controller setting to switch to the unbuffered async I/O interface (UseNewIo). Configurable through VBoxManage, default is still buffered

Location:
trunk/src/VBox/Frontends/VBoxManage
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp

    r28734 r28764  
    442442                 "                            [--sataideemulation<1-4> <1-30>]\n"
    443443                 "                            [--sataportcount <1-30>]\n"
     444                 "                            [--iobackend Buffered|Unbuffered]\n"
    444445                 "                            [--remove]\n"
    445446                 "\n");
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageStorageController.cpp

    r26517 r28764  
    657657    { "--sataportcount",    'p', RTGETOPT_REQ_UINT32 },
    658658    { "--remove",           'r', RTGETOPT_REQ_NOTHING },
     659    { "--iobackend",        'i', RTGETOPT_REQ_STRING },
    659660};
    660661
     
    666667    const char       *pszBusType     = NULL;
    667668    const char       *pszCtlType     = NULL;
     669    const char       *pszIoBackend   = NULL;
    668670    ULONG             satabootdev    = ~0U;
    669671    ULONG             sataidedev     = ~0U;
     
    732734            }
    733735
     736            case 'i':
     737            {
     738                pszIoBackend = ValueUnion.psz;
     739                break;
     740            }
     741
    734742            default:
    735743            {
     
    916924            }
    917925        }
     926
     927        if (   pszIoBackend
     928            && SUCCEEDED(rc))
     929        {
     930                ComPtr<IStorageController> ctl;
     931
     932                CHECK_ERROR(machine, GetStorageControllerByName(Bstr(pszCtl), ctl.asOutParam()));
     933
     934                if (!RTStrICmp(pszIoBackend, "buffered"))
     935                {
     936                    CHECK_ERROR(ctl, COMSETTER(IoBackend)(IoBackendType_Buffered));
     937                }
     938                else if (!RTStrICmp(pszIoBackend, "unbuffered"))
     939                {
     940                    CHECK_ERROR(ctl, COMSETTER(IoBackend)(IoBackendType_Unbuffered));
     941                }
     942                else
     943                {
     944                    errorArgument("Invalid --type argument '%s'", pszIoBackend);
     945                    rc = E_FAIL;
     946                }
     947        }
    918948    }
    919949
Note: See TracChangeset for help on using the changeset viewer.

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