Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Apr 2010 22:39:26 -0700
From:      Xin LI <delphij@gmail.com>
To:        YONETANI Tomokazu <qhwt+fbsd@les.ath.cx>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: BIO_FLUSH and ips(4)
Message-ID:  <x2la78074951004242239n6471060dj24d8d71c5a41f406@mail.gmail.com>
In-Reply-To: <20100425032047.GA89136@les.ath.cx>
References:  <20100425032047.GA89136@les.ath.cx>

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

On Sat, Apr 24, 2010 at 8:20 PM, YONETANI Tomokazu <qhwt+fbsd@les.ath.cx> w=
rote:
> Hello.
>
> The ServeRAID driver, or ips(4), seems to distinguish read or write reque=
sts
> with a macro called ips_read_request(), which is defined as
>
> =C2=A0#define ips_read_request(iobuf) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 ((iobuf)->bio_cmd =3D=3D BIO_READ)
>
> in its strategy routine and a few other places. =C2=A0So when the request=
 is
> BIO_FLUSH, the ips driver issues a write command (IPS_WRITE_CMD) with
> length =3D=3D 0, right?
>
> My question is, do ServeRAID controllers treat 0-byte write command
> as a sync-to-disk request, or is there any command for that purpose?
> There's a command called IPS_CACHE_FLUSH_CMD defined in ipsreg.h,
> but it's not used anywhere in the normal code path.

It seems Linux driver is using it (on shutdown/reset) but I'm not sure
if this would have some side effect, etc.?

Cheers,
--=20
Xin LI <delphij@delphij.net> http://www.delphij.net



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