SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Grub4ext4




            grub4ext4: Current Status and Future Plans

                          Bergwolf@bupt.org

                      Broad-band Network Research Center
Grub4ext4




Agenda



    1 Introduction to grub4ext4



    2 Current Status



    3 Future Plans
Grub4ext4
 Introduction to grub4ext4




What is grub4ext4?



            grub4ext4 is a 2008 Google Summer of Code program,
            working with opensuse.org mentored by Colyli.
            grub4ext4 aims at enabling GRUB legacy to boot an ext4
            partition.
            The program is hosted at
            http://code.google.com/p/grub4ext4/,
            Development notes can be found at
            http://bergwolf.googlepages.com/grub4ext4.
Grub4ext4
 Introduction to grub4ext4




Proposed features of grub4ext4

    The initial motivation of ext4 file system is to support larger single
    partition using larger block numbers.
    There are several incompatible features in ext4 that disables GRUB
    legacy from booting an ext4 partition.
            Replace indirect mapping with extent mapping.
            64-bit metadata(superblock, inode, group descriptor) changes.
            Flexible block groups. This allows metadata blocks to be
            grouped together outside of the block group that they
            administer, allowing contiguous regions of data blocks to span
            multiple block groups, and making metadata intensive
            workloads seek less.
            Multiple mount protection. Not implemented yet(as of Linux
            kernel 2.6.25.1)
Grub4ext4
 Current Status




Agenda



    1 Introduction to grub4ext4



    2 Current Status



    3 Future Plans
Grub4ext4
 Current Status




Current status of grub4ext4



            Now GRUB legacy is able to read extents enabled
            partitions(without other ext4 incompatible features).
            Each file in the file system is divided into several logical
            blocks, and stored on disk in forms of several physical blocks.
            Ext4 file system uses extent mapping to map the logical block
            number of a file to physical block number, which is different
            from indirect mapping in ext2/3.
Grub4ext4
 Current Status




Indirect mapping in ext2/3




    Figure: ext2/3 indirect mapping, image taken from ’Taking advantage of
    Ext3 journaling file system in a forensic investigation’ by
    gnarvae@yahoo.com
Grub4ext4
 Current Status




Extent mapping
    The biggest advantage of extent mapping over indirect mapping is
    that it avoids disk seeking when the file is allocated continuously.




    Figure: ext4 extent mapping, image taken from ’Ext4: The Next
    Generation of Ext2/3’ by Theodore Ts’o
Grub4ext4
 Current Status



    i block(60 bytes) in ext4 inode structure can first store one
    ext4 extent header and four ext4 extent. When the file needs more
    than four ext4 extent, it expands to an extent tree.




    Figure: ext4 extent tree, image taken from ’The new ext4 filesystem:
    current status and future plans’ by Andreas Dilger and Alex Tomas
Grub4ext4
 Current Status




What I have done?

    Based on ext4 ext find extent, I implemented static int
    ext4fs block map(int logical block), which looks for the physical
    block number mapped to logical block instead of building the
    extent path which traversal the extents tree.
    It working in this way:
            (1)Check eh depth in extent header. eh depth==0, go to(3),
            otherwise go to(2)
            (2)the current level if index. Find the extent index closest
            to(which means the smallest ei block that is larger than the
            logical block) the logical block we are looking for. Read the
            block pointed by the index found in (2) into buffer. Go to (1)
            (3)the current level is the leaf. So look for the closest extent
            and return the physical block.
Grub4ext4
 Current Status




Test results



       I have run a simple test on my code. It worked just fine on 8
    partitions(four ext3 partitions and four ext4 partitions with extents
    feature enabled) on my USB storage device.



       You can check the test procedure at
    http://bergwolf.googlepages.com/test case1, and build your own
    test case if you are interested.
Grub4ext4
 Future Plans




Future work




            support incompatible 64-bit metadata changes. This is mainly
            about supporting changes in group descriptor. I can check
            EXT4 FEATURE INCOMPAT 64BIT in superblock and
            determine which type of group descriptor to use.
            support flexible block groups.
Grub4ext4
 Future Plans




                              Q&A

                              Thank You!




                no rights reserved except that of others

Contenu connexe

Similaire à grub4ext4 status-plans

TLPI Chapter 14 File Systems
TLPI Chapter 14 File SystemsTLPI Chapter 14 File Systems
TLPI Chapter 14 File SystemsShu-Yu Fu
 
Root file system
Root file systemRoot file system
Root file systemBindu U
 
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdfLinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdfdegarden
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystemsdegarden
 
Poking The Filesystem For Fun And Profit
Poking The Filesystem For Fun And ProfitPoking The Filesystem For Fun And Profit
Poking The Filesystem For Fun And Profitssusera432ea1
 
Osdc2011.ext4btrfs.talk
Osdc2011.ext4btrfs.talkOsdc2011.ext4btrfs.talk
Osdc2011.ext4btrfs.talkUdo Seidel
 
OSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
OSDC 2011 | Enterprise Linux Server Filesystems by Remo RickliOSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
OSDC 2011 | Enterprise Linux Server Filesystems by Remo RickliNETWAYS
 
Chw00t: How to break out from various chroot solutions
Chw00t: How to break out from various chroot solutionsChw00t: How to break out from various chroot solutions
Chw00t: How to break out from various chroot solutionsBalazs Bucsay
 
Lesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and LibrariesLesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and LibrariesGene Carboni
 
Reverse engineering-microsoft-exfat-file-system 33274
Reverse engineering-microsoft-exfat-file-system 33274Reverse engineering-microsoft-exfat-file-system 33274
Reverse engineering-microsoft-exfat-file-system 33274Erol Dizdar
 
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...Phil Cryer
 
Examine Evidence PartitionsAnalysis of four small partitions ext.docx
Examine Evidence PartitionsAnalysis of four small partitions ext.docxExamine Evidence PartitionsAnalysis of four small partitions ext.docx
Examine Evidence PartitionsAnalysis of four small partitions ext.docxcravennichole326
 
Debugging With Id
Debugging With IdDebugging With Id
Debugging With Idguest215c4e
 

Similaire à grub4ext4 status-plans (20)

why we need ext4
why we need ext4why we need ext4
why we need ext4
 
Ext filesystem4
Ext filesystem4Ext filesystem4
Ext filesystem4
 
TLPI Chapter 14 File Systems
TLPI Chapter 14 File SystemsTLPI Chapter 14 File Systems
TLPI Chapter 14 File Systems
 
Root file system
Root file systemRoot file system
Root file system
 
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdfLinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystems
 
Poking The Filesystem For Fun And Profit
Poking The Filesystem For Fun And ProfitPoking The Filesystem For Fun And Profit
Poking The Filesystem For Fun And Profit
 
pptdisk
pptdiskpptdisk
pptdisk
 
Osdc2011.ext4btrfs.talk
Osdc2011.ext4btrfs.talkOsdc2011.ext4btrfs.talk
Osdc2011.ext4btrfs.talk
 
OSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
OSDC 2011 | Enterprise Linux Server Filesystems by Remo RickliOSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
OSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
 
Chw00t: How to break out from various chroot solutions
Chw00t: How to break out from various chroot solutionsChw00t: How to break out from various chroot solutions
Chw00t: How to break out from various chroot solutions
 
Lesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and LibrariesLesson 4 - Managing Applications, Services, Folders, and Libraries
Lesson 4 - Managing Applications, Services, Folders, and Libraries
 
Module net cdf4
Module net cdf4 Module net cdf4
Module net cdf4
 
Reverse engineering-microsoft-exfat-file-system 33274
Reverse engineering-microsoft-exfat-file-system 33274Reverse engineering-microsoft-exfat-file-system 33274
Reverse engineering-microsoft-exfat-file-system 33274
 
osd - co1 session7.pptx
osd - co1 session7.pptxosd - co1 session7.pptx
osd - co1 session7.pptx
 
Operating system
Operating systemOperating system
Operating system
 
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
 
Examine Evidence PartitionsAnalysis of four small partitions ext.docx
Examine Evidence PartitionsAnalysis of four small partitions ext.docxExamine Evidence PartitionsAnalysis of four small partitions ext.docx
Examine Evidence PartitionsAnalysis of four small partitions ext.docx
 
Parallelformers
ParallelformersParallelformers
Parallelformers
 
Debugging With Id
Debugging With IdDebugging With Id
Debugging With Id
 

Plus de bergwolf

NFS updates for CLSF
NFS updates for CLSFNFS updates for CLSF
NFS updates for CLSFbergwolf
 
Google Megastore
Google MegastoreGoogle Megastore
Google Megastorebergwolf
 
vmfs intro
vmfs introvmfs intro
vmfs introbergwolf
 
pnfs status
pnfs statuspnfs status
pnfs statusbergwolf
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefsbergwolf
 
gsoc and grub4ext4
gsoc and grub4ext4gsoc and grub4ext4
gsoc and grub4ext4bergwolf
 

Plus de bergwolf (10)

NFS updates for CLSF
NFS updates for CLSFNFS updates for CLSF
NFS updates for CLSF
 
Linux aio
Linux aioLinux aio
Linux aio
 
RCU
RCURCU
RCU
 
CLFS 2010
CLFS 2010CLFS 2010
CLFS 2010
 
Google Megastore
Google MegastoreGoogle Megastore
Google Megastore
 
vmfs intro
vmfs introvmfs intro
vmfs intro
 
pnfs status
pnfs statuspnfs status
pnfs status
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefs
 
logfs
logfslogfs
logfs
 
gsoc and grub4ext4
gsoc and grub4ext4gsoc and grub4ext4
gsoc and grub4ext4
 

Dernier

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

grub4ext4 status-plans

  • 1. Grub4ext4 grub4ext4: Current Status and Future Plans Bergwolf@bupt.org Broad-band Network Research Center
  • 2. Grub4ext4 Agenda 1 Introduction to grub4ext4 2 Current Status 3 Future Plans
  • 3. Grub4ext4 Introduction to grub4ext4 What is grub4ext4? grub4ext4 is a 2008 Google Summer of Code program, working with opensuse.org mentored by Colyli. grub4ext4 aims at enabling GRUB legacy to boot an ext4 partition. The program is hosted at http://code.google.com/p/grub4ext4/, Development notes can be found at http://bergwolf.googlepages.com/grub4ext4.
  • 4. Grub4ext4 Introduction to grub4ext4 Proposed features of grub4ext4 The initial motivation of ext4 file system is to support larger single partition using larger block numbers. There are several incompatible features in ext4 that disables GRUB legacy from booting an ext4 partition. Replace indirect mapping with extent mapping. 64-bit metadata(superblock, inode, group descriptor) changes. Flexible block groups. This allows metadata blocks to be grouped together outside of the block group that they administer, allowing contiguous regions of data blocks to span multiple block groups, and making metadata intensive workloads seek less. Multiple mount protection. Not implemented yet(as of Linux kernel 2.6.25.1)
  • 5. Grub4ext4 Current Status Agenda 1 Introduction to grub4ext4 2 Current Status 3 Future Plans
  • 6. Grub4ext4 Current Status Current status of grub4ext4 Now GRUB legacy is able to read extents enabled partitions(without other ext4 incompatible features). Each file in the file system is divided into several logical blocks, and stored on disk in forms of several physical blocks. Ext4 file system uses extent mapping to map the logical block number of a file to physical block number, which is different from indirect mapping in ext2/3.
  • 7. Grub4ext4 Current Status Indirect mapping in ext2/3 Figure: ext2/3 indirect mapping, image taken from ’Taking advantage of Ext3 journaling file system in a forensic investigation’ by gnarvae@yahoo.com
  • 8. Grub4ext4 Current Status Extent mapping The biggest advantage of extent mapping over indirect mapping is that it avoids disk seeking when the file is allocated continuously. Figure: ext4 extent mapping, image taken from ’Ext4: The Next Generation of Ext2/3’ by Theodore Ts’o
  • 9. Grub4ext4 Current Status i block(60 bytes) in ext4 inode structure can first store one ext4 extent header and four ext4 extent. When the file needs more than four ext4 extent, it expands to an extent tree. Figure: ext4 extent tree, image taken from ’The new ext4 filesystem: current status and future plans’ by Andreas Dilger and Alex Tomas
  • 10. Grub4ext4 Current Status What I have done? Based on ext4 ext find extent, I implemented static int ext4fs block map(int logical block), which looks for the physical block number mapped to logical block instead of building the extent path which traversal the extents tree. It working in this way: (1)Check eh depth in extent header. eh depth==0, go to(3), otherwise go to(2) (2)the current level if index. Find the extent index closest to(which means the smallest ei block that is larger than the logical block) the logical block we are looking for. Read the block pointed by the index found in (2) into buffer. Go to (1) (3)the current level is the leaf. So look for the closest extent and return the physical block.
  • 11. Grub4ext4 Current Status Test results I have run a simple test on my code. It worked just fine on 8 partitions(four ext3 partitions and four ext4 partitions with extents feature enabled) on my USB storage device. You can check the test procedure at http://bergwolf.googlepages.com/test case1, and build your own test case if you are interested.
  • 12. Grub4ext4 Future Plans Future work support incompatible 64-bit metadata changes. This is mainly about supporting changes in group descriptor. I can check EXT4 FEATURE INCOMPAT 64BIT in superblock and determine which type of group descriptor to use. support flexible block groups.
  • 13. Grub4ext4 Future Plans Q&A Thank You! no rights reserved except that of others