From: "Diego M. Vadell" <dvadell@lantech.com.ar>
To: "Peter T. Breuer" <ptb@lab.it.uc3m.es>, linux-raid@vger.kernel.org
Subject: Re: sata_nv and RAID1
Date: Mon, 13 Jun 2005 18:16:42 -0300 [thread overview]
Message-ID: <200506131816.42671.dvadell@lantech.com.ar> (raw)
In-Reply-To: <rn11o2-7c6.ln1@news.it.uc3m.es>
On Monday 13 June 2005 16:00, you wrote:
> Diego M. Vadell <dvadell@lantech.com.ar> wrote:
> > On Monday 13 June 2005 13:07, Peter T. Breuer wrote:
> > > > > I don't know either. For the FR1 code I implemented three new
> > > > > ioctls .. all of them sent out by the FR1 (raid1) driver.
> > > > >
> > > > > 1) notify component that it is in an array and which
> > > > > 2) notify component that it is no longer in an array and which
> > > > > 3) send component a callback function through which it can
> > > > > SET_FAULTY and re-HOTADD itself to the array it kno it is in
> > > > > as need be.
> > > > >
> > > > > Maybe hotplugging has those facilities. I don't know.
> > > > >
> > > > > Cooperating devices would have to implement the ioctls.
> > > >
> > > > If I understand right, even if I used FR1, it wont pass the test
> > >
> > > Yes it will. The device driver will detect something wrong (if the
> > > device driver doesn't know, NOBODY does) and call back to the raid
> > > array driver to say "set me faulty".
> > >
> > > That's the whole idea.
> > >
> > > When the device driver senses its device is well again, it will call
> > > back and say "hot add me again".
> >
> > But not as it is today...
>
> Yes, "as it is today".
>
> > when you say "Cooperating devices would have to
> > implement the ioctls." means that I have to touch sata_nv's source code
> > to implement those ioctls, am I right?
>
> One has to implement or have implemented those ioctls in the driver of
> whichever device you are interested in, in order to cooperate properly
> with fr1 (in that respect). That goes without saying. I merely provided
> the infrastructure in fr1 - indeed, I could not have provided anything
> else because I do not control the code for anything else. Fr1 will send
> the ioctls I listed above (or sketched, rather) to any component device.
> It is up to that component device to make use of them.
>
> There may well be another scheme/architecture already available. I
> don't know. In my abject ignorance I simply implemented an adequate
> scheme for my purposes, and waited for anyone to tell me of a better
> one. If hotplugging is supported by the target device, it may well be
> the case that you could implement at least ioctl (3) via hotplugging.
>
> Ioctls (1) and (2) are merely informative. They courteously let the
> target device know that it has been included in (or excluded from) a
> particular md array. This allows the target device to make any mode
> shifts that may be appropriate to running in a raid array, such as
> exposing errors immediately to the array instead of blocking and trying
> again internally (or vice versa -). It also allows the target device
> to decide when or if to make use of the callback function provided to
> it in ioctl (3), with which it can tell the raid arrays in which it has
> been informed that it has been included of its current state of health.
>
> > If that is all I have to do, I will give it a try (supposing my boss does
> > not make me use the raid in the motherboard) .
>
> The enbd code (ftp://oboe.it.uc3m.es/pub/Programs/enbd-2.4.32pre.tgz)
> implements the ioctls in question.
>
> If you know of another scheme, please feel free to tell me about it.
>
> My idea was that the target device should preemptively inform the array
> if it is in good or bad health. This implies that it should know in
> which array it is included, in order to know who is interested in
> knowing its health. Hence ioctls (1) and (2) which tell it who wishes
> to be informed about its health. And ioctl (3) which gives it a
> telephone number to use.
>
> Ioctl (3) could be implemented the other way round - that is, it could
> be simply the md array which receives an existing SETFAULTY or HOTADD
> ioctl. I don't know why I chose to send across a callback function to
> the target device instead. Probably because I was aware of locking
> difficulties.
>
>
> Peter
Peter,
thanks you very much. When I recieved your mail, I was already trying Jeff
Garzik's solution. Basically, if that doesn't work, I have to put the server
in production with whatever it has, and I will be unable to make more tests.
But besides my problem, Fast Raid seems a very good idea! Is it any reason
why it isn't in the mainline kernel?
-- Diego.
next prev parent reply other threads:[~2005-06-13 21:16 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-11 16:13 sata_nv and RAID1 Diego M. Vadell
2005-06-11 19:26 ` Jeff Garzik
2005-06-11 20:29 ` Michael Tokarev
2005-06-13 3:15 ` Diego M. Vadell
2005-06-13 6:45 ` Jeff Garzik
2005-06-13 11:57 ` Michael Tokarev
2005-06-13 12:27 ` Peter T. Breuer
2005-06-13 14:40 ` Diego M. Vadell
2005-06-13 16:07 ` Peter T. Breuer
2005-06-13 16:51 ` Diego M. Vadell
2005-06-13 17:59 ` Jeff Garzik
2005-06-13 21:00 ` Diego M. Vadell
2005-06-13 21:20 ` Jeff Garzik
2005-06-13 21:41 ` Diego M. Vadell
[not found] ` <1118818568.3089.5.camel@raz-laptop>
[not found] ` <200506151427.09114.dvadell@lantech.com.ar>
2005-06-16 6:43 ` raz ben jehuda
2005-06-14 21:11 ` Molle Bestefich
2005-06-13 19:00 ` Peter T. Breuer
2005-06-13 20:41 ` Raz Ben-Jehuda(caro)
2005-06-13 21:16 ` Diego M. Vadell [this message]
2005-06-14 21:11 ` Molle Bestefich
2005-06-14 21:37 ` Michael Tokarev
2005-06-14 22:10 ` Diego M. Vadell
2005-06-14 22:17 ` Michael Tokarev
2005-06-15 0:08 ` Jeff Garzik
2005-06-14 22:26 ` Molle Bestefich
2005-06-14 23:07 ` Bill Davidsen
2005-06-14 23:18 ` Molle Bestefich
2005-06-15 0:12 ` Jeff Garzik
2005-06-15 0:19 ` Molle Bestefich
2005-06-14 23:46 ` Mike Hardy
2005-06-15 0:11 ` Jeff Garzik
2005-06-15 0:34 ` Guy
2005-06-14 21:53 ` David Greaves
2005-06-14 22:30 ` Molle Bestefich
2005-06-15 19:17 ` Mark Hahn
2005-06-15 19:32 ` Molle Bestefich
2005-06-15 19:34 ` Molle Bestefich
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=200506131816.42671.dvadell@lantech.com.ar \
--to=dvadell@lantech.com.ar \
--cc=linux-raid@vger.kernel.org \
--cc=ptb@lab.it.uc3m.es \
/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.