Ignore:
Timestamp:
Jan 9, 2019, 3:02:51 PM (6 years ago)
Author:
alain
Message:

Introduce sigificant modifs in VFS to support the <ls> command,
and the . and .. directories entries.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kernel_config.h

    r610 r611  
    128128#define DEBUG_QUEUELOCK_TYPE              0    // lock type (0 is undefined)
    129129
     130#define DEBUG_REMOTE_DIR                  0
     131
    130132#define DEBUG_RPC_CLIENT_GENERIC          0
    131133#define DEBUG_RPC_SERVER_GENERIC          0
     
    148150#define DEBUG_RPC_VFS_FILE_DESTROY        0
    149151#define DEBUG_RPC_VFS_DEVICE_GET_DENTRY   0
     152#define DEBUG_RPC_VMM_CREATE_VSEG         0
    150153#define DEBUG_RPC_VMM_GET_PTE             0
    151154#define DEBUG_RPC_VMM_GET_VSEG            0
     155#define DEBUG_RPC_VMM_UNMAP_VSEG          0
    152156
    153157#define DEBUG_RWLOCK_TYPE                 0    // lock type (0 is undefined)
     
    163167#define DEBUG_SYS_BARRIER                 0
    164168#define DEBUG_SYS_CLOSE                   0
     169#define DEBUG_SYS_CLOSEDIR                0
    165170#define DEBUG_SYS_CONDVAR                 0
    166171#define DEBUG_SYS_DISPLAY                 0
     
    176181#define DEBUG_SYS_KILL                    0
    177182#define DEBUG_SYS_OPEN                    0
    178 #define DEBUG_SYS_MKDIR                   2
     183#define DEBUG_SYS_OPENDIR                 0
     184#define DEBUG_SYS_MKDIR                   0
    179185#define DEBUG_SYS_MMAP                    0
    180186#define DEBUG_SYS_MUNMAP                  0
    181187#define DEBUG_SYS_MUTEX                   0
    182188#define DEBUG_SYS_READ                    0
     189#define DEBUG_SYS_READDIR                 0
    183190#define DEBUG_SYS_SEM                     0
    184191#define DEBUG_SYS_STAT                    0
     
    207214
    208215#define DEBUG_VFS_ADD_CHILD               0
     216#define DEBUG_VFS_ADD_SPECIAL             1
     217#define DEBUG_VFS_CHDIR                   0
    209218#define DEBUG_VFS_CLOSE                   0
    210 #define DEBUG_VFS_CHDIR                   0
    211219#define DEBUG_VFS_DENTRY_CREATE           0
    212220#define DEBUG_VFS_FILE_CREATE             0
     
    215223#define DEBUG_VFS_INODE_LOAD_ALL          0
    216224#define DEBUG_VFS_LINK                    0
    217 #define DEBUG_VFS_LOOKUP                  1
     225#define DEBUG_VFS_LOOKUP                  0
    218226#define DEBUG_VFS_LSEEK                   0
    219 #define DEBUG_VFS_MKDIR                   1
     227#define DEBUG_VFS_MKDIR                   0
    220228#define DEBUG_VFS_NEW_CHILD_INIT          0
    221229#define DEBUG_VFS_OPEN                    0
     
    224232
    225233#define DEBUG_VMM_CREATE_VSEG             0
     234#define DEBUG_VMM_DELETE_VSEG             0
    226235#define DEBUG_VMM_DESTROY                 0
    227236#define DEBUG_VMM_FORK_COPY               0
     
    233242#define DEBUG_VMM_PAGE_ALLOCATE           0
    234243#define DEBUG_VMM_SET_COW                 0
    235 #define DEBUG_VMM_UNMAP_VSEG              0
    236244#define DEBUG_VMM_UPDATE_PTE              0
    237245
     
    276284#define LOCK_PROCESS_FDARRAY  27   // remote (Q)  protect array of open files in owner process
    277285#define LOCK_FATFS_FREE       28   // remote (Q)  protect the FATFS context (free clusters)
    278 
    279 #define LOCK_PROCESS_THTBL    29   // local  (RW) protect local array of threads in a process
    280 
    281 #define LOCK_MAPPER_STATE     30   // remote (RW) protect mapper state
    282 #define LOCK_VFS_SIZE         31   // remote (RW) protect inode state and associated mapper
    283 #define LOCK_VFS_FILE         32   // remote (RW) protect file descriptor state
    284 #define LOCK_VMM_VSL          33   // remote (RW) protect VSL (local list of vsegs)
    285 #define LOCK_VMM_GPT          34   // remote (RW) protect GPT (local page table)
    286 #define LOCK_VFS_MAIN         35   // remote (RW) protect vfs traversal (in root inode)
     286#define LOCK_PROCESS_DIR      29   // remote (Q)  protect xlist of open directories in process
     287
     288#define LOCK_PROCESS_THTBL    30   // local  (RW) protect local array of threads in a process
     289
     290#define LOCK_MAPPER_STATE     31   // remote (RW) protect mapper state
     291#define LOCK_VFS_SIZE         32   // remote (RW) protect inode state and associated mapper
     292#define LOCK_VFS_FILE         33   // remote (RW) protect file descriptor state
     293#define LOCK_VMM_VSL          34   // remote (RW) protect VSL (local list of vsegs)
     294#define LOCK_VMM_GPT          35   // remote (RW) protect GPT (local page table)
     295#define LOCK_VFS_MAIN         36   // remote (RW) protect vfs traversal (in root inode)
    287296
    288297
     
    338347
    339348#define CONFIG_VFS_MAX_INODES               128        // max number of inodes per cluster
    340 #define CONFIG_VFS_MAX_NAME_LENGTH          32         // dentry name max length (bytes)
     349#define CONFIG_VFS_MAX_NAME_LENGTH          56         // dentry name max length (bytes)
    341350#define CONFIG_VFS_MAX_PATH_LENGTH          256        // pathname max length (bytes)
    342351#define CONFIG_VFS_FREE_CLUSTERS_MIN        32         // min number of free clusters
    343 
     352#define CONFIG_VFS_MAX_DENTRIES             63         // max number of dentries in one dir
    344353
    345354#define CONFIG_VFS_ROOT_IS_FATFS            1          // root FS is FATFS if non zero
     
    397406
    398407////////////////////////////////////////////////////////////////////////////////////////////
    399 //                USER SPACE SEGMENTATION / all values are number of pages
     408//                USER SPACE SEGMENTATION / all values are numbers of pages
    400409////////////////////////////////////////////////////////////////////////////////////////////
    401410
Note: See TracChangeset for help on using the changeset viewer.