summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2002-07-23 16:08:29 +0100
committerDavid Woodhouse <dwmw2@infradead.org>2002-07-23 16:08:29 +0100
commite2aebe41247248bfec1c3affbe7d168518bd5de7 (patch)
tree0e0aeda07d7e716935c7cd3dc2497f05a7dc9fbb /include/linux
parent390fdff598335e08afc216ff7b759b3142d5a079 (diff)
JFFS2 update.
Fix rename-over-existing-file behaviour to actually reduce nlink of the victim, and disallow rename over a non-empty directory. Improved NAND support, some optimisations and other bug fixes.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/jffs2_fs_sb.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/include/linux/jffs2_fs_sb.h b/include/linux/jffs2_fs_sb.h
index 129a4c31dee1..a215d4e88098 100644
--- a/include/linux/jffs2_fs_sb.h
+++ b/include/linux/jffs2_fs_sb.h
@@ -1,4 +1,4 @@
-/* $Id: jffs2_fs_sb.h,v 1.26 2002/03/17 10:18:42 dwmw2 Exp $ */
+/* $Id: jffs2_fs_sb.h,v 1.31 2002/07/02 22:48:24 dwmw2 Exp $ */
#ifndef _JFFS2_FS_SB
#define _JFFS2_FS_SB
@@ -9,8 +9,6 @@
#include <asm/semaphore.h>
#include <linux/list.h>
-#define INOCACHE_HASHSIZE 14
-
#define JFFS2_SB_FLAG_RO 1
#define JFFS2_SB_FLAG_MOUNTING 2
@@ -33,6 +31,9 @@ struct jffs2_sb_info {
out-of-order writing of nodes.
And GC.
*/
+ uint32_t cleanmarker_size; /* Size of an _inline_ CLEANMARKER
+ (i.e. zero for OOB CLEANMARKER */
+
uint32_t flash_size;
uint32_t used_size;
uint32_t dirty_size;
@@ -52,6 +53,7 @@ struct jffs2_sb_info {
struct jffs2_eraseblock *gcblock; /* The block we're currently garbage-collecting */
struct list_head clean_list; /* Blocks 100% full of clean data */
+ struct list_head very_dirty_list; /* Blocks with lots of dirty space */
struct list_head dirty_list; /* Blocks with some dirty space */
struct list_head erasable_list; /* Blocks which are completely dirty, and need erasing */
struct list_head erasable_pending_wbuf_list; /* Blocks which need erasing but only after the current wbuf is flushed */
@@ -66,10 +68,8 @@ struct jffs2_sb_info {
against erase completion handler */
wait_queue_head_t erase_wait; /* For waiting for erases to complete */
- struct jffs2_inode_cache *inocache_list[INOCACHE_HASHSIZE];
+ struct jffs2_inode_cache **inocache_list;
spinlock_t inocache_lock;
- /* This _really_ speeds up mounts. */
- struct jffs2_inode_cache *inocache_last;
/* Sem to allow jffs2_garbage_collect_deletion_dirent to
drop the erase_completion_lock while it's holding a pointer
@@ -81,6 +81,8 @@ struct jffs2_sb_info {
uint32_t wbuf_ofs;
uint32_t wbuf_len;
uint32_t wbuf_pagesize;
+ struct tq_struct wbuf_task; /* task for timed wbuf flush */
+ struct timer_list wbuf_timer; /* timer for flushing wbuf */
/* OS-private pointer for getting back to master superblock info */
void *os_priv;