From 9a3af1a3e004ef95279dd237d576005dce8d949e Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 12 Feb 2017 12:10:46 -0600 Subject: [PATCH] Update TODO list --- TODO | 21 ++++++++++++++++++++- include/nuttx/fs/fs.h | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index 0d6206f2d2..e5900af037 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -NuttX TODO List (Last updated February 7, 2017) +NuttX TODO List (Last updated February 12, 2017) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This file summarizes known NuttX bugs, limitations, inconsistencies with @@ -1371,6 +1371,25 @@ o File system / Generic drivers (fs/, drivers/) Title: CHMOD(), TRUNCATE(), AND FSTAT() Description: Implement chmod(), truncate(), and fstat(). + + chmod() is probably not relevant since file modes are not + currently supported. + + fstat() may be doable: Most file system implement stat() by + looking up the directory entry associated with the path + then generating the struct stat data. But most file + systems also keep the directory entry in the private data + associated withe open file. So it should possible to + implement fstat() as a file system method and use that + saved directory entry to generate the stat data. + + The primary obstacle to all these is that each would require + changes to all existing file systems. That number is pretty + large. The number of file system implementations that would + need to be reviewed and modified As of this writing this + would include binfs, fat, hostfs, nfs, nxffs, procfs, romfs, + tmpfs, unionfs, plus pseduo-file system support. + Status: Open Priority: Low diff --git a/include/nuttx/fs/fs.h b/include/nuttx/fs/fs.h index 4509665266..bdc07646ab 100644 --- a/include/nuttx/fs/fs.h +++ b/include/nuttx/fs/fs.h @@ -361,7 +361,7 @@ struct file { int f_oflags; /* Open mode flags */ off_t f_pos; /* File position */ - FAR struct inode *f_inode; /* Driver interface */ + FAR struct inode *f_inode; /* Driver or file system interface */ void *f_priv; /* Per file driver private data */ };