Gitweb:
http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c8a30abbfa8ba5...
Commit: c8a30abbfa8ba51eb83b49f33bff3cbbac96d3a1
Parent: e9a46414c55af0220848da2eb0789a40ddf18216
Author: Peter Rajnoha <prajnoha(a)redhat.com>
AuthorDate: Thu Mar 12 15:18:52 2015 +0100
Committer: Peter Rajnoha <prajnoha(a)redhat.com>
CommitterDate: Fri Aug 21 11:15:53 2015 +0200
pv: _pvcreate_write: do label removal and zeroing only if creating a new PV
---
lib/metadata/metadata.c | 33 +++++++++++++++++----------------
1 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index 2c467f5..8bc4302 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -1604,32 +1604,33 @@ void pvcreate_params_set_defaults(struct pvcreate_params *pp)
static int _pvcreate_write(struct cmd_context *cmd, struct pv_to_write *pvw)
{
- int zero = pvw->pp ? pvw->pp->zero : 1;
struct physical_volume *pv = pvw->pv;
struct device *dev = pv->dev;
const char *pv_name = dev_name(dev);
- /* Wipe existing label first */
- if (!label_remove(pv_dev(pv))) {
- log_error("Failed to wipe existing label on %s", pv_name);
- return 0;
- }
-
- if (zero) {
- log_verbose("Zeroing start of device %s", pv_name);
- if (!dev_open_quiet(dev)) {
- log_error("%s not opened: device not zeroed", pv_name);
+ if (pvw->new_pv) {
+ /* Wipe existing label first */
+ if (!label_remove(pv_dev(pv))) {
+ log_error("Failed to wipe existing label on %s", pv_name);
return 0;
}
- if (!dev_set(dev, UINT64_C(0), (size_t) 2048, 0)) {
- log_error("%s not wiped: aborting", pv_name);
+ if (pvw->pp->zero) {
+ log_verbose("Zeroing start of device %s", pv_name);
+ if (!dev_open_quiet(dev)) {
+ log_error("%s not opened: device not zeroed", pv_name);
+ return 0;
+ }
+
+ if (!dev_set(dev, UINT64_C(0), (size_t) 2048, 0)) {
+ log_error("%s not wiped: aborting", pv_name);
+ if (!dev_close(dev))
+ stack;
+ return 0;
+ }
if (!dev_close(dev))
stack;
- return 0;
}
- if (!dev_close(dev))
- stack;
}
log_verbose("Writing physical volume data to disk \"%s\"",