Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Jun 2006 17:48:38 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        pjd@freebsd.org
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Accessing disks via their serial numbers.
Message-ID:  <20060625.174838.2140534929.imp@bsdimp.com>
In-Reply-To: <20060624174331.GB2134@garage.freebsd.pl>
References:  <20060624174331.GB2134@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20060624174331.GB2134@garage.freebsd.pl>
            Pawel Jakub Dawidek <pjd@freebsd.org> writes:
: I'd like to extend glabel(8) to create providers related to disks based
: on their serial numbers and everntually driver name.
: For example disk ad0 could also be accessed via /dev/disk/ata/3JX0LMGA
: (/dev/disk/<driver>/<serial> or /dev/disk/<serial>).

/dev/disk/ad/3JX0LMGA or /dev/disk/da/3JX0LMGA is the only thing
you'll be able to do.  There's no mapping from the dev_t -> device_t,
so you have no way of knowing what the parent of the disk's dev_t.
All the I/O in the system is done with dev_t's.

Also, the cam system doesn't hook into the newbus system due to when
it was authored.  There's been some resistance to moving the scsi
devices into the device_t tree, like all other storage devices.  This
is part of the problem indoing thinging completely generically.

: I want to discuss mechanism for obtaining such informations.
: Currently, when disk(9) KPI is used, BIO_GETATTR requests are not passed
: down to the disks. We can eventually change this, but probably use
: additional method (not d_strategy).
: We can also not pass enitre bio structure, but only attribute name and
: buffer for the data.
: 
: This is also good time to think of other informations we would like to
: export using such mechanism, so we know it will be flexible enough to
: handle them.

If all the dev_t's had a device_t, then we could hang this information
off of devd.  It could create whatever links you wanted when the
device appeared, and remove them when it disappeared.  There'd really
be no need to have geom involved at all :-).

: It could be eventually useful to be able to ask the disk which
: attributes it has, so we can fetch them in a loop. With BIO_GETATTR we
: don't know which attributes provider can return.

device_t's already have a number of bundles of attributes.  It would
seem a shame to reinvent another mechnamism.

: Comments, ideas?

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060625.174838.2140534929.imp>