L AYERED F ILE S YSTEM Sunil Venkatesh CMSC-601, Spring 2011,
I NTRODUCTION Linux OS Supports more than 30 filesystems VFS subsystem Data structures – inode, file, vm_area_struct, dentry and super_block User Application VFS Layer Filesystem Sys-call interface Conceptual (VFS interface) Physical Media User Kernel
M OTIVATION Challenges in administering a Linux server Users, Groups and Others (RWX) Maintaining software New features Delegation of authority Security through isolation (“chroot jail”) Benefits in a Cloud Data is secure Easier maintenance of web- services
R ELATED W ORK Hendricks et al., Method and apparatus for translucent file system, 1991 Works best when a team working on shared data Shared and Private hierarchy Erez Zadok and Ion Badulescu, A Stackable File System Interface For Linux vnode – represents files, directories and devices. wrapfs achieved through vnode interface Erez Zadok and Ion Badulescu and Alex Shender, Cryptfs: A Stackable Vnode Level Encryption File System, 1998.
D EPICTING L AYERS System Layer Active Kernels el Inactive Kernels rc5 Layer Contents: vmlinuz initrd grub Application Layer Graphics Toosl OpenGL Glib DirectF B Development Tools gcc Java fortro n Office Tools word spreadsheet User Layer User Group 1 alpha bravo charlie User Group 2 delta echo foxtrot User Group 3 golf hotel These layers in- turn can contain sublayers like: dev, test
L AYERED O RGANIZATION prj1 prj prj3 temp base prjN test dev test dev test dev test bin home mnt usr / / bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bin lib sbin share Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 dev lib root bin home mnt usr / / bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bin lib sbin share Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 dev lib root T1M1 T1M2 T1M3 T1MN bin home mnt usr / / bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bin lib sbin share Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 dev lib root T2M1 T2M2 T2M3 T2MN bin home mnt usr / / bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bin lib sbin share Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 dev lib root TNM1 T NM2 TNM3 TNMN dev Level 1 Level 2 Level 3
A N E XAMPLE OF A L AYER bin home mnt usr / / bash mkdir mount netstat ping pwd tracepath traceroute … unmount bash mkdir mount netstat ping pwd tracepath traceroute … unmount bin lib sbin share Legend: White Font: Directory Black Font: File T1M1 – Team 1, Member 1 dev lib root T1M1 T1M2 T1M3 T1MN Python (v2.3) gcc (v3.4) Test Code 1 Test Code 2 Test Code 1 Level 2 Level 3
I MPLEMENTATION User Application VFS Layer Filesystem Sys-call interface Conceptual (VFS interface) Physical Media User Kernel wrapfs Components to be implemented A pseudo-filesystem wrapfs layer Modification dentry operations
F UTURE W ORK Layered hierarchy representation Provide means for delegation of authority Eliminate need for a user and group permission in each file
Q UESTIONS /S UGGESTIONS