Current-Users archive

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

Re: aac(4) and multiple ld(4)s

On Mon, 15 Sep 2008, Allen Briggs wrote:
On Mon, Sep 15, 2008 at 01:41:17PM +0100, Stephen Borrill wrote:
I've got an IBM x3400 with a ServeRAID 8k card. I've configured two RAID
arrays: one is a RAID-1 with 2x80GB, the other a RAID-5 with 6x1TB.

However, only the first is seen as ld0, there's no ld1. What gives?

I don't know off-hand, but I'm willing to look at it.  I've been meaning
to set up a second ld on my Dell PowerEdge aac(4).

The second unit is returning a container volume type of CT_NONE (with a status of ST_OK) and so is being skipped. If I remove that check, it attaches with volume type Unknown and can be used. However, it is limited to 2TB (the array is 4.5TB).

Looking at struct aac_mntobj:

struct aac_mntobj {
        u_int32_t ObjectId;
        char    FileSystemName[16];
        struct aac_container_creation CreateInfo;
        u_int32_t Capacity;
        u_int32_t VolType;
        u_int32_t ObjType;
        u_int32_t ContentState;
#define AAC_FSCS_READONLY 0x0002 /* XXX need more information than this */
        union {
                u_int32_t pad[8];
        } ObjExtension;
        u_int32_t AlterEgoId;
} __attribute__ ((__packed__));

Capacity is a 32-bit integer which explains the 2TB limit. I think I'm hitting up against this:
#ifdef notyet
                if (opts & AAC_SUPPORTED_64BIT_ARRAYSIZE)
                        sc->sc_quirks |= AAC_QUIRK_ARRAY_64BIT;

I'll keep looking.


Home | Main Index | Thread Index | Old Index