Changeset 59762963 in rtems


Ignore:
Timestamp:
Feb 22, 2010, 11:02:41 PM (10 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.10, 4.11, master
Children:
5027104
Parents:
5268642
Message:

2010-02-23 Chris Johns <chrisj@…>

  • libfs/src/rfs/rtems-rfs-dir.c: Fix printf format warning for a 64bit off_t.
  • libfs/src/rfs/rtems-rfs-file-system.h: Add a macro to get the file system flags.
  • libfs/src/rfs/rtems-rfs-group.c, libfs/src/rfs/rtems-rfs-group.h: Add rtems_rfs_group_usage.
  • libfs/src/rfs/rtems-rfs-rtems.c: Fill in all the fields in the statvfs struct.
  • libfs/src/rfs/rtems-rfs-shell.c: Use rtems_rfs_group_usage.
Location:
cpukit
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r5268642 r59762963  
     12010-02-23      Chris Johns <chrisj@rtems.org>
     2
     3        * libfs/src/rfs/rtems-rfs-dir.c: Fix printf format warning for a
     4        64bit off_t.
     5       
     6        * libfs/src/rfs/rtems-rfs-file-system.h: Add a macro to get the
     7        file system flags.
     8       
     9        * libfs/src/rfs/rtems-rfs-group.c,
     10        libfs/src/rfs/rtems-rfs-group.h: Add rtems_rfs_group_usage.
     11       
     12        * libfs/src/rfs/rtems-rfs-rtems.c: Fill in all the fields in the
     13        statvfs struct.
     14       
     15        * libfs/src/rfs/rtems-rfs-shell.c: Use rtems_rfs_group_usage.
     16
    1172010-02-20      Chris Johns <chrisj@rtems.org>
    218
  • cpukit/libfs/src/rfs/rtems-rfs-dir.c

    r5268642 r59762963  
    610610     
    611611      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))
    612         printf ("rtems-rfs: dir-read: found off:%ld ino:%ld name=%s\n",
     612        printf ("rtems-rfs: dir-read: found off:%Ld ino:%ld name=%s\n",
    613613                dirent->d_off, dirent->d_ino, dirent->d_name);
    614614      break;
  • cpukit/libfs/src/rfs/rtems-rfs-file-system.h

    r5268642 r59762963  
    247247
    248248/**
     249 * Return the flags.
     250 *
     251 * @param _fs Pointer to the file system.
     252 */
     253#define rtems_rfs_fs_flags(_f) ((_f)->flags)
     254/**
    249255 * Should bitmap buffers be released when finished ?
    250256 *
  • cpukit/libfs/src/rfs/rtems-rfs-group.c

    r5268642 r59762963  
    315315  return rc;
    316316}
     317
     318int
     319rtems_rfs_group_usage (rtems_rfs_file_system* fs,
     320                       size_t*                blocks,
     321                       size_t*                inodes)
     322{
     323  int g;
     324 
     325  *blocks = 0;
     326  *inodes = 0;
     327 
     328  for (g = 0; g < fs->group_count; g++)
     329  {
     330    rtems_rfs_group* group = &fs->groups[g];
     331    *blocks +=
     332      rtems_rfs_bitmap_map_size(&group->block_bitmap) -
     333      rtems_rfs_bitmap_map_free (&group->block_bitmap);
     334    *inodes +=
     335      rtems_rfs_bitmap_map_size (&group->inode_bitmap) -
     336      rtems_rfs_bitmap_map_free (&group->inode_bitmap);
     337  }
     338
     339  if (*blocks > rtems_rfs_fs_blocks (fs))
     340    *blocks = rtems_rfs_fs_blocks (fs);
     341  if (*inodes > rtems_rfs_fs_inodes (fs))
     342    *inodes = rtems_rfs_fs_inodes (fs);
     343 
     344  return 0;
     345}
     346
  • cpukit/libfs/src/rfs/rtems-rfs-group.h

    r5268642 r59762963  
    149149                                 bool*                  state);
    150150
     151/**
     152 * Determine the number of blocks and inodes used.
     153 *
     154 * @param fs The file system data.
     155 * @prarm blocks The number of blocks used.
     156 * @param inodes The number of inodes used.
     157 * @return int The error number (errno). No error if 0.
     158 */
     159int rtems_rfs_group_usage (rtems_rfs_file_system* fs,
     160                           size_t*                blocks,
     161                           size_t*                inodes);
     162
    151163#endif
  • cpukit/libfs/src/rfs/rtems-rfs-rtems.c

    r5268642 r59762963  
    11021102{
    11031103  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);
    1104 
    1105   sb->f_bsize = rtems_rfs_fs_block_size (fs);
    1106   sb->f_frsize = rtems_rfs_fs_media_block_size (fs);
    1107   sb->f_blocks = rtems_rfs_fs_media_blocks (fs);
    1108 
    1109   sb->f_fsid = RTEMS_RFS_SB_MAGIC;
     1104  size_t                 blocks;
     1105  size_t                 inodes;
     1106
     1107  rtems_rfs_group_usage (fs, &blocks, &inodes);
     1108 
     1109  sb->f_bsize   = rtems_rfs_fs_block_size (fs);
     1110  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);
     1111  sb->f_blocks  = rtems_rfs_fs_media_blocks (fs);
     1112  sb->f_bfree   = rtems_rfs_fs_blocks (fs) - blocks;
     1113  sb->f_bavail  = sb->f_bfree;
     1114  sb->f_files   = rtems_rfs_fs_inodes (fs) - inodes;
     1115  sb->f_ffree   = sb->f_files;
     1116  sb->f_favail  = sb->f_files;
     1117  sb->f_fsid    = RTEMS_RFS_SB_MAGIC;
     1118  sb->f_flag    = rtems_rfs_fs_flags (fs);
    11101119  sb->f_namemax = rtems_rfs_fs_max_name (fs);
    11111120 
  • cpukit/libfs/src/rfs/rtems-rfs-shell.c

    r5268642 r59762963  
    141141  rtems_rfs_shell_lock_rfs (fs);
    142142
    143   blocks = 0;
    144   inodes = 0;
    145  
    146   for (g = 0; g < fs->group_count; g++)
    147   {
    148     rtems_rfs_group* group = &fs->groups[g];
    149     blocks +=
    150       rtems_rfs_bitmap_map_size(&group->block_bitmap) -
    151       rtems_rfs_bitmap_map_free (&group->block_bitmap);
    152     inodes +=
    153       rtems_rfs_bitmap_map_size (&group->inode_bitmap) -
    154       rtems_rfs_bitmap_map_free (&group->inode_bitmap);
    155   }
    156 
     143  rtems_rfs_group_usage (fs, &blocks, &inodes);
     144 
    157145  rtems_rfs_shell_unlock_rfs (fs);
    158146
Note: See TracChangeset for help on using the changeset viewer.