All of lore.kernel.org
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.com>
To: mostafa kishani <mostafa.kishani@gmail.com>, linux-raid@vger.kernel.org
Subject: Re: Implementing Global Parity Codes
Date: Fri, 02 Feb 2018 16:24:18 +1100	[thread overview]
Message-ID: <87d11o2ccd.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <CACm9mdUJLczo8zSB5UfU9Fd_6VK3+sGCYJYdaEaX0qW1cMLtYA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1797 bytes --]

On Sat, Jan 27 2018, mostafa kishani wrote:

> Dear All,
>
> I am going to make some modifications to RAID protocol to make it more
> reliable for my case (for a scientific, and maybe later, industrial
> purpose). For example, I'm going to hold a Global Parity (a parity
> taken across the whole data stripe rather than a row) alongside normal
> row-wise parities, to cope with an extra sector/page failure per
> stripe. Do you have any suggestion how can I implement this with a
> moderate effort (I mean what functions should be modified)? have any
> of you had any similar effort?

In raid5.c the is a "struct stripe_head" which represents a stripe that
is one-page (normally 4K) wide across all devices.  All the data for any
parity calculation can all be found in a 'stripe_head'.
You would probably need to modify the stripe_head to represent several
more blocks so that all the Data and Parity for any computation are
always attached to the one stripe_head.

> I also appreciate if you guide me how can I enable DEBUG mode in mdadm.

I assume you mean debug mode on "md".
mdadm is the management tool.
md is the kernel driver.

mdadm doesn't have a debug mode.

md has a number of pr_debug() calls which can each be turned on or off
independently using dynamic debugging

https://www.kernel.org/doc/html/v4.15/admin-guide/dynamic-debug-howto.html

To turn on all pr_debug commands in raid5.c use

   echo file raid5.c +p > /sys/kernel/debug/dynamic_debug/control

to turn them off again:

   echo file raid5.c -p > /sys/kernel/debug/dynamic_debug/control

NeilBrown

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  parent reply	other threads:[~2018-02-02  5:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-27  5:47 Implementing Global Parity Codes mostafa kishani
2018-01-27  8:37 ` Wols Lists
2018-01-27 14:29   ` mostafa kishani
2018-01-27 15:13     ` Wols Lists
2018-01-28 13:00       ` mostafa kishani
2018-01-29 10:22       ` David Brown
2018-01-29 17:44         ` Wols Lists
2018-01-30 11:47           ` David Brown
2018-01-30 14:18           ` Brad Campbell
2018-01-30 11:30         ` mostafa kishani
2018-01-30 15:14           ` David Brown
2018-01-31 16:03             ` mostafa kishani
2018-01-31 17:53               ` Piergiorgio Sartor
2018-02-02  5:24 ` NeilBrown [this message]
2018-02-03  6:01   ` mostafa kishani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d11o2ccd.fsf@notabene.neil.brown.name \
    --to=neilb@suse.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=mostafa.kishani@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.