Bug 170355 - dmraid mistakenly in /etc/rc.sysinit creates /dev/mapper/nvidia_bafieldbg which would prevent me from mounting my 2nd hard disk
Summary: dmraid mistakenly in /etc/rc.sysinit creates /dev/mapper/nvidia_bafieldbg wh...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: dmraid
Version: 4.0
Hardware: i686
OS: Linux
low
low
Target Milestone: ---
: ---
Assignee: Heinz Mauelshagen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-10-10 22:25 UTC by Kin Yip
Modified: 2007-11-30 22:07 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-11-20 15:54:50 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Kin Yip 2005-10-10 22:25:21 UTC
Description of problem:
---------------------------------
I have a new DELL Precision n470 and I used the RedHat WS4 Linux (kernel
2.6.9-22ELsmp), which comes with the DELL.  I have 2 hard disks (1 500 GB on
/dev/sda and another on /dev/sdb) but I have NO RAID at all.

I have found (after a lot of "trials and errors") that the following lines in
/etc/rc.sysinit somehow think that I have a NVIDIA RAID system and create
/dev/mapper/nvidia_bafiedbg and /dev/mapper/nvidia_bafiedbg1:
   if [ -x /sbin/dmraid ]; then
       modprobe dm-mirror > /dev/null 2>&1
      /sbin/dmraid -i -a y
   fi

Somehow, this would prevent me from mounting my 2nd harddisk on /dev/sdb1.
If I comment out those few lines and reboot my machine, the /dev/sdb1 would be
properly mounted on /mnt/disk2.

--------------------------------------------------

Version-Release number of selected component (if applicable):
--------------------------------------------------------------
If I do "dmraid -V", I would get :

dmraid version:         1.0.0.rc8 (2005.05.19) debug 
dmraid library version: 1.0.0.rc8 (2005.05.19)
device-mapper version:  4.4.0

The RPM version is :     dmraid-1.0.0.rc8-1_RHEL4_U2
-----------------------------------------------------------------

How reproducible: Every time !

-----------------------------------------------------------------------
Steps to Reproduce:
----------------------------------------------------------------------------
1. I don't really need to do anything but just let the PC boot without changing
any boot script such as /etc/rc.sysinit.  Because after booting, ie., the
/dev/sdb1 is not mounted and cannot be mounted to (say) /mnt/disk2 .

-----------------------------------------------------------------------
  
Actual results:
-------------------------------------------------------------------------------
After (re)booting finishes, On the /var/log/messages, you'd see the following
message during boot time:
===============================================================
Oct  9 08:14:12 cnipol2 mount: mount: /dev/sdb1 already mounted or /mnt/disk2 busy
===============================================================


If I try to "mount -t ext3 /mnt/disk2 /dev/sdb1" manually.  It'd say again :
===============================================================
/dev/sdb1 already mounted or /mnt/disk2 busy
===============================================================

If you do "df ." on /mnt/disk2, you'd see 
==================================================================
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5            474339700   6466984 443777628   2% /
==================================================================

that it's on the other hard disk /dev/sda5, NOT /dev/sdb1.

------------------------------------------------------------------------

Expected results:
------------------------------------------------------------------------
If things work,  doing "df ." on /mnt/disk2, one should see :
==================================================================
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb1            240308484     94272 228007224   1% /mnt/disk2
==================================================================

------------------------------------------------------------------------

Additional info:
------------------------------------------------------------------------
(1) My /etc/fstab looks like

===================== my /etc/fstab ===========================
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=SWAP-sda6         swap                    swap    defaults        0 0
LABEL=/mnt/disk2     /mnt/disk2                  ext3    defaults        1 2
/dev/hdc                /media/cdrecorder       auto   
pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
/dev/fd0                /media/floppy           auto   
pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
==========================================================================

Changing "LABEL=/mnt/disk2" to "/dev/sdb1" would NOT solve the problem.


(2) By chance, I have found that if I do
                              mount -L /mnt/disk2

I'd get the message:
===========================================================================
mount: the label /mnt/disk2 occurs on both /dev/sdb1 and
/dev/mapper/nvidia_bafiedbg1 - not mounted
===========================================================================

Even if I later label /dev/sdb1 to say "/disk2", change the fstab file
according) and reboot, somehow, your dev-mapper would pick up that label as well !

This was in fact how I was able to start to trace the problem.



(3) Under /dev/mapper, do a "ls -l", I see :
=================================================
total 0
crw-------  1 root root  10, 63 Oct  9 08:47 control
brw-rw----  1 root disk 253,  0 Oct  9 08:47 nvidia_bafiedbg
brw-rw----  1 root disk 253,  1 Oct  9 08:47 nvidia_bafiedbg1
=================================================

(4)  If I do "umount -v /mnt/disk2", I see the message:
====================================================
Could not find /mnt/disk2 in mtab
umount: /mnt/disk2: not mounted
====================================================

------------------------------------------------------------------------

Comment 1 Kin Yip 2005-10-21 15:37:32 UTC
It'd be good to hear from reply ??

One piece of information is that, this "bug" happens if one actually sets
display (by running system-config-display) to use NVIDIA Video Card (change of
"Driver" from VERA to "nv" etc. in /etc/X11/xorg.conf .

I hope to hear from you guys soon.

Comment 2 Heinz Mauelshagen 2006-11-20 13:34:38 UTC
Your drive obviously contains ATARAID metadata, presumably put there by somebody
using the NVidia BIOS, which triggers dmraid to try activating the respetcive
mapping. If you don't want that, run "dmraid -rE /dev/sdb" and remove the metadata.

Comment 3 Kin Yip 2006-11-20 13:41:07 UTC
IN addition to doing "dmraid -rE /dev/sdb", how do I remove the ATARAID 
metadata ?  Can you please let me know (or at least tell me where the metadata 
is or looks like) ?

Comment 4 Heinz Mauelshagen 2006-11-20 19:24:39 UTC
You remove the metadata with "dmraid -rE /dev/sdb" as mentioned.
See "man dmraid".
Any NVidia metadata is in the second last sector of each drive.


Comment 5 Kin Yip 2006-11-21 03:30:24 UTC
Just to inform you that "dmraid -rE /dev/sdb" indeed seems to have solved the 
problem.

Comment 6 Heinz Mauelshagen 2006-11-21 11:07:55 UTC
Alright, leaving bug closed.


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