summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/jffs2/src/os-rtems.h
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2023-11-08 15:55:38 -0600
committerJoel Sherrill <joel@rtems.org>2023-12-22 19:51:52 -0600
commitefc36cb467984f142b9fdec22042b768a1da16bd (patch)
tree0681ef27c287ee7af9fd1fc8724737350a7b00f8 /cpukit/libfs/src/jffs2/src/os-rtems.h
parentfstests/tftpfs: Use rtems_test_run() (diff)
downloadrtems-efc36cb467984f142b9fdec22042b768a1da16bd.tar.bz2
cpukit/jffs2: Revert to non-granular locking
Revert JFFS2 to non-granular locking. This makes the superblock available to the delayed work that it owns so that delayed work processing can ensure that shared resources are being exclusively accessed. This change only affects NAND systems. Moving forward with granular locking will require a significant investment of time in producing a test harness that doesn't require hardware such that this can get a reasonable amount of test coverage.
Diffstat (limited to '')
-rw-r--r--cpukit/libfs/src/jffs2/src/os-rtems.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpukit/libfs/src/jffs2/src/os-rtems.h b/cpukit/libfs/src/jffs2/src/os-rtems.h
index 63841a5e50..4bc6f5df13 100644
--- a/cpukit/libfs/src/jffs2/src/os-rtems.h
+++ b/cpukit/libfs/src/jffs2/src/os-rtems.h
@@ -100,6 +100,10 @@ struct _inode {
struct super_block {
struct jffs2_sb_info jffs2_sb;
+ /*
+ * If granular locking is ever enabled for JFFS2, the inode cache
+ * (s_root) needs to be protected due to NAND delayed writes.
+ */
struct _inode * s_root;
rtems_jffs2_flash_control *s_flash_control;
rtems_jffs2_compressor_control *s_compressor_control;