Date: Fri, 20 Oct 2000 15:54:24 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: jgoodman@draper.com (Jason Goodman) Cc: freebsd-fs@FreeBSD.ORG, don@calis.blacksun.org Subject: Re: journaled file system Message-ID: <200010201554.IAA05637@usr06.primenet.com> In-Reply-To: <4.2.2.20001020100054.00b33e00@imap.draper.com> from "Jason Goodman" at Oct 20, 2000 10:05:40 AM
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi. I found your email addresses by accident while surfing the > web. I am looking for a product for windows NT or windows 2000 > that has the journaled file system feature similar to what Unix > offers. NTFS is log structured; for what you are requesting, the type of FS is irrelevant. Please see: Inside the Windows NT File System Helen Custer Microsoft Press ISBN: 1-55615-660-X > Basically what I need is a product that has an API that would > allow me to either send an Internet Datagram to a Listener, when > a file is added to a folder or changed, You will need to write your own daemon for this. The NTFS supports the concept of "Monitors", which is half of what you are asking for in a product. Monitors are a generic FS term meaning "tell me when something changes". Many systems support Monitors. Windows and MacOS have pretty much supported them since the beginning, since if you add a file to a directory, a file browser with a view open onto the directory will need to update itself. The orginal Windows 3.x series did this by periodically polling the directory to determine if contents have changed. The Macintosh approach was to implement volume change notification, so that if the data anywhere on a volume changed, then the views onto directories on that volume would be updated. Appletalk implements this in their network file system by doing a poll for the volume modification timestap, once every 11 seconds. Most Appletalk implementations for UNIX will always state that the modification time is the current time, causing a network poll. In FreeBSD, there is a true volume modification timestamp that can be used, but of course, the Appletalk servers are user space processes, and unless they limit volume spanning over mount points on exports, this quickly degrades back to polling everything (I introduced this in 1994, when I was working at Novell on NWFS, in support of much lower network overhead for Appletalk services served by Novell servers). In any case, you can get what you want, but you will need to hook the IFSMgr interface to get your events, or use the Windows API, if you can find the documentation (it's pretty well hidden, and I do not have my Windows develeopement system out of mothballs right now, so I can't "just tell you"). The reason you will need to write your own daemon is because you want to do datagram notification; since this is inherently lossy (there is no retransmission and no receipt failure notification), most people would never implement this or find it useful, except in very specific applications where the lossy nature of the media wouldn't effect the integrity of the output of the system as a whole. You may also want to check with Veritas, since last I heard, they has a VXFS for Windows, and they probably document their stuff as well on NT as they did on UNIX. > or has an API that would allow me to interact with JDBC in some > way? That's really way out in left field. File system modification events really have nothing to do with the Java Database connector cruft. In general, an FS _can_ be considered to be a very special purpose database, but you would have a hell of a time wedging FS semantics into the very small model space that JDBC represents; JDBC is pretty useless for everything but SQL, so wedging FS change notifications into JDBC SQL "triggers" is probably a non-starter as an approach (and yes, I know, some idiots have built JDBC connectors for LDAP: I maintain they aren't useful, except for a tiny set of problems, or where there is enough horse power to brute-force something like an LDAP/SQL synchronization, and they are too lazy to implement to the JNDI, or have to deal with a legacy system integration and the short-sighted people requesting it). NB: If you were to wedge FS change notifications in somehow, you sure as heck would not be using datagrams for event delivery! The JDBC SQL "trigger" semantics are such that dropping events on the floor, as datagrams might, wil compromise your whole transaction model. PS: Are you sure you aren't really looking for B2Bi software, such as IBM's MQ-Series or Active Software's offerings (or, to date myself, USL's Tuxedo)? If you are going to do a job, you should probably use the right tools, instead of kludging it. A CORBA intterface might be the right approach, if you are insistent. PPS: Of course, you have only said "how do I get this soloution which I have already arrived at?", and haven't really told us the problem you are trying to solve, so there's really no way we can tell you what is or isn't appropriate technology. PPPS: Probably you want to reexamine your problem, instead of assuming the soloution, since there may be other soloutions that are more natural for the problem. PPPPS: Or you could just tell us your problem, instead, and ask for recommendations on a soloution... Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010201554.IAA05637>