ioctl.c 源碼功能概述
Ext4的ioctl提供給使用者以下接口,以友善使用者更改檔案系統的各種設定和狀态:
(1) EXT4_IOC_GETFLAGS: 擷取inode的标志位,使用者擷取目前的inode标志位資訊;
(2) EXT4_IOC_SETFLAGS: 設定inode的标志位,使用者為inode标志位設定新的資訊;
(3) EXT4_IOC_GETVERSION 或EXT4_IOC_GETVERSION_OLD:擷取inode->i_generation,使用者擷取目前inode對應的檔案的版本号;
(4) EXT4_IOC_SETVERSION 或EXT4_IOC_SETVERSION_OLD:設定inode->i_generation,使用者設定目前inode對應的檔案的版本号;
(5) EXT4_IOC_WAIT_FOR_READONLY:用于JBD2調試時使用,未定義編譯開關CONFIG_JBD2_DEBUG 則該ioctl指令不可用;
(6) EXT4_IOC_GROUP_EXTEND: 塊組擴充,在檔案系統的最後一個塊組上擴充檔案系統的容量;
(7) EXT4_IOC_MOVE_EXT:交換一個檔案的指定範圍到另一個檔案的指定位置;
(8) EXT4_IOC_GROUP_ADD:增加塊組擴充檔案系統容量;
(9) EXT4_IOC_MIGRATE:将檔案資料塊的映射方式由間接映射遷移為extents方式;
(10) EXT4_IOC_ALLOC_DA_BLK:強制将延遲配置設定的所有資料塊配置設定給檔案。