Esempio n. 1
0
    def create(self):
        """ Create the device. """
        if self.exists:
            raise DeviceError("device already exists", self.name)

        try:
            self.createParents()
            self.setupParents()

            disks = [disk.path for disk in self.devices]
            spares = len(self.devices) - self.memberDevices
            raid.mdcreate(self.path,
                            self.level,
                            disks,
                            spares,
                            metadataVer=self.createMetadataVer,
                            bitmap=self.createBitmap)
        except Exception:
            raise
        else:
            self.exists = True
            # the array is automatically activated upon creation, but...
            self.setup()
            udev_settle()
            self.updateSysfsPath()
            info = udev_get_block_device(self.sysfsPath)
            self.uuid = udev_device_get_md_uuid(info)
            for member in self.devices:
                member.mdUuid = self.uuid
Esempio n. 2
0
    def create(self, intf=None):
        """ Create the device. """
        if self.exists:
            raise RaidArrayError("device already exists", self.name)

        w = None
        if intf:
            w = intf.progressWindow(_("Creating device %s") % (self.path,))

        try:
            self.createParents()
            self.setupParents()

            disks = [disk.path for disk in self.devices]
            spares = len(self.devices) - self.memberDevices
            raid.mdcreate(self.path,
                            self.level,
                            disks,
                            spares,
                            metadataVer=self.createMetadataVer,
                            bitmap=self.createBitmap)
        except Exception, msg:
            raise RaidArrayError, msg
Esempio n. 3
0
    def create(self, intf=None):
        """ Create the device. """
        if self.exists:
            raise RaidArrayError("device already exists", self.name)

        w = None
        if intf:
            w = intf.progressWindow(_("Creating device %s") % (self.path, ))

        try:
            self.createParents()
            self.setupParents()

            disks = [disk.path for disk in self.devices]
            spares = len(self.devices) - self.memberDevices
            raid.mdcreate(self.path,
                          self.level,
                          disks,
                          spares,
                          metadataVer=self.createMetadataVer,
                          bitmap=self.createBitmap)
        except Exception, msg:
            raise RaidArrayError, msg