yaffs Chacing a bug in yaffs
[yaffs2.git] / yaffs_linux.h
index 272186aeb0d7f26f8283116aab2b850bb2115eea..ce059fd23b7ecdbc7513f0e6089abd3faf2e3d49 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
  *
- * Copyright (C) 2002-2007 Aleph One Ltd.
+ * Copyright (C) 2002-2010 Aleph One Ltd.
  *   for Toby Churchill Ltd and Brightstar Engineering
  *
  * Created by Charles Manning <charles@aleph1.co.uk>
@@ -23,16 +23,21 @@ struct yaffs_LinuxContext {
        struct ylist_head       contextList; /* List of these we have mounted */
        struct yaffs_DeviceStruct *dev;
        struct super_block * superBlock;
+       struct task_struct *bgThread; /* Background thread for this device */
+       int bgRunning;
         struct semaphore grossLock;     /* Gross locking semaphore */
        __u8 *spareBuffer;      /* For mtdif2 use. Don't know the size of the buffer
                                 * at compile time so we have to allocate it.
                                 */
-       struct mtd_info *mtd;
        struct ylist_head searchContexts;
        void (*putSuperFunc)(struct super_block *sb);
+
+       struct task_struct *readdirProcess;
+       unsigned mount_id;
 };
 
-#define yaffs_DeviceToContext(dev) ((struct yaffs_LinuxContext *)((dev)->context))
+#define yaffs_DeviceToLC(dev) ((struct yaffs_LinuxContext *)((dev)->osContext))
+#define yaffs_DeviceToMtd(dev) ((struct mtd_info *)((dev)->driverContext))
 
 #endif