Re: md device naming question

2007-09-24 Thread Nix
On 19 Sep 2007, maximilian attems said:

 hello,

 working on initramfs i'd be curious to know what the /sys/block
 entry of a /dev/md/NN device is. have a user request to support
 it and no handy box using it.

 i presume it may also be /sys/block/mdNN ?

That's it, e.g. /sys/block/md0. Notable subdirectories include holders/
(block devices within the array, more than one if e.g. LVM is in use),
slaves/ (block devices making up the array) and md/ (RAID-specific
state).

-- 
`Some people don't think performance issues are real bugs, and I think 
such people shouldn't be allowed to program.' --- Linus Torvalds
-
To unsubscribe from this list: send the line unsubscribe linux-raid in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Speaking of network disks (was: Re: syncing remote homes.)

2007-09-24 Thread Bill Davidsen

Mr. James W. Laferriere wrote:

Hello Bill  all ,

Bill Davidsen [EMAIL PROTECTED] Sat, 22 Sep 2007 09:41:40 -0400 ,  
wrote:
My only advice is to try and quantify the data volume and look at 
nbd vs. iSCSI to provide the mirror if you go that way.


You mentioned nbd as a transport for disk to remote disk .

My Question is have you OR anyone else tried using drbd(*) as a
method to replicate disk data across networks ?


Have not. And looking at the homepage, I think it's aimed at anothjer 
problem. If the local drive fails, I really don't want anything starting 
applications on another machine, running fsck, etc, etc. I just want my 
disk reads to go to a working device or pseudo-device.


HA and mirroring are related, but HA is more aimed at whole machine 
failures.


I've looked at the projects documents  software .  They're
mentioned at linux-ha .  But I personally have not heard of anyone
using it in production .  So I asked my question here .
Tia ,  JimL

(*) http://www.drbd.org/



--
bill davidsen [EMAIL PROTECTED]
 CTO TMR Associates, Inc
 Doing interesting things with small computers since 1979

-
To unsubscribe from this list: send the line unsubscribe linux-raid in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT PULL] async-tx/md-accel fixes and documentation for 2.6.23

2007-09-24 Thread Dan Williams
Linus, please pull from:

git://lost.foo-projects.org/~dwillia2/git/iop async-tx-fixes-for-linus

to receive:

Dan Williams (3):
  async_tx: usage documentation and developer notes (v2)
  async_tx: fix dma_wait_for_async_tx
  raid5: fix 2 bugs in ops_complete_biofill

The raid5 change has been reviewed with Neil, and the documentation
received some fixups from Randy Dunlap and Shannon Nelson.

Documentation/crypto/async-tx-api.txt |  219 +
crypto/async_tx/async_tx.c|   12 ++-
drivers/md/raid5.c|   17 +--
3 files changed, 236 insertions(+), 12 deletions(-)

---

diff --git a/Documentation/crypto/async-tx-api.txt 
b/Documentation/crypto/async-tx-api.txt
new file mode 100644
index 000..c1e9545
--- /dev/null
+++ b/Documentation/crypto/async-tx-api.txt
@@ -0,0 +1,219 @@
+Asynchronous Transfers/Transforms API
+
+1 INTRODUCTION
+
+2 GENEALOGY
+
+3 USAGE
+3.1 General format of the API
+3.2 Supported operations
+3.3 Descriptor management
+3.4 When does the operation execute?
+3.5 When does the operation complete?
+3.6 Constraints
+3.7 Example
+
+4 DRIVER DEVELOPER NOTES
+4.1 Conformance points
+4.2 My application needs finer control of hardware channels
+
+5 SOURCE
+
+---
+
+1 INTRODUCTION
+
+The async_tx API provides methods for describing a chain of asynchronous
+bulk memory transfers/transforms with support for inter-transactional
+dependencies.  It is implemented as a dmaengine client that smooths over
+the details of different hardware offload engine implementations.  Code
+that is written to the API can optimize for asynchronous operation and
+the API will fit the chain of operations to the available offload
+resources.
+
+2 GENEALOGY
+
+The API was initially designed to offload the memory copy and
+xor-parity-calculations of the md-raid5 driver using the offload engines
+present in the Intel(R) Xscale series of I/O processors.  It also built
+on the 'dmaengine' layer developed for offloading memory copies in the
+network stack using Intel(R) I/OAT engines.  The following design
+features surfaced as a result:
+1/ implicit synchronous path: users of the API do not need to know if
+   the platform they are running on has offload capabilities.  The
+   operation will be offloaded when an engine is available and carried out
+   in software otherwise.
+2/ cross channel dependency chains: the API allows a chain of dependent
+   operations to be submitted, like xor-copy-xor in the raid5 case.  The
+   API automatically handles cases where the transition from one operation
+   to another implies a hardware channel switch.
+3/ dmaengine extensions to support multiple clients and operation types
+   beyond 'memcpy'
+
+3 USAGE
+
+3.1 General format of the API:
+struct dma_async_tx_descriptor *
+async_operation(op specific parameters,
+ enum async_tx_flags flags,
+ struct dma_async_tx_descriptor *dependency,
+ dma_async_tx_callback callback_routine,
+ void *callback_parameter);
+
+3.2 Supported operations:
+memcpy   - memory copy between a source and a destination buffer
+memset   - fill a destination buffer with a byte value
+xor  - xor a series of source buffers and write the result to a
+  destination buffer
+xor_zero_sum - xor a series of source buffers and set a flag if the
+  result is zero.  The implementation attempts to prevent
+  writes to memory
+
+3.3 Descriptor management:
+The return value is non-NULL and points to a 'descriptor' when the operation
+has been queued to execute asynchronously.  Descriptors are recycled
+resources, under control of the offload engine driver, to be reused as
+operations complete.  When an application needs to submit a chain of
+operations it must guarantee that the descriptor is not automatically recycled
+before the dependency is submitted.  This requires that all descriptors be
+acknowledged by the application before the offload engine driver is allowed to
+recycle (or free) the descriptor.  A descriptor can be acked by one of the
+following methods:
+1/ setting the ASYNC_TX_ACK flag if no child operations are to be submitted
+2/ setting the ASYNC_TX_DEP_ACK flag to acknowledge the parent
+   descriptor of a new operation.
+3/ calling async_tx_ack() on the descriptor.
+
+3.4 When does the operation execute?
+Operations do not immediately issue after return from the
+async_operation call.  Offload engine drivers batch operations to
+improve performance by reducing the number of mmio cycles needed to
+manage the channel.  Once a driver-specific threshold is met the driver
+automatically issues pending operations.  An application can force this
+event by calling async_tx_issue_pending_all().  This operates on all
+channels since the application has no knowledge of channel to operation
+mapping.
+
+3.5 When does the operation complete?
+There are two methods for 

Re[2]: raid5 - which disk failed ?

2007-09-24 Thread Rainer Fuegenstein


NB Or maybe the drive is failing, but that is badly confusing the
NB controller, with the same result.
NB Is it always hde that is reporting errors?

for now - yes; but a few months ago for a short period of time hdg and
hdh also have been reported with errors, but this went away quickly
and never occured again.

NB With PATA, it is fairly easy to make sure you have removed the correct
NB drive, and names don't change.  hde is the 'master' on the 3rd
NB channel.  Presumably the first channel of your controller card.

I know; what I meant was: I'd like to make sure that I remove the one
drive that md thinks is faulty - I want to avoid removing a healthy
drive, leaving md with one broken drive and two healthy ones which
isn't good for a raid5. but in this case, hde rather certainly is the
troublemaker.

NB No, a faulty drive in a raid5 should not crash the whole server.  But
NB a bad controller card or buggy driver for the controller could.

this seems to be the case here. guess its time to shop for a new
server.

tnx.

--
 Rainer Fuegenstein  [EMAIL PROTECTED]
--
Why are you looking into the darkness and not into the fire as we do ?, Nell
asked. Because the darkness is where danger comes from, Peter said, and
from the fire comes only illusion.   (from The Diamond Age)
--

-
To unsubscribe from this list: send the line unsubscribe linux-raid in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: md device naming question

2007-09-24 Thread Michal Soltys

Nix wrote:

On 19 Sep 2007, maximilian attems said:



i presume it may also be /sys/block/mdNN ?


That's it, e.g. /sys/block/md0. Notable subdirectories include holders/
(block devices within the array, more than one if e.g. LVM is in use),



Also, if you mount the raid as a partitionable one, /sys/block/md_dNN ;

mdadm has pretty decent handling of all the names (check out auto options, 
both usable in mdadm.conf and from command line). Also from my experience, 
if you try to use udev on partitionable arrays, partition related uevents 
will be delayed until next mdadm invocation, or some partition related 
command (like fdisk).



-
To unsubscribe from this list: send the line unsubscribe linux-raid in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html