Commit d96336b05d718b03ff03c94c0dc0cc283a29d534

Authored by Josh Hunt
Committed by Jan Kara
1 parent 8057b96539

ext2: Resolve 'dereferencing pointer to incomplete type' when enabling EXT2_XATTR_DEBUG

When I enable EXT2_XATTR_DEBUG in fs/ext2/xattr.c I get a build error stating
the following:

  CC      fs/ext2/xattr.o
fs/ext2/xattr.c: In function 'ext2_xattr_cache_insert':
fs/ext2/xattr.c:841: error: dereferencing pointer to incomplete type
fs/ext2/xattr.c:846: error: dereferencing pointer to incomplete type
make[2]: *** [fs/ext2/xattr.o] Error 1
make[1]: *** [fs/ext2] Error 2
make: *** [fs] Error 2

These lines reference ext2_xattr_cache->c_entry_count which is defined
in struct mb_cache. struct mb_cache is currently only defined in fs/mbcache.c.
Moving struct mb_cache definition to include/linux/mbcache.h to resolve the
issue.

Signed-off-by: Josh Hunt <johunt@akamai.com>
Signed-off-by: Jan Kara <jack@suse.cz>

Showing 2 changed files with 11 additions and 12 deletions Side-by-side Diff

... ... @@ -76,18 +76,6 @@
76 76 EXPORT_SYMBOL(mb_cache_entry_find_next);
77 77 #endif
78 78  
79   -struct mb_cache {
80   - struct list_head c_cache_list;
81   - const char *c_name;
82   - atomic_t c_entry_count;
83   - int c_max_entries;
84   - int c_bucket_bits;
85   - struct kmem_cache *c_entry_cache;
86   - struct list_head *c_block_hash;
87   - struct list_head *c_index_hash;
88   -};
89   -
90   -
91 79 /*
92 80 * Global data: list of all mbcache's, lru list, and a spinlock for
93 81 * accessing cache data structures on SMP machines. The lru list is
include/linux/mbcache.h
... ... @@ -18,6 +18,17 @@
18 18 } e_index;
19 19 };
20 20  
  21 +struct mb_cache {
  22 + struct list_head c_cache_list;
  23 + const char *c_name;
  24 + atomic_t c_entry_count;
  25 + int c_max_entries;
  26 + int c_bucket_bits;
  27 + struct kmem_cache *c_entry_cache;
  28 + struct list_head *c_block_hash;
  29 + struct list_head *c_index_hash;
  30 +};
  31 +
21 32 /* Functions on caches */
22 33  
23 34 struct mb_cache *mb_cache_create(const char *, int);