Re: weird issues with raid1

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

 



On Wednesday December 17, jnelson-linux-raid@xxxxxxxxxxx wrote:
> On Wed, Dec 17, 2008 at 11:17 PM, Neil Brown <neilb@xxxxxxx> wrote:
> > On Wednesday December 17, jnelson-linux-raid@xxxxxxxxxxx wrote:
> >> >
> >> >> It could be that you are hitting the bug fixed by
> >> >>  commit a0da84f35b25875870270d16b6eccda4884d61a7
> >> >
> >> > That sure sounds like it. I'd have to log to see what happened,
> >> > exactly, but I've added substantial logging around the device
> >> > discovery and addition section which manages this particular raid.
> >> >
> >> >> You would need 2.6.26 or later to have that fixed.
> >> >> Can you try with a newer kernel???
> >> >
> >> > I hope to be giving opensuse 11.1 a try soon, which uses 2.6.27.X
> >> > afaik.  I suspect I can also backport that patch to 2.6.25 easily.
> >>
> >> The kernel source for 2.6.25.18-0.2 (from suse) has this patch
> >> already, so I was already using it.
> >
> > Are you sure?  I just looked in the openSUSE-11.0 kernel tree and I
> > cannot see it there....
> >
> > NeilBrown
> >
> >
> >>
> >> Perhaps this weekend or some night this week I'll find time to try to
> >> break things again.
> >>
> >> --
> >> Jon
> >
> 
> jnelson@turnip:~/kernels> rpm -qf /usr/src/linux-2.6.25.18-0.2
> kernel-source-2.6.25.18-0.2
> jnelson@turnip:~/kernels> rpm -V kernel-source-2.6.25.18-0.2
> jnelson@turnip:~/kernels> (cd linux-2.6 && git diff
> a0da84f35b25875870270d16b6eccda4884d61a7
> a0da84f35b25875870270d16b6eccda4884d61a7^ ) > d.diff

This is requesting the diff between a given version, and the previous
version.  So it will be a reversed diff.

> jnelson@turnip:~/kernels> head d.diff
> diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
> index dedba16..b26927c 100644
> --- a/drivers/md/bitmap.c
> +++ b/drivers/md/bitmap.c
> @@ -454,11 +454,8 @@ void bitmap_update_sb(struct bitmap *bitmap)
>         spin_unlock_irqrestore(&bitmap->lock, flags);
>         sb = (bitmap_super_t *)kmap_atomic(bitmap->sb_page, KM_USER0);
>         sb->events = cpu_to_le64(bitmap->mddev->events);
> -       if (bitmap->mddev->events < bitmap->events_cleared) {
> -               /* rocking back to read-only */

i.e. these two lines are *added* by the patch.
I usually use e.g.
   git log -p a0da84f35b25875870270d16b6eccda4884d61a7
to look at diffs.  Less room for confusion. (or gitk).

> jnelson@turnip:~/kernels> cp -r /usr/src/linux-2.6.25.18-0.2 .
> jnelson@turnip:~/kernels/linux-2.6.25.18-0.2> tail -n +454
> drivers/md/bitmap.c | head -n 20
> {
>         bitmap_super_t *sb;
>         unsigned long flags;
> 
>         if (!bitmap || !bitmap->mddev) /* no bitmap for this array */
>                 return;
>         spin_lock_irqsave(&bitmap->lock, flags);
>         if (!bitmap->sb_page) { /* no superblock */
>                 spin_unlock_irqrestore(&bitmap->lock, flags);
>                 return;
>         }
>         spin_unlock_irqrestore(&bitmap->lock, flags);
>         sb = (bitmap_super_t *)kmap_atomic(bitmap->sb_page, KM_USER0);
>         sb->events = cpu_to_le64(bitmap->mddev->events);
>         if (!bitmap->mddev->degraded)
>                 sb->events_cleared = cpu_to_le64(bitmap->mddev->events);
>         kunmap_atomic(sb, KM_USER0);
>         write_page(bitmap, bitmap->sb_page, 1);
> }

and as those two lines are not present here, the patch as not been
applied. 
:-)

NeilBrown
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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