Add small preface to a VFS guide. More to come.
authorAlexander Bokovoy <ab@samba.org>
Mon, 14 Apr 2008 15:35:45 +0000 (15:35 +0000)
committerAlexander Bokovoy <ab@samba.org>
Mon, 14 Apr 2008 15:35:45 +0000 (15:35 +0000)
Samba3-Developers-Guide/vfs.xml

index 25a45b68753a2cec9ef5c6f793754afe4759bd8a..9005f5fd52d7f1cead8aee57d7269435c8edd112 100644 (file)
 <sect1>
 <title>The Samba (Posix) VFS layer</title>
 
+<para>While most of Samba deployments are done using POSIX-compatible operating systems,
+there is clearly more to a file system than what is required by POSIX when it comes to
+adopting semantics of NT file system. Since Samba 2.2 all file-system related operations
+go through an abstraction layer for virtual file system (VFS) that is modelled after
+both POSIX and additional functions needed to transform NTFS semantics.
+</para>
+
+<para>
+This abstraction layer now provides more features than a regular POSIX file system could
+fill in. It is not required that all of them should be implemented by your
+particular file system.  However, when those features are available, Samba would advertize them to a
+CIFS client and they might be used by an application and in case of Windows client that
+might mean a client expects even more additional functionality when it encounters
+those features. There is a practical reason to allow handling of this snowfall without modifying
+the Samba core and it is fulfilled by providing an infrastructure to dynamically load
+VFS modules at run time.
+</para>
+
+<para>Each VFS module could implement a number of VFS operations. The way it does it is
+irrelevant, only two things actually matter: whether specific implementation wants to cooperate
+with other modules' implementations or not, and whether module needs to store additional
+information that is specific to a context it is operating in. Multiple VFS modules could
+be loaded at the same time and it is even possible to load several instances of the same
+VFS module with different parameters.
+</para>
+
 <sect2>
 <title>The general interface</title>