code: def vectored_io_from_metadata(md):
      # type: (dict) -> collections.namedtuple
      
      try:
          mdattr = json.loads(
              md[JSON_KEY_BLOBXFER_METADATA])[_JSON_KEY_VECTORED_IO]
      except (KeyError, TypeError):
          pass
      else:
          if mdattr[_JSON_KEY_VECTORED_IO_MODE] == _JSON_KEY_VECTORED_IO_STRIPE:
              mdstripe = mdattr[_JSON_KEY_VECTORED_IO_STRIPE]
              try:
                  nextptr = explode_vectored_io_next_entry(
                      mdstripe[_JSON_KEY_VECTORED_IO_STRIPE_NEXT])
              except (KeyError, AttributeError):
                  nextptr = None
              vio = VectoredStripe(
                  total_size=mdstripe[_JSON_KEY_VECTORED_IO_STRIPE_TOTAL_SIZE],
                  offset_start=mdstripe[
                      _JSON_KEY_VECTORED_IO_STRIPE_OFFSET_START],
                  total_slices=mdstripe[
                      _JSON_KEY_VECTORED_IO_STRIPE_TOTAL_SLICES],
                  slice_id=mdstripe[_JSON_KEY_VECTORED_IO_STRIPE_SLICE_ID],
                  next=nextptr,
              )
              return vio
          else:
              raise RuntimeError('Cannot handle Vectored IO mode: {}'.format(
                  mdattr[_JSON_KEY_VECTORED_IO_MODE]))
      return None
docs: Convert vectored io metadata in json metadata
      :param dict md: metadata dictionary
      :rtype: VectoredStripe or None
      :return: vectored io metadata