#include <linux/types.h>
#include <linux/fs_acl.h>
Estructuras de datos privadas (ocultas) | |
struct | ext2_acl_entry |
Representación de las ternas (ID, MODO, USR_GRP) a nivel de EXT2. Más... | |
struct | ext2_inode |
Representa el inodo físico de un sistema de archivos EXT2. Sólo se comentan los cambios efectuados por Lisex. Más... | |
Funciones para transformar el modo EXT2 <--> VFS | |
Las usan ext2_read_inode() y ext2_update_inode() | |
#define | ext2tovfs_mode(mode) |
Macro para transformar la representación del modo. | |
#define | vfstoext2_mode(mode, t) |
Macro para transformar la representación del modo. | |
Constantes (públicas) de ext2_acl_entry | |
El campo ext2_acl_entry::mode sólo debría almacenar combinaciones (usando | o &) de estas constantes.
Debe considerarse que el nombre de la constante es público y su valor privado. | |
#define | EXT2_ACL_NULL_BIT 0 |
Modo nulo (ningún permiso) en la ACL. | |
#define | EXT2_ACL_EXEC_BIT 1 |
Permiso de ejecutabilidad en la ACL. | |
#define | EXT2_ACL_READ_BIT 2 |
Permiso de lectura en la ACL. | |
#define | EXT2_ACL_WRITE_BIT 4 |
Permiso de escritura en la ACL. | |
#define | EXT2_ACL_OWNER_BIT 8 |
Modo dueño en la ACL. | |
#define | EXT2_ACL_USR_BIT 16 |
Diferenciación entre usuarios y grupos en la ACL. | |
Definiciones | |
#define | EXT2_ACL_LEN 8 |
Cantidad máxima de entradas posibles a la ACL de un inodo EXT2. | |
#define | EXT2_CAT_LEN 8 |
Cantidad máxima de categorías posibles a la SC de un inodo a nivel EXT2. | |
Funciones | |
inode * | ext2_new_inode (const struct inode *, int) |
Se agregó código para inicializar idoneamente las ACL y la SC del nuevo inodo. | |
void | ext2_read_inode (struct inode *) |
Lee un inodo físico del superbloque de EXT2 y lo ajusta a un inodo del vfs. |
Se agregaron las definiciones y estructuras que se utilizarán para el manejo de las listas de control de acceso (ACL) y las clases de seguridad (SC) de los inodos dl ext2.
En la estructura ext2_inode se agregaron los campos para el manejo de SC y ACL. Estos campos son:
|
Valor: ((sb)->u.ext2_sb.s_mount_opt & \ EXT2_MOUNT_##opt) |
|
Valor: (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ EXT2_FEATURE_RO_COMPAT_BTREE_DIR) |
|
Valor: (((name_len) + 8 + EXT2_DIR_ROUND) & \ ~EXT2_DIR_ROUND) |
|
Lee un inodo físico del superbloque de EXT2 y lo ajusta a un inodo del vfs. Sólo se modificó lo necesario para que levante los nuevos miembros del ext2_inode y los ponga en los nuevos miembros del (vfs_)inode. |