Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * JFFS2 -- Journalling Flash File System, Version 2.
  3  *
  4  * Copyright © 2001-2007 Red Hat, Inc.
  5  *
  6  * Created by David Woodhouse <dwmw2@infradead.org>
  7  *
  8  * For licensing information, see the file 'LICENCE' in this directory.
  9  *
 10  */
 11 
 12 #ifndef _JFFS2_FS_I
 13 #define _JFFS2_FS_I
 14 
 15 #include <linux/version.h>
 16 #include <linux/rbtree.h>
 17 #include <linux/posix_acl.h>
 18 #include <asm/semaphore.h>
 19 
 20 struct jffs2_inode_info {
 21         /* We need an internal mutex similar to inode->i_mutex.
 22            Unfortunately, we can't used the existing one, because
 23            either the GC would deadlock, or we'd have to release it
 24            before letting GC proceed. Or we'd have to put ugliness
 25            into the GC code so it didn't attempt to obtain the i_mutex
 26            for the inode(s) which are already locked */
 27         struct compat_semaphore sem;
 28 
 29         /* The highest (datanode) version number used for this ino */
 30         uint32_t highest_version;
 31 
 32         /* List of data fragments which make up the file */
 33         struct rb_root fragtree;
 34 
 35         /* There may be one datanode which isn't referenced by any of the
 36            above fragments, if it contains a metadata update but no actual
 37            data - or if this is a directory inode */
 38         /* This also holds the _only_ dnode for symlinks/device nodes,
 39            etc. */
 40         struct jffs2_full_dnode *metadata;
 41 
 42         /* Directory entries */
 43         struct jffs2_full_dirent *dents;
 44 
 45         /* The target path if this is the inode of a symlink */
 46         unsigned char *target;
 47 
 48         /* Some stuff we just have to keep in-core at all times, for each inode. */
 49         struct jffs2_inode_cache *inocache;
 50 
 51         uint16_t flags;
 52         uint8_t usercompr;
 53         struct inode vfs_inode;
 54 #ifdef CONFIG_JFFS2_FS_POSIX_ACL
 55         struct posix_acl *i_acl_access;
 56         struct posix_acl *i_acl_default;
 57 #endif
 58 };
 59 
 60 #endif /* _JFFS2_FS_I */
 61 
  This page was automatically generated by the LXR engine.