Re: [RFC] wrong behavior of re-adding a device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----
> From: "Gi-Oh Kim" <gi-oh.kim@xxxxxxxxxxxxxxxx>
> To: xni@xxxxxxxxxx
> Cc: gqjiang@xxxxxxxx, "Shaohua Li" <shli@xxxxxx>, "NeilBrown" <neilb@xxxxxxx>, "Jinpu Wang"
> <jinpu.wang@xxxxxxxxxxxxxxxx>, linux-raid@xxxxxxxxxxxxxxx
> Sent: Friday, September 21, 2018 5:09:48 PM
> Subject: Re: [RFC] wrong behavior of re-adding a device
> 
> On Fri, Sep 21, 2018 at 7:19 AM Xiao Ni <xni@xxxxxxxxxx> wrote:
> >
> >
> >
> > ----- Original Message -----
> > > From: "Guoqing Jiang" <gqjiang@xxxxxxxx>
> > > To: "Gi-Oh Kim" <gi-oh.kim@xxxxxxxxxxxxxxxx>, "Shaohua Li" <shli@xxxxxx>,
> > > "NeilBrown" <neilb@xxxxxxx>
> > > Cc: "Jinpu Wang" <jinpu.wang@xxxxxxxxxxxxxxxx>,
> > > linux-raid@xxxxxxxxxxxxxxx
> > > Sent: Friday, September 21, 2018 11:57:50 AM
> > > Subject: Re: [RFC] wrong behavior of re-adding a device
> > >
> > >
> > >
> > > On 9/20/18 9:36 PM, Gi-Oh Kim wrote:
> > > > On Wed, Sep 19, 2018 at 5:09 PM Gi-Oh Kim <gi-oh.kim@xxxxxxxxxxxxxxxx>
> > > > wrote:
> > > >> Hi,
> > > >>
> > > >> I found a weird behavior of re-adding a device.
> > > >> I think it is a kernel bug.
> > > >> I would appreciate it if somebody can confirm if it is a bug or
> > > >> feature.
> > > >>
> > > >> I tested re-adding a device as following.
> > > >> 1. create md with ram0 and ram1
> > > >> 2. add ram2
> > > >> 3. grow raid-device number to 3
> > > >> 4. remove ram2
> > > >> 5. grow raid-device number to 2
> > > >> 6. add ram2
> > > >> 7. ram0 become faulty and ram2 become active
> > > >> 8. stop md
> > > >> 9. assemble md with ram0 and ram1 => fail because ram0 is faulty
> >
> > Hi Gi
> >
> > I haven't reproduce your problem. Are there something wrong with the steps?
> >
> > [root@dell-per230-03 home]# uname -r
> > 4.19.0-rc4
> >
> >
> > [root@dell-per230-03 home]# modprobe brd rd_nr=4 rd_size=12582912
> > [root@dell-per230-03 home]# ls /dev/ram*
> > /dev/ram0  /dev/ram1  /dev/ram2  /dev/ram3
> > [root@dell-per230-03 home]# mdadm -CR /dev/md0 -l1 -n2 /dev/ram0 /dev/ram1
> > [root@dell-per230-03 home]# mdadm /dev/md0 -a /dev/ram2
> > mdadm: added /dev/ram2
> > [root@dell-per230-03 home]# cat /proc/mdstat
> > Personalities : [raid1]
> > md0 : active raid1 ram2[2](S) ram1[1] ram0[0]
> >       12573696 blocks super 1.2 [2/2] [UU]
> > [root@dell-per230-03 home]# mdadm /dev/md0 --grow --raid-device=3
> > raid_disks for /dev/md0 set to 3
> > [root@dell-per230-03 home]# cat /proc/mdstat
> > Personalities : [raid1]
> > md0 : active raid1 ram2[2] ram1[1] ram0[0]
> >       12573696 blocks super 1.2 [3/3] [UUU]
> >
> > unused devices: <none>
> > [root@dell-per230-03 home]# mdadm /dev/md0 -f /dev/ram2
> > mdadm: set /dev/ram2 faulty in /dev/md0
> > [root@dell-per230-03 home]# mdadm /dev/md0 -r /dev/ram2
> > mdadm: hot removed /dev/ram2 from /dev/md0
> > [root@dell-per230-03 home]# cat /proc/mdstat
> > Personalities : [raid1]
> > md0 : active raid1 ram1[1] ram0[0]
> >       12573696 blocks super 1.2 [3/2] [UU_]
> >
> > unused devices: <none>
> > [root@dell-per230-03 home]# mdadm /dev/md0 --grow --raid-devices=2
> > raid_disks for /dev/md0 set to 2
> > [root@dell-per230-03 home]# cat /proc/mdstat
> > Personalities : [raid1]
> > md0 : active raid1 ram1[1] ram0[0]
> >       12573696 blocks super 1.2 [2/2] [UU]
> >
> > unused devices: <none>
> > [root@dell-per230-03 home]# mdadm /dev/md0 -a /dev/ram2
> > mdadm: added /dev/ram2
> 
> Hi Xiao,
> 
> Your mdadm shows "added" but my mdadm shows "re-added".
> I think "re-add" is what cause the problem.
> Could you try "mdadm /dev/md0 --re-add /dev/ram2"?

Hmm, it can't be re-added. 

[root@dell-per230-03 mdadm]# mdadm /dev/md0 -f /dev/ram2
mdadm: set /dev/ram2 faulty in /dev/md0
[root@dell-per230-03 mdadm]# mdadm /dev/md0 -r /dev/ram2
mdadm: hot removed /dev/ram2 from /dev/md0
[root@dell-per230-03 mdadm]# mdadm /dev/md0 --grow --raid-devices=2
raid_disks for /dev/md0 set to 2
[root@dell-per230-03 mdadm]# mdadm /dev/md0 --re-add /dev/ram2
mdadm: --re-add for /dev/ram2 to /dev/md0 is not possible

Regards
Xiao



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux