OT: UNIX question

Hello,

Do any or all of the major flavors of UNIX support the filtering of
file system IO using installable drivers (comparable to file system
filtering in NT)? If so, any details or pointers to resources would be
greatly appreciated.

Thanks,
Joel

No links off hand, but I see no reason why you can not patch the VFS
dispatch table to intercept file system requests.

Jamey Kirby
StorageCraft, inc.
xxxxx@storagecraft.com
www.storagecraft.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Smith, Joel
Sent: Tuesday, May 14, 2002 6:44 AM
To: File Systems Developers
Subject: [ntfsd] OT: UNIX question

Hello,
Do any or all of the major flavors of UNIX support the filtering
of file system IO using installable drivers (comparable to file system
filtering in NT)? If so, any details or pointers to resources would be
greatly appreciated.
Thanks,
Joel

You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
To unsubscribe send a blank email to %%email.unsub%%

OT: UNIX questionYes. At least on Solaris, there’s an abstraction layer called the VOP layer, which is a function interface to common filesystem entry points. There is no corresponding IRP-like structure, though. All info is in the arguments to the functions.

Filter drivers are often layered by mounting your own filesystem on top of an existing mount point on UNIX.
Sorry I don’t have any examples handy.

Carl Appellof
“Smith, Joel” wrote in message news:xxxxx@ntfsd…
Hello,

Do any or all of the major flavors of UNIX support the filtering of file system IO using installable drivers (comparable to file system filtering in NT)? If so, any details or pointers to resources would be greatly appreciated.

Thanks,
Joel

Hi,

“Carl Appellof” writes:

> OT: UNIX questionYes. At least on Solaris, there’s an abstraction layer
> called the VOP layer, which is a function interface to common filesystem
> entry points. There is no corresponding IRP-like structure, though. All
> info is in the arguments to the functions.
>
> Filter drivers are often layered by mounting your own filesystem on top
> of an existing mount point on UNIX.

The mechanism you’re looking for is the Vfs/Vnode architecture. That was
originally introduced by Sun way-back-when to support multiple file systems
dynamically and has since become more or less a de facto standard on most
Unices, although since it’s not in any official standardization there are
differences (particularly IRIX has its own ideas on how to do this - while
it does have Vfs/Vnode there are additional thingamajings called traits
that were originally intended for much of the same purpose, but since
nodody else has these…).

Wasn’t exactly intended for interposition, but works just fine (you just
redirect the function pointers and keep the housekeeping information in the
FS-specific data structures). Then do an overlay mount over any arbitrary
file system if you want to have filter driver-like functionality.

Almost any decent book on Unix kernel internals has information, see e.g.

- Uresh Vahalia
Unix Internals: The New Frontiers
Prentice Hall, 1996

- Berny Goodheart and James Cox
The Magic Garden Explained: The Internals of UNIX System V Release 4
Prentice Hall, 1994

- Jim Mauro and Richard McDougall
Solaris Internals: Core Kernel Architecture
Addison-Wesley, 2001

For examples on how to use this, see e.g.

- Kostas Magoutis
Design And Implementation of a Direct Access File System (DAFS) Kernel
Server for FreeBSD

http://www.eecs.harvard.edu/~magoutis/bsdcon02/html/bsdcon.html

- Some stuff by Erez Zadok at Columbia U:

http://www.cs.columbia.edu/~ezk/research/

HTH.


later,
Stephen

Fraunhofer-IGD | mailto:
Stephen Wolthusen | xxxxx@igd.fhg.de
Fraunhoferstr. 5 | xxxxx@acm.org
64283 Darmstadt | xxxxx@ieee.org
GERMANY | xxxxx@wolthusen.com
|
Tel +49 (0) 6151 155 539 | Fax: +49 (0) 6151 155 499
+49 (0) 172 916 9883 | +49 (0) 6245 905 366

VERY off-topic. But the VFS operations vector allows a form of “filtering”.
This is what we did (years and years ago) in OSF DCE/DFS (which at one point
you could download from the open group’s web site.)

Essentially, we did this by replacing the standard VFS ops vector with our
own functions, and then we would call the original VFS functions.

Regards,

Tony

Tony Mason

Consulting Partner

OSR Open Systems Resources, Inc.

http://www.osr.com http:

-----Original Message-----
From: Smith, Joel [mailto:xxxxx@ntpsoftware.com]
Sent: Tuesday, May 14, 2002 9:44 AM
To: File Systems Developers
Subject: [ntfsd] OT: UNIX question

Hello,

Do any or all of the major flavors of UNIX support the filtering of
file system IO using installable drivers (comparable to file system
filtering in NT)? If so, any details or pointers to resources would be
greatly appreciated.

Thanks,
Joel


You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to %%email.unsub%%</http:>