Changeset 473 for trunk/kernel/fs


Ignore:
Timestamp:
Aug 21, 2018, 6:01:01 PM (6 years ago)
Author:
alain
Message:

Fix several GCC warning related to the -Wextra compilation option.

Location:
trunk/kernel/fs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/fs/fatfs.c

    r463 r473  
    5555//////////////////////////////////////////////////////////////////////////////////////////
    5656
    57 static inline int get_length( int offset , int length ) { return length; }
    58 
    59 static inline int get_offset( int offset , int length ) { return offset; }
     57static inline int get_length( int offset , int length ) { if( offset + 1 ) return length; }
     58
     59static inline int get_offset( int offset , int length ) { if( length + 1 ) return offset; }
    6060
    6161
  • trunk/kernel/fs/vfs.c

    r459 r473  
    9494    uint32_t lid = bitmap_ffc( ctx->bitmap , CONFIG_VFS_MAX_INODES );
    9595
    96     if( lid == -1 )   // no more free slot => error
     96    if( lid == 0xFFFFFFFF )   // no more free slot => error
    9797    {
    9898        // release lock
     
    321321    // get inode cluster and local pointer
    322322    cxy_t         inode_cxy = GET_CXY( inode_xp );
    323     vfs_inode_t * inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     323    vfs_inode_t * inode_ptr = GET_PTR( inode_xp );
    324324
    325325    hal_remote_atomic_add( XPTR( inode_cxy , &inode_ptr->refcount ) , 1 );   
     
    331331    // get inode cluster and local pointer
    332332    cxy_t         inode_cxy = GET_CXY( inode_xp );
    333     vfs_inode_t * inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     333    vfs_inode_t * inode_ptr = GET_PTR( inode_xp );
    334334
    335335    hal_remote_atomic_add( XPTR( inode_cxy , &inode_ptr->refcount ) , -1 );   
     
    341341    // get inode cluster and local pointer
    342342    cxy_t         cxy = GET_CXY( inode_xp );
    343     vfs_inode_t * ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     343    vfs_inode_t * ptr = GET_PTR( inode_xp );
    344344
    345345    // get size
     
    356356    // get inode cluster and local pointer
    357357    cxy_t         cxy = GET_CXY( inode_xp );
    358     vfs_inode_t * ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     358    vfs_inode_t * ptr = GET_PTR( inode_xp );
    359359
    360360    // set size
     
    369369    // get inode cluster and local pointer
    370370    cxy_t         cxy = GET_CXY( inode_xp );
    371     vfs_inode_t * ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     371    vfs_inode_t * ptr = GET_PTR( inode_xp );
    372372
    373373    // release the main lock
     
    380380    // get inode cluster and local pointer
    381381    cxy_t         cxy = GET_CXY( inode_xp );
    382     vfs_inode_t * ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     382    vfs_inode_t * ptr = GET_PTR( inode_xp );
    383383
    384384    // get the main lock
     
    398398    // get inode cluster and local pointer
    399399    inode_cxy = GET_CXY( inode_xp );
    400     inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     400    inode_ptr = GET_PTR( inode_xp );
    401401
    402402    // get parent dentry
     
    411411    {
    412412        dentry_cxy = GET_CXY( dentry_xp );
    413         dentry_ptr = (vfs_dentry_t *)GET_PTR( dentry_xp );
     413        dentry_ptr = GET_PTR( dentry_xp );
    414414
    415415        hal_remote_strcpy( XPTR( local_cxy  , name ) ,
     
    641641    xptr_t        file_xp;      // extended pointer on created file descriptor
    642642    uint32_t      file_id;      // created file descriptor index in reference fd_array
     643
     644    assert( (mode == 0), __FUNCTION__,
     645    "the mode parameter is not supported yet\n" );
    643646
    644647#if DEBUG_VFS_OPEN
     
    670673    // get target inode cluster and local pointer
    671674    inode_cxy = GET_CXY( inode_xp );
    672     inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     675    inode_ptr = GET_PTR( inode_xp );
    673676   
    674677    // create a new file descriptor in cluster containing inode
     
    721724    // get cluster and local pointer on remote file descriptor
    722725    file_cxy  = GET_CXY( file_xp );
    723     file_ptr  = (vfs_file_t *)GET_PTR( file_xp );
     726    file_ptr  = GET_PTR( file_xp );
    724727
    725728    // get inode type from remote file descriptor
     
    776779    // get cluster and local pointer on remote file descriptor
    777780    file_cxy  = GET_CXY( file_xp );
    778     file_ptr  = (vfs_file_t *)GET_PTR( file_xp );
     781    file_ptr  = GET_PTR( file_xp );
    779782
    780783    // get inode type from remote file descriptor
     
    836839    // get cluster and local pointer on remote file descriptor
    837840    file_cxy = GET_CXY( file_xp );
    838     file_ptr = (vfs_file_t *)GET_PTR( file_xp );
     841    file_ptr = GET_PTR( file_xp );
    839842
    840843    // build extended pointers on lock and offset
     
    993996                    char   * path )
    994997{
    995     assert( false , __FUNCTION__ , "not implemented\n" );
     998    assert( false , __FUNCTION__ , "not implemented\n", cwd_xp, path );
    996999    return 0;
    9971000}
     
    10011004                  struct stat * k_stat )
    10021005{
    1003     assert( false , __FUNCTION__ , "not implemented\n" );
     1006    assert( false , __FUNCTION__ , "not implemented\n", file_xp, k_stat );
    10041007    return 0;
    10051008}
     
    10091012                     struct dirent * k_dirent )
    10101013{
    1011     assert( false , __FUNCTION__ , "not implemented\n" );
     1014    assert( false , __FUNCTION__ , "not implemented\n", file_xp, k_dirent );
    10121015    return 0;
    10131016}
     
    10181021                   uint32_t   mode )
    10191022{
    1020     assert( false , __FUNCTION__ , "not implemented\n" );
     1023    assert( false , __FUNCTION__ , "not implemented\n", file_xp, path, mode );
    10211024    return 0;
    10221025}
     
    10261029                   char   * path )
    10271030{
    1028     assert( false , __FUNCTION__ , "not implemented\n" );
     1031    assert( false , __FUNCTION__ , "not implemented\n", file_xp, path );
    10291032    return 0;
    10301033}
     
    10511054    // get inode cluster and local pointer
    10521055    inode_cxy = GET_CXY( inode_xp );
    1053     inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     1056    inode_ptr = GET_PTR( inode_xp );
    10541057
    10551058    // get inode type from remote file
     
    10751078    cxy_t             inode_cxy;    // inode cluster identifier       
    10761079    vfs_inode_t     * inode_ptr;    // inode local pointer
    1077     uint32_t          mode;         // lookup working mode
    10781080    vfs_inode_type_t  inode_type;   // target inode type
    10791081
    10801082    // set lookup working mode
    1081     mode = 0;
     1083    assert( (rights == 0), __FUNCTION__,
     1084    "access rights non implemented yet\n" );
    10821085 
    10831086    // get extended pointer on target inode
    1084     error = vfs_lookup( cwd_xp , path , mode , &inode_xp );
     1087    error = vfs_lookup( cwd_xp , path , 0 , &inode_xp );
    10851088
    10861089    if( error ) return error;
     
    10881091    // get inode cluster and local pointer
    10891092    inode_cxy = GET_CXY( inode_xp );
    1090     inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     1093    inode_ptr = GET_PTR( inode_xp );
    10911094   
    10921095    // get inode type from remote inode
     
    11031106                    uint32_t rights )
    11041107{
    1105     assert( false , __FUNCTION__ , "not implemented\n" );
     1108    assert( false , __FUNCTION__ , "not implemented\n", cwd_xp, path, rights );
    11061109    return 0;
    11071110}
     
    11331136static void vfs_recursive_display( xptr_t   inode_xp,
    11341137                                   xptr_t   name_xp,
    1135                                    xptr_t   dentry_xp,
    11361138                                   uint32_t indent )
    11371139{
     
    11721174    // get inode cluster and local pointer
    11731175    inode_cxy = GET_CXY( inode_xp );
    1174     inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     1176    inode_ptr = GET_PTR( inode_xp );
    11751177
    11761178    // get inode type
     
    12041206            // get dentry cluster and local pointer
    12051207            child_dentry_cxy = GET_CXY( child_dentry_xp );
    1206             child_dentry_ptr = (vfs_dentry_t *)GET_PTR( child_dentry_xp );
     1208            child_dentry_ptr = GET_PTR( child_dentry_xp );
    12071209
    12081210            // get extended pointer on child inode
     
    12161218            vfs_recursive_display( child_inode_xp,
    12171219                                   child_dentry_name_xp,
    1218                                    child_dentry_xp,
    12191220                                   indent+1 );
    12201221
     
    12391240    // get target inode cluster and local pointer
    12401241    cxy_t         inode_cxy = GET_CXY( inode_xp );
    1241     vfs_inode_t * inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     1242    vfs_inode_t * inode_ptr = GET_PTR( inode_xp );
    12421243
    12431244    // get extended pointer on associated dentry
     
    12541255        // get dentry cluster and local pointer
    12551256        dentry_cxy = GET_CXY( dentry_xp );
    1256         dentry_ptr = (vfs_dentry_t *)GET_PTR( dentry_xp );
     1257        dentry_ptr = GET_PTR( dentry_xp );
    12571258
    12581259        // get extended pointer on dentry name
     
    12751276
    12761277    // call recursive function
    1277     vfs_recursive_display( inode_xp , name_xp , dentry_xp , 0 );
     1278    vfs_recursive_display( inode_xp , name_xp , 0 );
    12781279
    12791280    // release lock
     
    12991300    // get found inode cluster and local pointer
    13001301    cxy_t         inode_cxy = GET_CXY( inode_xp );
    1301     vfs_inode_t * inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     1302    vfs_inode_t * inode_ptr = GET_PTR( inode_xp );
    13021303
    13031304    // get inode access mode, UID, and GID
     
    13311332    // get parent inode cluster and local pointer
    13321333    cxy_t         parent_cxy = GET_CXY( parent_xp );
    1333     vfs_inode_t * parent_ptr = (vfs_inode_t *)GET_PTR( parent_xp );
     1334    vfs_inode_t * parent_ptr = GET_PTR( parent_xp );
    13341335
    13351336    // get extended pointer on hash table of children directory entries
     
    13431344    // get dentry cluster and local pointer
    13441345    cxy_t          dentry_cxy = GET_CXY( dentry_xp );
    1345     vfs_dentry_t * dentry_ptr = (vfs_dentry_t *)GET_PTR( dentry_xp );
     1346    vfs_dentry_t * dentry_ptr = GET_PTR( dentry_xp );
    13461347
    13471348    // return child inode
     
    17011702        // get inode cluster and local pointer
    17021703        cxy_t         inode_cxy = GET_CXY( inode_xp );
    1703         vfs_inode_t * inode_ptr = (vfs_inode_t *)GET_PTR( inode_xp );
     1704        vfs_inode_t * inode_ptr = GET_PTR( inode_xp );
    17041705
    17051706        // get extended pointer on parent dentry               
     
    17081709        // get dentry cluster and local pointer
    17091710        cxy_t          dentry_cxy = GET_CXY( dentry_xp );
    1710         vfs_dentry_t * dentry_ptr = (vfs_dentry_t *)GET_PTR( dentry_xp );
     1711        vfs_dentry_t * dentry_ptr = GET_PTR( dentry_xp );
    17111712
    17121713        // get dentry name length and pointer
     
    18641865    // 3. update extended pointer on inode in dentry
    18651866    cxy_t          dentry_cxy = GET_CXY( dentry_xp );
    1866     vfs_dentry_t * dentry_ptr = (vfs_dentry_t *)GET_PTR( dentry_xp );
     1867    vfs_dentry_t * dentry_ptr = GET_PTR( dentry_xp );
    18671868    hal_remote_swd( XPTR( dentry_cxy , &dentry_ptr->child_xp ) , inode_xp );
    18681869
Note: See TracChangeset for help on using the changeset viewer.