[so2] Tema 4 - Driver de sistem de fișiere - superbloc

Cristian Bercaru cristianbercaru.of at gmail.com
Thu Apr 26 12:31:00 EEST 2012


Salut!

In laboratorul 9 scrie ca un superbloc are structura

struct super_block {
        //...
        dev_t                   s_dev;              /* identifier */
        unsigned long           s_blocksize;        /* block size in bytes */
        unsigned char           s_blocksize_bits;   /* block size in bits */
        unsigned char           s_dirt;             /* dirty flag */
        unsigned long long      s_maxbytes;         /* max file size */
        struct file_system_type *s_type;            /* filesystem type */
        struct super_operations *s_op;              /* superblock methods */
        //...
        unsigned long           s_flags;            /* mount flags */
        unsigned long           s_magic;            /* filesystem’s
magic number */
        struct dentry           *s_root;            /* directory mount point */
        //...
        char                    s_id[32];           /* informational name */
        void                    *s_fs_info;         /* filesystem
private info */
};

In enuntul temei 4, superblocul are structura:

struct pitix_super_block {
        unsigned long magic;
        __u8 version;
        __u8 inode_data_blocks;
        __u8 block_size_bits;
        __u8 imap_block;
        __u8 dmap_block;
        __u8 izone_block;
        __u8 dzone_block;
        __u16 bfree;
        __u16 ffree;
//...
}

Asta inseamna ca trebuie sa-mi scriu propriile functii 'get_sb_bdev'
si 'kill_block_super'?
Daca da, atunci structura 'pitix_super_block' nu ar trebui sa contina
si un camp numit 's_fs_info' de tipul 'pitix_sb_info' ?

--
Cristian Bercaru


More information about the so2 mailing list