[lkml]   [2000]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectTranslation Filesystem

I have started a new virtual filesystem project, Translation Filesystem
at Description of the project is given below.

It's still at a concept stage. If someone has any ideas about any useful
translators that fit in this framework please write to me.
Any feedback is most welcome.

Amit Kale
Veritas Software ( )

Translation Filesystem
The translation filesystem provides views for files. A view offered by
the translation filesystem is different from the view offered by a
filesystem which contains a file. For example a filesystem presents a
tar file as a flat
byte stream and the translation filesystem presents it as a directory
containing files contained in the tar file. The translation filesystem
is based on translators each of which is responsible for creating views
filesystem objects of some type.

Root of a translation filesystem contains translator directories. A
translator creates views in its directory. A view for a file (or a
directory) is generated by creating a symbolic link in a translator
directory. The link points
to the file for which the view is created. A view is destroyed by
removing the symbolic link presenting the view.

Properties of a view presented by a symbolic link are determined by the
translator which owns the directory in which the link is present. When
the symbolic is accessed using stat or open, it presents properties
determined by the view. When destination of the symbolic link is read
using readlink, it points to the file for which the symbolic link
presents a view.

The translation filesystem provides views to files contained in a
filesytem without the need for modifying the filesystem itself. It does
not need extensions to existing filesystems. Since it does not use mount
operation for
creating a view, users don't need special permissions to create views.
It does not use ioctls. So special programs are not needed for
configuring a translation filesystem. The file for which a view has been
created can be
readily identified by reading destination a symbolic link.

.At present only one translator, raw, is provided. It provides zero copy
read for a block device.

Example of Usage
[root@localhost /root]# insmod ./trfs
[root@localhost /root]# mount none /mnt0 -t trfs
[root@localhost /root]# ls /mnt0
[root@localhost /root]# ls /mnt0/raw
[root@localhost /root]# ls /mnt0
[root@localhost /root]# ln -s /dev/hda1 /mnt0/raw/food
[root@localhost /root]# ls /mnt0/raw/food
[root@localhost /root]# dd if=mnt0/raw/food bs=1024 count=1 | hexdump -n
0000000 3ceb 4d90 5753 4e49 2e34 0031 1002 0001
[root@localhost /root]# rm /mnt0/raw/food
rm: remove `/mnt0/raw/food'? y
[root@localhost /root]# ls /mnt0/raw
[root@localhost /root]# umount /mnt0
[root@localhost /root]# rmmod trfs
[root@localhost /root]#
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:45    [W:0.040 / U:13.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site