Bug 121842 - [PATCH] LVM on PPC64: pvmove failed to move physical extent from one PV to another.
[PATCH] LVM on PPC64: pvmove failed to move physical extent from one PV to an...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel (Show other bugs)
3.0
powerpc Linux
medium Severity medium
: ---
: ---
Assigned To: David Howells
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-04-28 11:48 EDT by Wendy Cheng
Modified: 2007-11-30 17:07 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-09-02 00:31:27 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Wendy Cheng 2004-04-28 11:48:32 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1)
Gecko/20020830

Description of problem:
Red Hat Issue Tracker number:   IT# 35830
Bug Reported by:                Glen Johnson (IBM LTC)
IBM Technical Account Manager:  Mike Gahagan
HardWare Environment:           ppc64

The "pvmove" command uses the PE_LOCKED_COPY (0x4004fe51) ioctl to
finish the move from one physical extent to another. Unfortunately,
this ioctl has not been handled at all on ppc64 kernel and always
return -EINVAL. 

If we add (hack) COMPATIBLE_IOCTL(PE_LOCKED_COPY) as:

--- arch/ppc64/kernel.orig/ioctl32.c	2004-03-05 10:32:56.000000000 +0530
+++ arch/ppc64/kernel/ioctl32.c	2004-03-02 16:23:39.000000000 +0530
@@ -4366,6 +4366,7 @@
 COMPATIBLE_IOCTL(VG_RENAME),
 COMPATIBLE_IOCTL(VG_REDUCE),
 COMPATIBLE_IOCTL(PE_LOCK_UNLOCK),
+COMPATIBLE_IOCTL(PE_LOCKED_COPY),
 COMPATIBLE_IOCTL(PV_FLUSH),
 COMPATIBLE_IOCTL(LVM_LOCK_LVM),
 COMPATIBLE_IOCTL(LVM_GET_IOP_VERSION),

then then "pvmove" completes without error.



Version-Release number of selected component (if applicable):
RHEL3 (kernel-2.4.21-x.EL)

How reproducible:
Always

Steps to Reproduce:
On a ppc64 machine:

1. Create two physical volume, and then create a volume group on them.
   e.g. shell> parted #create 2 spare disk partitions - each 800MB. 
        shell> vgscan #if first run of LVM
        shell> pvcreate /dev/sda5 /dev/sda6
        shell> vgcreate vg001 /dev/sda5 /dev/sda6
2. Create a logical volume, then create and mount a file system on it.
   e.g. shell> lvcreate -L 200M -n lv001 vg001
        shell> mkfs.ext3 /dev/vg001/lv001
        shell> mkdir /lvmtst
        shell> mount /dev/vg001/lv001 /lvmtst
3. Move the physical extent from one physical volume to another
   e.g. shell> pvdisplay -v /dev/sda5
        shell> pvdisplay -v /dev/sda6
        shell> pvmove -v /dev/sdc5

pvmove -- ERROR reading input physical volume "/dev/sdc5" (still
4194304 bytes
to read)
pvmove -- ERROR "pv_move_pe(): read input PV" moving physical extents
    

Actual Results:  The "pvmove" command fails with the following error
messages:

pvmove -- ERROR reading input physical volume "/dev/sdc5" (still
4194304 bytes to read)
pvmove -- ERROR "pv_move_pe(): read input PV" moving physical extents



Expected Results:  The command (pvmove) finished successfully

Additional info:

1. The x86 doesn't have this problem. 
2. Experiments were done on p655.test.redhat.com (192.168.33.46).
3. Contact James Laska (QA Engineer) if you need machine access.
Comment 5 Ernie Petrides 2004-05-12 23:45:43 EDT
Wendy's patch above has just been committed to the RHEL3 U3
patch pool this evening (in kernel version 2.4.21-15.4.EL).
Comment 6 John Flanagan 2004-09-02 00:31:27 EDT
An errata has been issued which should help the problem 
described in this bug report. This report is therefore being 
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, 
please follow the link below. You may reopen this bug report 
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2004-433.html

Note You need to log in before you can comment on or make changes to this bug.