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> wrote: > Hello. > > The ServeRAID driver, or ips(4), seems to distinguish read or write requests > with a macro called ips_read_request(), which is defined as > > #define ips_read_request(iobuf) ((iobuf)->bio_cmd == BIO_READ) > > in its strategy routine and a few other places. So when the request is > BIO_FLUSH, the ips driver issues a write command (IPS_WRITE_CMD) with > length == 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, -- 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>
