Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Apr 2002 22:49:08 -0700
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Yassar S <yassars@infy.com>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: SCSI Callback function not getting called
Message-ID:  <20020403224908.A76900@panzer.kdm.org>
In-Reply-To: <755FA95DB839D211856B0008C7287D930F3286DC@kecmsg02.ad.infosys.com>; from yassars@infy.com on Thu, Apr 04, 2002 at 09:15:25AM %2B0530
References:  <755FA95DB839D211856B0008C7287D930F3286DC@kecmsg02.ad.infosys.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Thu, Apr 04, 2002 at 09:15:25 +0530, Yassar S wrote:
> I'm not writing a driver. I'm writing an application which uses
> the SIM calls like scsi_read_write etc.

Those aren't SIM calls.

The SIM layer (SIM == System Interface Module) is the layer where the
various SCSI and FC drivers live.

Functions like scsi_read_write() fill CCBs, they don't actually execute any
I/O.

You probably want to look at the cam(3) man page, and in particular you'll
want to look at the camcontrol(8) source, located in src/sbin/camcontrol.
That's probably the best example of how to issue SCSI commands from
userland.

The short answer to your original question is:  scsi_read_write() and the
other commands like it just fill CCBs, they don't actually execute I/O.  In
addition, the callback function pointer is only used in the kernel, not in
userland.  In userland, CCBs are currently issued synchronously, so there
is no need for a callback function anyway.

Ken
-- 
Kenneth Merry
ken@kdm.org

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




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