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>