Date: Thu, 23 Nov 2006 12:18:03 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Ivan Voras <ivoras@fer.hr> Cc: freebsd-hackers@freebsd.org Subject: Re: Kqueue write event position? Message-ID: <20061123121513.U50054@fledge.watson.org> In-Reply-To: <ek2ca4$sft$1@sea.gmane.org> References: <ek2ca4$sft$1@sea.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 22 Nov 2006, Ivan Voras wrote: >> From the kqueue(2) manual: > > """ > EVFILT_VNODE Takes a file descriptor as the identifier and the events > to watch for in fflags, and returns when one or more of > the requested events occurs on the descriptor. The > events > to monitor are:... > """ > > I'm interested in NOTE_WRITE, but is there a way to find out where has the > write been performed (position and length)? If not, how difficult would it > be to expand the API so this information is included? My concern with this idea is that kqueues are not really intended to provide an event stream, rather, notification of a condition. As writes often come in batches, it's likely that by the time the kevent is received, several writes will have occurred, but only a single event notification will be present. Is the application you have in mind able to benefit from what is effectively "polled" sampling of writes? Does it benefit in the presence of writes from concurrent writers, where things like the position and length may depend on which of two or more writers wrote to the file most or least recently? Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061123121513.U50054>