示例#1
0
 def iter_targets(self):
     """
     Return a generator over all FS targets.
     """
     for target_type in ['mgt', 'mdt', 'ost']:
         if target_type not in self._fs.model:
             continue
         tgt_cf_list = self._fs.get(target_type)
         for t in tgt_cf_list:
             yield Target(target_type, t)
示例#2
0
    def unregister_targets(self, targets=None):
        """
        Set filesystem targets as available in the backend.

        If `targets' is not specified, all managed targets from the
        filesystem will be used.

        These targets could be now reuse.
        """
        if not targets:
            targets = []
            for tgttype in ('mgt', 'mdt', 'ost'):
                if tgttype not in self._fs.model:
                    continue
                for target in self._fs.get(tgttype):
                    if target.get('mode') == 'managed':
                        targets.append(Target(tgttype, target))

        for target in targets:
            self._fs.unregister_target(target)
示例#3
0
    def register_targets(self, targets=None):
        """
        Set filesystem targets as 'in use'.

        If `targets' is not specified, all managed targets from the
        filesystem will be used.

        These targets could not be use anymore for other filesystems.
        """
        if not targets:
            targets = []
            for tgttype in ('mgt', 'mdt', 'ost'):
                if tgttype not in self._fs.model:
                    continue
                for target in self._fs.get(tgttype):
                    if target.get('mode') == 'managed':
                        targets.append(Target(tgttype, target))

        for target in targets:
            self._fs.register_target(target)
示例#4
0
 def iter_targets_ost(self):
     tgt_cf_list = self._fs.get('ost')
     for t in tgt_cf_list:
         yield Target('OST', t)
示例#5
0
 def get_target_mdt(self):
     tgt_cf_list = self._fs.get('mdt')
     return Target('MDT', tgt_cf_list[0])
示例#6
0
 def get_target_mgt(self):
     tgt_cf_list = self._fs.get('mgt')
     return Target('MGT', tgt_cf_list[0])