Bug 735634

Summary: [lvm] pvresize command ignores real LUN size
Product: Red Hat Enterprise Linux 6 Reporter: Haim <hateya>
Component: lvm2Assignee: LVM and device-mapper development team <lvm-team>
Status: CLOSED NOTABUG QA Contact: Corey Marthaler <cmarthal>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: abaron, agk, dwysocha, heinzm, ilvovsky, jbrassow, mbroz, mgoldboi, prajnoha, prockai, thornber, yeylon, zkabelac
Target Milestone: rc   
Target Release: 6.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-05 06:22:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Haim 2011-09-04 12:19:11 UTC
Description of problem:

- pv size (LUN) = 10G 
- create vg from that pv = 10G
- extend LUN size on storage side with additional 10G (LUN size is now 20G)
- using pvresize, resize pv to 40G, I get: WARNING: /dev/mapper/1stam-31315129: Overriding real size. You could lose data. 
Physical volume "/dev/mapper/1stam-31315129" changed                                                                                                                                                              1 physical volume(s) resized / 0 physical volume(s) not resized

[root@nott-vds5 ~]# echo $?
0

[root@nott-vds5 ~]# pvs
  PV                         VG                                   Fmt  Attr PSize   PFree 
  /dev/mapper/1stam-31315129 cf0614ae-9859-492e-b425-2c9bc7f04fc8 lvm2 a-    39.75g 35.88g

this command should be blocked. also, in case one wants to build some logic around such case, and allow LUN extend, how can he know the real size of the LUN and if it was resized ? anyhow, I would have expect error message on such scenario.

Comment 2 Ayal Baron 2011-09-04 17:23:10 UTC
(In reply to comment #0)
> Description of problem:
> 
> - pv size (LUN) = 10G 
> - create vg from that pv = 10G
> - extend LUN size on storage side with additional 10G (LUN size is now 20G)
> - using pvresize, resize pv to 40G, I get: WARNING: /dev/mapper/1stam-31315129:
> Overriding real size. You could lose data. 
> Physical volume "/dev/mapper/1stam-31315129" changed                           
>                                                                                
>                                                   1 physical volume(s) resized
> / 0 physical volume(s) not resized
> 
> [root@nott-vds5 ~]# echo $?
> 0
> 
> [root@nott-vds5 ~]# pvs
>   PV                         VG                                   Fmt  Attr
> PSize   PFree 
>   /dev/mapper/1stam-31315129 cf0614ae-9859-492e-b425-2c9bc7f04fc8 lvm2 a-   
> 39.75g 35.88g
> 
> this command should be blocked. also, in case one wants to build some logic
> around such case, and allow LUN extend, how can he know the real size of the
> LUN and if it was resized ? anyhow, I would have expect error message on such
> scenario.

It sounds like you're using --setphysicalvolumesize which "Overrides the automatically-detected size of the PV. Use with care, or prior to reducing the physical size of the device."

If this is indeed what you're doing then this is not a bug, but the intended behaviour.  You should be running pvresize without the size parameter and let it autodetect the new size.

Comment 3 Haim 2011-09-05 06:22:06 UTC
correct. that is by design, when using without  'setphysicalvolumesize' it resizes to actual LUN size.