---
name: "mpath_persistent_reserve_out"
section: "3"
platform: "linux"
package: "multipath-tools"
version: "0.15.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mpath_persistent_reserve_out"
---

# mpath\_persistent\_reserve\_out(3)

send PROUT command to DM device

## NAME

mpath\_persistent\_reserve\_out - send PROUT command to DM device

## SYNOPSIS

**#include \<mpath\_persist.h\>**

**int mpath\_persistent\_reserve\_out***(int fd, int rq\_servact, int rq\_scope, unsigned int rq\_type, struct prout\_param\_descriptor \*paramp, int noisy, int verbose)*

## DESCRIPTION

The function in the **mpath\_persistent\_reserve\_out ()** sends PROUT command to the DM device and gets the response.

- **Parameters:**

  - *fd*

    The file descriptor of a multipath device. Input argument.

  - *rq\_servact*

    PROUT command service action. Input argument.

  - *rq\_scope*

    Persistent reservation scope. The value should be always LU\_SCOPE (0h).

  - *rq\_type*

    Persistent reservation type. The valid values of persistent reservation types are:

    -

      5h (Write exclusive - registrants only).

    -

      6h (Exclusive access - registrants only).

    -

      7h (Write exclusive - All registrants).

    -

      8h (Exclusive access - All registrants).

  - *paramp*

    PROUT command parameter data. The paramp is a struct which describes PROUT parameter list. Caller should manage the memory allocation of this structure.

  - *noisy*

    Turn on debugging trace: Input argument. 0-\>Disable, 1-\>Enable.

  - *verbose*

    Set verbosity level. Input argument. value: 0 to 3. 0-\>Errors, 1-\>Warnings, 2-\>Info, 3-\>Debug.

## RETURNS

- **MPATH\_PR\_SUCCESS**

  If PR command successful else returns any one of the status mentioned below.

- **MPATH\_PR\_SYNTAX\_ERROR**

  If syntax error or invalid parameter.

- **MPATH\_PR\_SENSE\_NOT\_READY**

  If command fails with \[sk,asc,ascq: 0x2,\*,\*\].

- **MPATH\_PR\_SENSE\_MEDIUM\_ERROR**

  If command fails with \[sk,asc,ascq: 0x3,\*,\*\].

- **MPATH\_PR\_SENSE\_HARDWARE\_ERROR**

  If command fails with \[sk,asc,ascq: 0x4,\*,\*\].

- **MPATH\_PR\_SENSE\_INVALID\_OP**

  If command fails with \[sk,asc,ascq: 0x5,0x20,0x0\].

- **MPATH\_PR\_ILLEGAL\_REQ**

  If command fails with \[sk,asc,ascq: 0x5,\*,\*\].

- **MPATH\_PR\_SENSE\_UNIT\_ATTENTION**

  If command fails with \[sk,asc,ascq: 0x6,\*,\*\].

- **MPATH\_PR\_SENSE\_ABORTED\_COMMAND**

  If command fails with \[sk,asc,ascq: 0xb,\*,\*\].

- **MPATH\_PR\_NO\_SENSE**

  If command fails with \[sk,asc,ascq: 0x0,\*,\*\].

- **MPATH\_PR\_SENSE\_MALFORMED**

  If command fails with SCSI command malformed.

- **MPATH\_PR\_FILE\_ERROR**

  If command fails while accessing file (device node) problems(e.g. not found).

- **MPATH\_PR\_DMMP\_ERROR**

  If Device Mapper related error.(e.g Error in getting dm info).

- **MPATH\_PR\_OTHER**

  If other error/warning has occurred(e.g transport or driver error).

- **MPATH\_PR\_RESERV\_CONFLICT**

  If command fails with reservation conflict.

## SEE ALSO

[**mpathpersist**(8)](/mpathpersist/8.md).

## AUTHORS

*multipath-tools* was developed by Christophe Varoqui \<christophe.varoqui@opensvc.com\> and others.
