Gregory Nutt ea13e24392 Correct a problem that was causing an apparent directory to be reported as a file instead of a directory by opendir.
This happened after adding these three new procfs entries:

  fs/block
  fs/mount
  fs/usage

Of course, there is no directory fs in this case, only three files that have fs/ in their relative pathnames.  The logic was detecting that fs was the name of the enty to report, but it was then declaring that fs was a file (because fs/block is of type file).

This was fixed by adding a check for matching lenghts.  i.e., if strlen(fs) != strlen(fs/block), then report fs as a directory instead of a file.
2017-10-26 16:30:59 -06:00
..
2017-10-26 13:33:08 -06:00

fs/procfs README
================

  This is a tiny procfs file system that allows read-only access to a few
  attributes of a task or thread.  This tiny procfs fs file system can be
  built into the system by enabling:

    CONFIG_FS_PROCFS=y

  It can then be mounted from the NSH command like like:

    nsh> mount -t procfs /proc

Example
=======

  NuttShell (NSH) NuttX-6.31
  nsh> mount -t procfs /proc

  nsh> ls /proc
  /proc:
   0/
   1/

  nsh> ls /proc/1
  /proc/1:
   status
   cmdline

  nsh> cat /proc/1/status
  Name:       init
  Type:       Task
  State:      Running
  Priority:   100
  Scheduler:  SCHED_FIFO
  SigMask:    00000000

  nsh> cat /proc/1/cmdline
  init

  nsh> sleep 100 &
  sleep [2:100]
  nsh> ls /proc
  ls /proc
  /proc:
   0/
   1/
   2/

  nsh> cat /proc/2/cmdline
  <pthread> 0x527420