Académique Documents
Professionnel Documents
Culture Documents
Orion
Filesystem
Pune Institute of Computer
Technology
Calsoft Pvt Limited
Motivation
Aggregating information stored in disparate formats
Naming System should reflect rather than mold
structure
Ordering and Grouping
Support for Extensible File Attributes.
Leverage Database Search Power to a file system.
Produce a Unique Solution as a File system which
aggregates files based on file attributes.
Multiple Views
Platform rather than application utility
Organizational view change frequently than physical
Typical user interaction
What
organization
today? Mkdir
Search
ORION to the rescue
Copy
Paste
Database Schema
inode num
inode no
name type
attr_type_text/
Attribute attr_type
num/ date/ bool
Record
attr_name value
Architecture Overview
<DIR nam=mp3
MySql Database ORION FS scheme sql=ext=mp3>
<DIR nam=prj
sql=prj=OFS>
3. Attach root on the root inodes private area Name Query Is-Sticky Ino
return
Summary: Initialize Each View & its superblock with its
Private data. After this Point each view has its identity stored in Name Query IsReceptor Ino
Its sb
} Dirname Query Ino
Dir 1 Qn 1
Shared Resources
Recordset Cache INODE ALLOCATION
BITMAP Dir 2 Qn 2
Rs
Ino Name 1111111111111111111111 Dir 3 Qn 3
111100000000000000000
Ino Name 00000000000000000 Dir Q Qn n
Content Based Directory Listing
2.2 2.3 DB 1 Ask Cache For record set
CFiles
AND Text Type create_query Exec Query Cache Hit
like C Return pointer to record set
Cache Fault
Handler 2 Cache Miss
2.1
[Root]# ls CFiles 2. 1 Communicate with user
User Mode Space Fault Handler.
Kernel Mode Execute Thread
S R
VFS getdents() Q
S 2.2 Create SQL Query
L
ORION Core + + 2.3 Execute Query
ofs_lookup() ofs_readdir() P P
I * ResolveDuplicates
3 D I
I
D 2.4 Populate RS cache
N
O 1 2 2.4 * Wake up Process waiting
D
E Dentry for Recordset
3.1 S 3.2 Cache
/mnt/objStore
getrecordset(iNo) 3 Populating the Dentry Cache
0024500 0024501
3.1 Extract Inodes From
0024505 0024506 Object Store iget(sb
0024513 00245614
objStore)
Recorset Cache 3.2 Populate Dentry Cache
With names attached d_add()
Logging Activities On the Object Store
1 ORION create
Make Vnodes compatible
with lower filesystem
[root#] touch ./view/newFile.xyz Update Database 2 ORION Filter
2.2 Update database to
reflect changes on object
User Mode Store activities. viz
Create
Kernel Mode Delete
VFS create(dentry,inode) Set attr
Rename
3 Underlying Filesystem
ORION Core
3.1 Create the File With the
ofs_create() 1 Given Name
00245614
newFile.xyz
00200399 0024513
WinFS
File System to be shipped with Windows
Longhorn
ORION
Thank You !
Happy File Hunting