# Moving segment storage objects

This chapter discusses how and why to move segments.

## What is segment moving?

A segment move is when a data segment is relocated to another location on the underlying storage object. The new location of the segment cannot overlap with the current segment location.

## Why move a segment?

Segments are moved for a variety of reasons. The most compelling among them is to make better use of disk freespace. Disk freespace is an unused contiguous extent of sectors on a disk that has been identified by EVMS as a freespace segment. A data segment can only be expanded by adding sectors to the end of the segment, moving the end of the data segment up into the freespace that immediately follows the data segment. However, what if there is no freespace following the data segment? A segment or segments could be moved around to put freespace after the segment that is to be expanded. For example:

- The segment following the segment to be expanded can be moved elsewhere on the disk, thus freeing up space after the segment that is to be expanded.

- The segment to be expanded can be moved into freespace where there is more room for the segment to be expanded.

- The segment can be moved into freespace that precedes the segment so that after the move the data segment can be expanded into the freespace created by the move.

## Which segment manager plug-ins implement the move function?

The following segment manager plug-ins support the move function:

- DOS

- s390

- GPT

## Example: move a DOS segment

This section shows how to move a DOS segment:

### Note

In the following example, the DOS segment manager has a single primary partition on disk sda that is located at the very end of the disk. We want to move it to the front of the drive because we want to expand the segment but there is currently no freespace following the segment.

### Using the EVMS GUI context sensitive menu

To move the DOS segment through the GUI context sensitive menu, follow these steps:

1. From the Segments tab, right click `sda1`.

2. Click Move.

3. Select `sda_freespace1`.

4. Click Move.

### Using Ncurses

To move the DOS segment, follow these steps:

1. Use Tab to select the Disk Segments view.

2. Scroll down with the down arrow and select `sda1`.

3. Press Enter.

4. Scroll down with the down arrow and select Move by pressing Enter.

5. Use the spacebar to select `sda_freespace1`.

6. Use Tab to select Move and press Enter.

### Using the CLI

Use the `task` command to move a DOS segment with the CLI.

    task:Move,sda1,sda_freespace1