{
    "content": [
        {
            "type": "text",
            "text": "# pvscan (man)\n\n## NAME\n\npvscan — List all physical volumes\n\n## SYNOPSIS\n\npvscan optionargs positionargs\n[ optionargs ]\n[ positionargs ]\n-a|--activate y|n|ay\n--autoactivation String\n--cache\n--checkcomplete\n--commandprofile String\n--config String\n-d|--debug\n--devices PV\n--devicesfile String\n--driverloaded y|n\n-e|--exported\n-h|--help\n--ignorelockingfailure\n--journal String\n--listlvs\n--listvg\n--lockopt String\n--longhelp\n-j|--major Number\n--minor Number\n--nohints\n--nolocking\n--noudevsync\n-n|--novolumegroup\n--profile String\n-q|--quiet\n--reportformat basic|json\n-s|--short\n-t|--test\n--udevoutput\n-u|--uuid\n-v|--verbose\n--version\n--vgonline\n-y|--yes\n\n## DESCRIPTION\n\nWhen called without the --cache option, pvscan lists PVs on the system, like pvs(8) or pvdis‐\nplay(8).\n\n## TLDR\n\n> List all physical volumes and manage their online status.\n\n- List all physical volumes:\n  `sudo pvscan`\n- Show the volume group that uses a specific physical volume:\n  `sudo pvscan --cache --listvg {{/dev/sdX}}`\n- Show logical volumes that use a specific physical volume:\n  `sudo pvscan --cache --listlvs {{/dev/sdX}}`\n- Display detailed information in JSON format:\n  `sudo pvscan --reportformat json`\n\n*Source: tldr-pages*\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (2 subsections)\n- **USAGE** (2 subsections)\n- **OPTIONS** (24 subsections)\n- **VARIABLES**\n- **ENVIRONMENT VARIABLES**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "pvscan",
        "section": "",
        "mode": "man",
        "summary": "pvscan — List all physical volumes",
        "synopsis": "pvscan optionargs positionargs\n[ optionargs ]\n[ positionargs ]\n-a|--activate y|n|ay\n--autoactivation String\n--cache\n--checkcomplete\n--commandprofile String\n--config String\n-d|--debug\n--devices PV\n--devicesfile String\n--driverloaded y|n\n-e|--exported\n-h|--help\n--ignorelockingfailure\n--journal String\n--listlvs\n--listvg\n--lockopt String\n--longhelp\n-j|--major Number\n--minor Number\n--nohints\n--nolocking\n--noudevsync\n-n|--novolumegroup\n--profile String\n-q|--quiet\n--reportformat basic|json\n-s|--short\n-t|--test\n--udevoutput\n-u|--uuid\n-v|--verbose\n--version\n--vgonline\n-y|--yes",
        "tldr_summary": "List all physical volumes and manage their online status.",
        "tldr_examples": [
            {
                "description": "List all physical volumes",
                "command": "sudo pvscan"
            },
            {
                "description": "Show the volume group that uses a specific physical volume",
                "command": "sudo pvscan --cache --listvg {{/dev/sdX}}"
            },
            {
                "description": "Show logical volumes that use a specific physical volume",
                "command": "sudo pvscan --cache --listlvs {{/dev/sdX}}"
            },
            {
                "description": "Display detailed information in JSON format",
                "command": "sudo pvscan --reportformat json"
            }
        ],
        "tldr_source": "official",
        "flags": [
            {
                "flag": "-a",
                "long": "--activate",
                "arg": null,
                "description": "Auto-activate LVs in a VG when the PVs scanned have completed the VG. (Only ay is ap‐ plicable.) --autoactivation String Specify if autoactivation is being used from an event. This allows the command to ap‐ ply settings that are specific to event activation, such as device scanning optimiza‐ tions using pvsonline files created by event-based pvscans."
            },
            {
                "flag": "",
                "long": "--cache",
                "arg": null,
                "description": "Scan one or more devices and record that they are online."
            },
            {
                "flag": "",
                "long": "--checkcomplete",
                "arg": null,
                "description": "Check if all the devices used by a VG or LV are present, and print \"complete\" or \"in‐ complete\" for each listed VG or LV. This option is used as a part of event-based au‐ toactivation, so pvscan will do nothing if this option is set and eventactivation=0 in the config settings. --commandprofile String The command profile to use for command configuration. See lvm.conf(5) for more infor‐ mation about profiles. --config String Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config."
            },
            {
                "flag": "-d",
                "long": "--debug",
                "arg": null,
                "description": "Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured). --devices PV Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma sep‐ arated list of devices. This overrides the devices file. --devicesfile String A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) de‐ vices/devicesfile and devices/usedevicesfile settings. --driverloaded y|n If set to no, the command will not attempt to use device-mapper. For testing and de‐ bugging."
            },
            {
                "flag": "-e",
                "long": "--exported",
                "arg": null,
                "description": "Only show PVs belonging to exported VGs."
            },
            {
                "flag": "-h",
                "long": "--help",
                "arg": null,
                "description": "Display help text."
            },
            {
                "flag": "",
                "long": "--ignorelockingfailure",
                "arg": null,
                "description": "Allows a command to continue with read-only metadata operations after locking fail‐ ures. --journal String Record information in the systemd journal. This information is in addition to infor‐ mation enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging."
            },
            {
                "flag": "",
                "long": "--listlvs",
                "arg": null,
                "description": "Print a list of LVs that use the device."
            },
            {
                "flag": "",
                "long": "--listvg",
                "arg": null,
                "description": "Print the VG that uses the device. --lockopt String Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more informa‐ tion."
            },
            {
                "flag": "",
                "long": "--longhelp",
                "arg": null,
                "description": "Display long help text."
            },
            {
                "flag": "-j",
                "long": "--major",
                "arg": null,
                "description": "The major number of a device. --minor Number The minor number of a device."
            },
            {
                "flag": "",
                "long": "--nohints",
                "arg": null,
                "description": "Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate."
            },
            {
                "flag": "",
                "long": "--nolocking",
                "arg": null,
                "description": "Disable locking. Use with caution, concurrent commands may produce incorrect results."
            },
            {
                "flag": "",
                "long": "--noudevsync",
                "arg": null,
                "description": "Disables udev synchronisation. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates."
            },
            {
                "flag": "-n",
                "long": "--novolumegroup",
                "arg": null,
                "description": "Only show PVs not belonging to any VG. --profile String An alias for --commandprofile or --metadataprofile, depending on the command."
            },
            {
                "flag": "-q",
                "long": "--quiet",
                "arg": null,
                "description": "Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'. --reportformat basic|json Overrides current output format for reports which is defined globally by the re‐ port/outputformat setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. See lvmreport(7) for more information."
            },
            {
                "flag": "-s",
                "long": "--short",
                "arg": null,
                "description": "Short listing format."
            },
            {
                "flag": "-t",
                "long": "--test",
                "arg": null,
                "description": "Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on read‐ ing back metadata it believes has changed but hasn't."
            },
            {
                "flag": "",
                "long": "--udevoutput",
                "arg": null,
                "description": "Command output is modified to be imported from a udev rule."
            },
            {
                "flag": "-u",
                "long": "--uuid",
                "arg": null,
                "description": "Show UUIDs in addition to device names."
            },
            {
                "flag": "-v",
                "long": "--verbose",
                "arg": null,
                "description": "Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr."
            },
            {
                "flag": "",
                "long": "--version",
                "arg": null,
                "description": "Display version information."
            },
            {
                "flag": "",
                "long": "--vgonline",
                "arg": null,
                "description": "The first command to see a complete VG will report it uniquely. Other commands to see the complete VG will report it differently."
            },
            {
                "flag": "-y",
                "long": "--yes",
                "arg": null,
                "description": "Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)"
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "lvm",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvm/8/json"
            },
            {
                "name": "lvm.conf",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/lvm.conf/5/json"
            },
            {
                "name": "lvmconfig",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmconfig/8/json"
            },
            {
                "name": "lvmdevices",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmdevices/8/json"
            },
            {
                "name": "pvchange",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvchange/8/json"
            },
            {
                "name": "pvck",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvck/8/json"
            },
            {
                "name": "pvcreate",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvcreate/8/json"
            },
            {
                "name": "pvdisplay",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvdisplay/8/json"
            },
            {
                "name": "pvmove",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvmove/8/json"
            },
            {
                "name": "pvremove",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvremove/8/json"
            },
            {
                "name": "pvresize",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvresize/8/json"
            },
            {
                "name": "pvs",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/pvs/8/json"
            },
            {
                "name": "vgcfgbackup",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgcfgbackup/8/json"
            },
            {
                "name": "vgcfgrestore",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgcfgrestore/8/json"
            },
            {
                "name": "vgchange",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgchange/8/json"
            },
            {
                "name": "vgck",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgck/8/json"
            },
            {
                "name": "vgcreate",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgcreate/8/json"
            },
            {
                "name": "vgconvert",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgconvert/8/json"
            },
            {
                "name": "vgdisplay",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgdisplay/8/json"
            },
            {
                "name": "vgexport",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgexport/8/json"
            },
            {
                "name": "vgextend",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgextend/8/json"
            },
            {
                "name": "vgimport",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgimport/8/json"
            },
            {
                "name": "vgimportclone",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgimportclone/8/json"
            },
            {
                "name": "vgimportdevices",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgimportdevices/8/json"
            },
            {
                "name": "vgmerge",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgmerge/8/json"
            },
            {
                "name": "vgmknodes",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgmknodes/8/json"
            },
            {
                "name": "vgreduce",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgreduce/8/json"
            },
            {
                "name": "vgremove",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgremove/8/json"
            },
            {
                "name": "vgrename",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgrename/8/json"
            },
            {
                "name": "vgs",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgs/8/json"
            },
            {
                "name": "vgscan",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgscan/8/json"
            },
            {
                "name": "vgsplit",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/vgsplit/8/json"
            },
            {
                "name": "lvcreate",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvcreate/8/json"
            },
            {
                "name": "lvchange",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvchange/8/json"
            },
            {
                "name": "lvconvert",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvconvert/8/json"
            },
            {
                "name": "lvdisplay",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvdisplay/8/json"
            },
            {
                "name": "lvextend",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvextend/8/json"
            },
            {
                "name": "lvreduce",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvreduce/8/json"
            },
            {
                "name": "lvremove",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvremove/8/json"
            },
            {
                "name": "lvrename",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvrename/8/json"
            },
            {
                "name": "lvresize",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvresize/8/json"
            },
            {
                "name": "lvs",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvs/8/json"
            },
            {
                "name": "lvscan",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvscan/8/json"
            },
            {
                "name": "lvm-fullreport",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvm-fullreport/8/json"
            },
            {
                "name": "lvm-lvpoll",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvm-lvpoll/8/json"
            },
            {
                "name": "blkdeactivate",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/blkdeactivate/8/json"
            },
            {
                "name": "lvmdump",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmdump/8/json"
            },
            {
                "name": "dmeventd",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/dmeventd/8/json"
            },
            {
                "name": "lvmpolld",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmpolld/8/json"
            },
            {
                "name": "lvmlockd",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmlockd/8/json"
            },
            {
                "name": "lvmlockctl",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmlockctl/8/json"
            },
            {
                "name": "cmirrord",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/cmirrord/8/json"
            },
            {
                "name": "lvmdbusd",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmdbusd/8/json"
            },
            {
                "name": "fsadm",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/fsadm/8/json"
            },
            {
                "name": "lvmsystemid",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/lvmsystemid/7/json"
            },
            {
                "name": "lvmreport",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/lvmreport/7/json"
            },
            {
                "name": "lvmraid",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/lvmraid/7/json"
            },
            {
                "name": "lvmthin",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/lvmthin/7/json"
            },
            {
                "name": "lvmcache",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/lvmcache/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 40,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 11,
                "subsections": [
                    {
                        "name": "pvscan --cache",
                        "lines": 8
                    },
                    {
                        "name": "pvscan --cache -aay",
                        "lines": 15
                    }
                ]
            },
            {
                "name": "USAGE",
                "lines": 2,
                "subsections": [
                    {
                        "name": "pvscan",
                        "lines": 12
                    },
                    {
                        "name": "pvscan --cache",
                        "lines": 80
                    }
                ]
            },
            {
                "name": "OPTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "-a --activate y",
                        "lines": 8,
                        "flag": "-a",
                        "long": "--activate"
                    },
                    {
                        "name": "--cache",
                        "lines": 2,
                        "long": "--cache"
                    },
                    {
                        "name": "--checkcomplete",
                        "lines": 14,
                        "long": "--checkcomplete"
                    },
                    {
                        "name": "-d --debug",
                        "lines": 17,
                        "flag": "-d",
                        "long": "--debug"
                    },
                    {
                        "name": "-e --exported",
                        "lines": 2,
                        "flag": "-e",
                        "long": "--exported"
                    },
                    {
                        "name": "-h --help",
                        "lines": 2,
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "--ignorelockingfailure",
                        "lines": 9,
                        "long": "--ignorelockingfailure"
                    },
                    {
                        "name": "--listlvs",
                        "lines": 2,
                        "long": "--listlvs"
                    },
                    {
                        "name": "--listvg",
                        "lines": 6,
                        "long": "--listvg"
                    },
                    {
                        "name": "--longhelp",
                        "lines": 2,
                        "long": "--longhelp"
                    },
                    {
                        "name": "-j --major _",
                        "lines": 5,
                        "flag": "-j",
                        "long": "--major"
                    },
                    {
                        "name": "--nohints",
                        "lines": 4,
                        "long": "--nohints"
                    },
                    {
                        "name": "--nolocking",
                        "lines": 3,
                        "long": "--nolocking"
                    },
                    {
                        "name": "--noudevsync",
                        "lines": 4,
                        "long": "--noudevsync"
                    },
                    {
                        "name": "-n --novolumegroup",
                        "lines": 5,
                        "flag": "-n",
                        "long": "--novolumegroup"
                    },
                    {
                        "name": "-q --quiet",
                        "lines": 10,
                        "flag": "-q",
                        "long": "--quiet"
                    },
                    {
                        "name": "-s --short",
                        "lines": 2,
                        "flag": "-s",
                        "long": "--short"
                    },
                    {
                        "name": "-t --test",
                        "lines": 5,
                        "flag": "-t",
                        "long": "--test"
                    },
                    {
                        "name": "--udevoutput",
                        "lines": 2,
                        "long": "--udevoutput"
                    },
                    {
                        "name": "-u --uuid",
                        "lines": 2,
                        "flag": "-u",
                        "long": "--uuid"
                    },
                    {
                        "name": "-v --verbose",
                        "lines": 3,
                        "flag": "-v",
                        "long": "--verbose"
                    },
                    {
                        "name": "--version",
                        "lines": 2,
                        "long": "--version"
                    },
                    {
                        "name": "--vgonline",
                        "lines": 3,
                        "long": "--vgonline"
                    },
                    {
                        "name": "-y --yes",
                        "lines": 3,
                        "flag": "-y",
                        "long": "--yes"
                    }
                ]
            },
            {
                "name": "VARIABLES",
                "lines": 17,
                "subsections": []
            },
            {
                "name": "ENVIRONMENT VARIABLES",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 20,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "pvscan — List all physical volumes\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "pvscan optionargs positionargs\n[ optionargs ]\n[ positionargs ]\n\n-a|--activate y|n|ay\n--autoactivation String\n--cache\n--checkcomplete\n--commandprofile String\n--config String\n-d|--debug\n--devices PV\n--devicesfile String\n--driverloaded y|n\n-e|--exported\n-h|--help\n--ignorelockingfailure\n--journal String\n--listlvs\n--listvg\n--lockopt String\n--longhelp\n-j|--major Number\n--minor Number\n--nohints\n--nolocking\n--noudevsync\n-n|--novolumegroup\n--profile String\n-q|--quiet\n--reportformat basic|json\n-s|--short\n-t|--test\n--udevoutput\n-u|--uuid\n-v|--verbose\n--version\n--vgonline\n-y|--yes\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "When called without the --cache option, pvscan lists PVs on the system, like pvs(8) or pvdis‐\nplay(8).\n\nWhen  --cache  is used, pvscan updates runtime lvm state on the system, or with -aay performs\nautoactivation.\n\npvscan --cache device\n\nIf device is present, lvm records that the PV on device is online.  If device is not present,\nlvm removes the online record for the PV.  pvscan only reads the named device.\n",
                "subsections": [
                    {
                        "name": "pvscan --cache",
                        "content": "Updates the runtime state for all lvm devices.\n\npvscan --cache -aay device\n\nPerforms the --cache steps for the device, then checks if the VG using  the  device  is  com‐\nplete.   If  so,  LVs in the VG are autoactivated, the same as vgchange -aay vgname would do.\n(A device name may be replaced with major and minor numbers.)\n"
                    },
                    {
                        "name": "pvscan --cache -aay",
                        "content": "Performs the --cache steps for all devices, then autoactivates any complete VGs.\n\npvscan --cache --listvg|--listlvs device\n\nPerforms the --cache steps for the device, then prints the name of the VG using  the  device,\nor  the  names  of LVs using the device.  --checkcomplete is usually included to check if all\nPVs for the VG or LVs are online.  When this command is called by a  udev  rule,  the  output\nmust  conform to udev rule specifications (see --udevoutput.)  The udev rule will use the re‐\nsults to perform autoactivation.\n\nAutoactivation of VGs or LVs can be enabled/disabled using vgchange or lvchange with --setau‐\ntoactivation y|n, or by adding names to lvm.conf(5) activation/autoactivationvolumelist\n\nSee lvmautoactivation(7) for more information about how pvscan is used for autoactivation.\n"
                    }
                ]
            },
            "USAGE": {
                "content": "Display PV information.\n",
                "subsections": [
                    {
                        "name": "pvscan",
                        "content": "[ -e|--exported ]\n[ -n|--novolumegroup ]\n[ -s|--short ]\n[ -u|--uuid ]\n[    --ignorelockingfailure ]\n[    --reportformat basic|json ]\n[ COMMONOPTIONS ]\n\n—\n\nRecord that a PV is online or offline.\n"
                    },
                    {
                        "name": "pvscan --cache",
                        "content": "[ -j|--major Number ]\n[    --ignorelockingfailure ]\n[    --reportformat basic|json ]\n[    --minor Number ]\n[    --noudevsync ]\n[ COMMONOPTIONS ]\n[ String|PV ... ]\n\n—\n\nRecord that a PV is online and autoactivate the VG if complete.\n\npvscan --cache -a|--activate ay\n[ -j|--major Number ]\n[    --ignorelockingfailure ]\n[    --reportformat basic|json ]\n[    --minor Number ]\n[    --noudevsync ]\n[    --autoactivation String ]\n[ COMMONOPTIONS ]\n[ String|PV ... ]\n\n—\n\nRecord that a PV is online and list the VG using the PV.\n\npvscan --cache --listvg PV\n[    --ignorelockingfailure ]\n[    --checkcomplete ]\n[    --vgonline ]\n[    --udevoutput ]\n[    --autoactivation String ]\n[ COMMONOPTIONS ]\n\n—\n\nRecord that a PV is online and list LVs using the PV.\n\npvscan --cache --listlvs PV\n[    --ignorelockingfailure ]\n[    --checkcomplete ]\n[    --vgonline ]\n[ COMMONOPTIONS ]\n\n—\n\nList LVs using the PV.\n\npvscan --listlvs PV\n[ COMMONOPTIONS ]\n\n—\n\nList the VG using the PV.\n\npvscan --listvg PV\n[ COMMONOPTIONS ]\n\n—\n\nCommon options for lvm:\n[ -d|--debug ]\n[ -h|--help ]\n[ -q|--quiet ]\n[ -t|--test ]\n[ -v|--verbose ]\n[ -y|--yes ]\n[    --commandprofile String ]\n[    --config String ]\n[    --devices PV ]\n[    --devicesfile String ]\n[    --driverloaded y|n ]\n[    --journal String ]\n[    --lockopt String ]\n[    --longhelp ]\n[    --nohints ]\n[    --nolocking ]\n[    --profile String ]\n[    --version ]\n"
                    }
                ]
            },
            "OPTIONS": {
                "content": "",
                "subsections": [
                    {
                        "name": "-a --activate y",
                        "content": "Auto-activate LVs in a VG when the PVs scanned have completed the VG.  (Only ay is ap‐\nplicable.)\n\n--autoactivation String\nSpecify if autoactivation is being used from an event.  This allows the command to ap‐\nply settings that are specific to event activation, such as device scanning  optimiza‐\ntions using pvsonline files created by event-based pvscans.\n",
                        "flag": "-a",
                        "long": "--activate"
                    },
                    {
                        "name": "--cache",
                        "content": "Scan one or more devices and record that they are online.\n",
                        "long": "--cache"
                    },
                    {
                        "name": "--checkcomplete",
                        "content": "Check  if all the devices used by a VG or LV are present, and print \"complete\" or \"in‐\ncomplete\" for each listed VG or LV.  This option is used as a part of event-based  au‐\ntoactivation,  so  pvscan will do nothing if this option is set and eventactivation=0\nin the config settings.\n\n--commandprofile String\nThe command profile to use for command configuration.  See lvm.conf(5) for more infor‐\nmation about profiles.\n\n--config String\nConfig settings for the command. These override lvm.conf(5) settings.  The String  arg\nuses the same format as lvm.conf(5), or may use section/field syntax.  See lvm.conf(5)\nfor more information about config.\n",
                        "long": "--checkcomplete"
                    },
                    {
                        "name": "-d --debug",
                        "content": "Set  debug  level. Repeat from 1 to 6 times to increase the detail of messages sent to\nthe log file and/or syslog (if configured).\n\n--devices PV\nRestricts the devices that are visible and accessible to  the  command.   Devices  not\nlisted will appear to be missing. This option can be repeated, or accepts a comma sep‐\narated list of devices. This overrides the devices file.\n\n--devicesfile String\nA  file listing devices that LVM should use.  The file must exist in /etc/lvm/devices/\nand is managed with the lvmdevices(8) command.  This  overrides  the  lvm.conf(5)  de‐\nvices/devicesfile and devices/usedevicesfile settings.\n\n--driverloaded y|n\nIf  set to no, the command will not attempt to use device-mapper.  For testing and de‐\nbugging.\n",
                        "flag": "-d",
                        "long": "--debug"
                    },
                    {
                        "name": "-e --exported",
                        "content": "Only show PVs belonging to exported VGs.\n",
                        "flag": "-e",
                        "long": "--exported"
                    },
                    {
                        "name": "-h --help",
                        "content": "Display help text.\n",
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "--ignorelockingfailure",
                        "content": "Allows a command to continue with read-only metadata operations  after  locking  fail‐\nures.\n\n--journal String\nRecord  information in the systemd journal.  This information is in addition to infor‐\nmation enabled by the lvm.conf log/journal setting.  command: record information about\nthe command.  output: record the default command output.  debug: record  full  command\ndebugging.\n",
                        "long": "--ignorelockingfailure"
                    },
                    {
                        "name": "--listlvs",
                        "content": "Print a list of LVs that use the device.\n",
                        "long": "--listlvs"
                    },
                    {
                        "name": "--listvg",
                        "content": "Print the VG that uses the device.\n\n--lockopt String\nUsed to pass options for special cases to lvmlockd.  See lvmlockd(8) for more informa‐\ntion.\n",
                        "long": "--listvg"
                    },
                    {
                        "name": "--longhelp",
                        "content": "Display long help text.\n",
                        "long": "--longhelp"
                    },
                    {
                        "name": "-j --major _",
                        "content": "The major number of a device.\n\n--minor Number\nThe minor number of a device.\n",
                        "flag": "-j",
                        "long": "--major"
                    },
                    {
                        "name": "--nohints",
                        "content": "Do  not  use the hints file to locate devices for PVs. A command may read more devices\nto find PVs when hints are not used. The command will still perform standard hint file\ninvalidation where appropriate.\n",
                        "long": "--nohints"
                    },
                    {
                        "name": "--nolocking",
                        "content": "Disable locking. Use with caution, concurrent commands may produce incorrect  results.\n\n",
                        "long": "--nolocking"
                    },
                    {
                        "name": "--noudevsync",
                        "content": "Disables  udev  synchronisation. The process will not wait for notification from udev.\nIt will continue irrespective of any possible udev processing in the background.  Only\nuse this if udev is not running or has rules that ignore the devices LVM creates.\n",
                        "long": "--noudevsync"
                    },
                    {
                        "name": "-n --novolumegroup",
                        "content": "Only show PVs not belonging to any VG.\n\n--profile String\nAn alias for --commandprofile or --metadataprofile, depending on the command.\n",
                        "flag": "-n",
                        "long": "--novolumegroup"
                    },
                    {
                        "name": "-q --quiet",
                        "content": "Suppress  output  and  log  messages. Overrides --debug and --verbose.  Repeat once to\nalso suppress any prompts with answer 'no'.\n\n--reportformat basic|json\nOverrides current output format for reports which  is  defined  globally  by  the  re‐\nport/outputformat  setting in lvm.conf(5).  basic is the original format with columns\nand rows.  If there is more than one report per command, each report is prefixed  with\nthe  report  name  for identification. json produces report output in JSON format. See\nlvmreport(7) for more information.\n",
                        "flag": "-q",
                        "long": "--quiet"
                    },
                    {
                        "name": "-s --short",
                        "content": "Short listing format.\n",
                        "flag": "-s",
                        "long": "--short"
                    },
                    {
                        "name": "-t --test",
                        "content": "Run in test mode. Commands will not update metadata.  This is implemented by disabling\nall metadata writing but nevertheless returning success to the calling function.  This\nmay lead to unusual error messages in multi-stage operations if a tool relies on read‐\ning back metadata it believes has changed but hasn't.\n",
                        "flag": "-t",
                        "long": "--test"
                    },
                    {
                        "name": "--udevoutput",
                        "content": "Command output is modified to be imported from a udev rule.\n",
                        "long": "--udevoutput"
                    },
                    {
                        "name": "-u --uuid",
                        "content": "Show UUIDs in addition to device names.\n",
                        "flag": "-u",
                        "long": "--uuid"
                    },
                    {
                        "name": "-v --verbose",
                        "content": "Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to\nstdout and stderr.\n",
                        "flag": "-v",
                        "long": "--verbose"
                    },
                    {
                        "name": "--version",
                        "content": "Display version information.\n",
                        "long": "--version"
                    },
                    {
                        "name": "--vgonline",
                        "content": "The first command to see a complete VG will report it uniquely.  Other commands to see\nthe complete VG will report it differently.\n",
                        "long": "--vgonline"
                    },
                    {
                        "name": "-y --yes",
                        "content": "Do  not  prompt  for  confirmation interactively but always assume the answer yes. Use\nwith extreme caution.  (For automatic no, see -qq.)\n",
                        "flag": "-y",
                        "long": "--yes"
                    }
                ]
            },
            "VARIABLES": {
                "content": "PV     Physical Volume name, a device path under /dev.  For commands  managing  physical  ex‐\ntents,  a PV positional arg generally accepts a suffix indicating a range (or multiple\nranges) of physical extents (PEs). When the first PE is omitted, it  defaults  to  the\nstart  of  the  device, and when the last PE is omitted it defaults to end.  Start and\nend range (inclusive): PV[:PE-PE]...   Start  and  length  range  (counting  from  0):\nPV[:PE+PE]...\n\nString See the option description for information about the string content.\n\nSize[UNIT]\nSize is an input number that accepts an optional unit.  Input units are always treated\nas base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024.\nThe  default  input  unit  is specified by letter, followed by |UNIT.  UNIT represents\nother possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M\nis MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB.  (This should not be  confused\nwith the output control --units, where capital letters mean multiple of 1000.)\n",
                "subsections": []
            },
            "ENVIRONMENT VARIABLES": {
                "content": "See lvm(8) for information about environment variables used by lvm.  For example, LVMVGNAME\ncan generally be substituted for a required VG parameter.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),\n\npvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8),\npvscan(8),\n\nvgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8),\nvgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8),\nvgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8),\nvgsplit(8),\n\nlvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8),\nlvrename(8), lvresize(8), lvs(8), lvscan(8),\n\nlvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),\n\ndmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),\n\nlvmsystemid(7), lvmreport(7), lvmraid(7), lvmthin(7), lvmcache(7)\n\nRed Hat, Inc.                     LVM TOOLS 2.03.16(2) (2022-05-18)                        PVSCAN(8)",
                "subsections": []
            }
        }
    }
}