# US 10,310,880 B2 · Hot-swapping storage pool backend functional modules

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,310,880 B2
- Document ID: US10310880B2
- Status: Granted
- Kind: B2
- Application number: 14/626,455
- Filed: 2015-02-19
- Published: 2016-05-26
- Granted: 2019-06-04
- Earliest claimed: 2014-11-25
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Federico Simoncelli
- Web page: https://patentgrep.com/patent/US10310880B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 16/119: {Details of migration of file systems (migration mechanisms in storage systems G06F3/0647)}
- G06F 16/972: {Access to data in other repository systems, e.g. legacy data or dynamic Web page generation}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for hot-swapping storage pool backend functional modules of a host computer system. An example method may comprise: identifying, by a processing device of a host computer system executing a virtual machine managed by a virtual machine manager, a storage pool backend functional module; and activating the identified storage pool backend functional module by directing, to the identified storage pool backend functional module, backend storage function calls.

## Claims

### Claim 1

A method, comprising:
refreshing, by a processing device of a host computer system executing a virtual machine, storage metadata stored in the memory of the host computer system, wherein the storage metadata identifies a first data storage format, wherein the first data storage format is backward compatible with a second data storage format;
identifying a storage pool backend functional module implementing the first data storage format;
activating the identified storage pool backend functional module by modifying a pointer to a backend storage function associated with storing a plurality of disk images of the virtual machine; and
directing, to the identified storage pool backend functional module, a call to the backend storage function.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
responsive to receiving an instruction initiated by a virtualization manager, modifying one or more disk images of the plurality of disk images of with the virtual machine in view of the first data storage format supported by the identified storage pool backend functional module.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
transmitting, to a virtualization manager, a message comprising a status of activating the identified storage pool backend functional module.

### Claim 4 (depends on 1)

The method of claim 1, wherein the storage pool backend functional module is compliant to a pre-defined call interface, the pre-defined call interface comprising definitions of one or more methods that are implemented by the storage pool backend functional module.

### Claim 5 (depends on 1)

The method of claim 1, wherein the storage pool backend functional module is configured to store the storage metadata in a memory of the host computer system.

### Claim 6 (depends on 5)

The method of claim 5, wherein the storage metadata comprises a parameter of a storage connection pool.

### Claim 7 (depends on 1)

The method of claim 1, wherein activating the identified storage pool backend functional module is performed transparently for the virtual machine being executed by the host computer system.

### Claim 8

A host computer system comprising:
a memory; and
a processing device, coupled to the memory, the processing device to:
refresh storage metadata stored in the memory, wherein the storage metadata identifies a first data storage format, wherein the first data storage format is backward compatible with a second data storage format;
identify a storage pool backend functional module implementing the first data storage format;
activate the identified storage pool backend functional module by modifying a pointer to a backend storage function associated with storing a plurality of disk images of a virtual machine running on the host computer system; and
direct, to the identified storage pool backend functional module, a call to the backend storage function.

### Claim 9 (depends on 8)

The host computer system of claim 8, wherein the processing device is further to:
responsive to receiving an instruction initiated by a virtualization manager, modify one or more disk images of the plurality of disk images of with the virtual machine in view of the first data storage format supported by the identified storage pool backend functional module.

### Claim 10 (depends on 8)

The host computer system of claim 8, wherein the processing device is further to:
transmit, to a virtualization manager, a message comprising a status of activating the identified backend storage pool backend functional module.

### Claim 11 (depends on 8)

The host computer system of claim 8, wherein the storage pool backend functional module is compliant to a pre-defined call interface, the pre-defined call interface comprising definitions of one or more methods that are implemented by the storage pool backend functional module.

### Claim 12

A computer-readable non-transitory storage medium comprising executable instructions that, when executed by a processing device of a host computer system executing a virtual machine, cause the processing device to:
refresh storage metadata stored in the memory of the host computer system, wherein the storage metadata identifies a first data storage format, wherein the first data storage format is backward compatible with a second data storage format;
identify a storage pool backend functional module implementing the first data storage format;
activate the identified storage pool backend functional module by modifying a pointer to a backend storage function associated with storing a plurality of disk images of the virtual machine; and
direct, to the identified storage pool backend functional module, a call to the backend storage function.

### Claim 13 (depends on 12)

The computer-readable non-transitory storage medium of claim 12, further comprising executable instructions to cause the processing device to:
responsive to receiving an instruction initiated by a virtualization manager, modify one or more disk images of the plurality of disk images of with the virtual machine in view of the first data storage format supported by the identified storage pool backend functional module.

### Claim 14 (depends on 12)

The computer-readable non-transitory storage medium of claim 12, further comprising executable instructions to cause the processing device to:
transmit, to a virtualization manager, a message comprising a status of activating the identified storage pool backend functional module.

### Claim 15 (depends on 12)

The computer-readable non-transitory storage medium of claim 12, wherein the storage pool backend functional module is compliant to a pre-defined call interface, the pre-defined call interface comprising definitions of one or more methods that are implemented by the storage pool backend functional module.

### Claim 16 (depends on 12)

The computer-readable non-transitory storage medium of claim 12, wherein the storage pool backend functional module is configured to store the storage metadata in a memory of the host computer system.

### Claim 17 (depends on 12)

The computer-readable non-transitory storage medium of claim 12, wherein the storage metadata comprises a parameter of a storage connection pool.
