Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)

Randy Dunlap
2011-08-10T19:23:09Z

When CONFIG_BLOCK is not enabled (x86_64):

warning: (NFS_V4_1) selects MD which has unmet direct dependencies (BLOCK)

and these build errors:

fs/nfs/blocklayout/blocklayout.c: In function 'bl_submit_bio':
fs/nfs/blocklayout/blocklayout.c:132: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:133: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:133: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:136: error: implicit declaration of function 'submit_bio'
fs/nfs/blocklayout/blocklayout.c: In function 'bl_alloc_init_bio':
fs/nfs/blocklayout/blocklayout.c:148: error: implicit declaration of function 'bio_alloc'
fs/nfs/blocklayout/blocklayout.c:148: warning: assignment makes pointer from integer without a cast
fs/nfs/blocklayout/blocklayout.c:152: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:153: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:154: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:155: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c: In function 'bl_add_page_to_bio':
fs/nfs/blocklayout/blocklayout.c:171: error: implicit declaration of function 'bio_add_page'
fs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_read':
fs/nfs/blocklayout/blocklayout.c:192: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:193: error: 'BIO_UPTODATE' undeclared (first use in this function)
fs/nfs/blocklayout/blocklayout.c:193: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:193: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:194: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:194: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:198: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:200: error: decrement of pointer to unknown structure
fs/nfs/blocklayout/blocklayout.c:200: error: arithmetic on pointer to an incomplete type
fs/nfs/blocklayout/blocklayout.c:200: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:201: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:204: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:210: error: implicit declaration of function 'bio_put'
fs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_write_zero':
fs/nfs/blocklayout/blocklayout.c:355: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:356: error: 'BIO_UPTODATE' undeclared (first use in this function)
fs/nfs/blocklayout/blocklayout.c:356: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:356: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:357: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:357: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:361: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:363: error: decrement of pointer to unknown structure
fs/nfs/blocklayout/blocklayout.c:363: error: arithmetic on pointer to an incomplete type
fs/nfs/blocklayout/blocklayout.c:363: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:364: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:368: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_write':
fs/nfs/blocklayout/blocklayout.c:381: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:382: error: 'BIO_UPTODATE' undeclared (first use in this function)
fs/nfs/blocklayout/blocklayout.c:382: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:382: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c: In function 'map_block':
fs/nfs/blocklayout/blocklayout.c:440: error: implicit declaration of function 'set_buffer_mapped'
fs/nfs/blocklayout/blocklayout.c:441: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:442: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:445: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c:445: error: dereferencing pointer to incomplete type
fs/nfs/blocklayout/blocklayout.c: In function 'init_page_for_write':
fs/nfs/blocklayout/blocklayout.c:469: error: implicit declaration of function 'alloc_page_buffers'
fs/nfs/blocklayout/blocklayout.c:469: warning: assignment makes pointer from integer without a cast
fs/nfs/blocklayout/blocklayout.c:477: error: implicit declaration of function 'bh_uptodate_or_lock'
fs/nfs/blocklayout/blocklayout.c:478: error: implicit declaration of function 'bh_submit_read'
fs/nfs/blocklayout/blocklayout.c:486: error: implicit declaration of function 'free_buffer_head'
make[4]: *** [fs/nfs/blocklayout/blocklayout.o] Error 1

In file included from include/linux/raid/pq.h:20,
from lib/raid6/algos.c:19:
include/linux/blkdev.h:1346: warning: 'struct task_struct' declared inside parameter list
include/linux/blkdev.h:1346: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/blkdev.h:1350: warning: 'struct task_struct' declared inside parameter list
include/linux/blkdev.h:1355: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'blk_needs_flush_plug'
In file included from lib/raid6/algos.c:19:
include/linux/raid/pq.h:27: error: 'PAGE_SIZE' undeclared here (not in a function)
include/linux/raid/pq.h:74: error: expected declaration specifiers or '...' before 'size_t'
include/linux/raid/pq.h:113: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'raid6_gfmul'
include/linux/raid/pq.h:114: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'raid6_gfexp'
include/linux/raid/pq.h:115: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'raid6_gfinv'
include/linux/raid/pq.h:116: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'raid6_gfexi'
include/linux/raid/pq.h:119: error: expected declaration specifiers or '...' before 'size_t'
include/linux/raid/pq.h:121: error: expected declaration specifiers or '...' before 'size_t'
include/linux/raid/pq.h:122: error: expected declaration specifiers or '...' before 'size_t'
lib/raid6/algos.c: In function 'raid6_select_algo':
lib/raid6/algos.c:90: error: 'raid6_gfmul' undeclared (first use in this function)
lib/raid6/algos.c:116: warning: passing argument 2 of '(*algo)->gen_syndrome' makes pointer from integer without a cast
lib/raid6/algos.c:116: note: expected 'void **' but argument is of type 'long unsigned int'
lib/raid6/algos.c:116: error: too many arguments to function '(*algo)->gen_syndrome'
lib/raid6/algos.c: At top level:
lib/raid6/algos.c:153: error: expected declaration specifiers or '...' before string constant
lib/raid6/algos.c:153: warning: data definition has no type or storage class
lib/raid6/algos.c:153: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
lib/raid6/algos.c:153: warning: function declaration isn't a prototype
lib/raid6/algos.c:154: error: expected declaration specifiers or '...' before string constant
lib/raid6/algos.c:154: warning: data definition has no type or storage class
lib/raid6/algos.c:154: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
lib/raid6/algos.c:154: warning: function declaration isn't a prototype
CC [M] drivers/char/applicom.o
make[3]: *** [lib/raid6/algos.o] Error 1

In file included from drivers/md/linear.c:19:
include/linux/blkdev.h:1346: warning: 'struct task_struct' declared inside parameter list
include/linux/blkdev.h:1346: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/blkdev.h:1350: warning: 'struct task_struct' declared inside parameter list
include/linux/blkdev.h:1355: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'blk_needs_flush_plug'
In file included from drivers/md/linear.c:23:
drivers/md/md.h: In function 'md_sync_acct':
drivers/md/md.h:418: error: dereferencing pointer to incomplete type
drivers/md/md.h: In function 'mdname':
drivers/md/md.h:484: error: dereferencing pointer to incomplete type
CC [M] net/netfilter/xt_connbytes.o
In file included from drivers/md/linear.c:24:
drivers/md/linear.h: At top level:
drivers/md/linear.h:15: error: field 'rcu' has incomplete type
drivers/md/linear.c: In function 'which_dev':
drivers/md/linear.c:36: error: implicit declaration of function 'rcu_dereference'
drivers/md/linear.c:36: warning: assignment makes pointer from integer without a cast
drivers/md/linear.c: At top level:
drivers/md/linear.c:64: warning: 'struct bvec_merge_data' declared inside parameter list
drivers/md/linear.c: In function 'linear_mergeable_bvec':
drivers/md/linear.c:66: error: dereferencing pointer to incomplete type
drivers/md/linear.c:68: error: dereferencing pointer to incomplete type
drivers/md/linear.c:69: error: dereferencing pointer to incomplete type
drivers/md/linear.c:69: error: implicit declaration of function 'get_start_sect'
drivers/md/linear.c:69: error: dereferencing pointer to incomplete type
drivers/md/linear.c:71: error: implicit declaration of function 'rcu_read_lock'
drivers/md/linear.c:74: error: implicit declaration of function 'rcu_read_unlock'
drivers/md/linear.c:82: error: dereferencing pointer to incomplete type
drivers/md/linear.c: In function 'linear_congested':
drivers/md/linear.c:100: warning: assignment makes pointer from integer without a cast
drivers/md/linear.c:103: error: implicit declaration of function 'bdev_get_queue'
drivers/md/linear.c:103: warning: initialization makes pointer from integer without a cast
drivers/md/linear.c:104: error: implicit declaration of function 'bdi_congested'
drivers/md/linear.c:104: error: dereferencing pointer to incomplete type
drivers/md/linear.c: In function 'linear_size':
drivers/md/linear.c:117: warning: assignment makes pointer from integer without a cast
drivers/md/linear.c: In function 'linear_conf':
drivers/md/linear.c:158: error: implicit declaration of function 'disk_stack_limits'
drivers/md/linear.c:164: error: dereferencing pointer to incomplete type
drivers/md/linear.c:165: error: implicit declaration of function 'blk_queue_max_segments'
drivers/md/linear.c:166: error: implicit declaration of function 'blk_queue_segment_boundary'
drivers/md/linear.c:167: error: 'PAGE_CACHE_SIZE' undeclared (first use in this function)
drivers/md/linear.c: In function 'linear_run':
drivers/md/linear.c:210: error: implicit declaration of function 'blk_queue_merge_bvec'
drivers/md/linear.c:211: error: dereferencing pointer to incomplete type
drivers/md/linear.c:212: error: dereferencing pointer to incomplete type
drivers/md/linear.c: In function 'linear_add':
drivers/md/linear.c:238: warning: assignment makes pointer from integer without a cast
drivers/md/linear.c:240: error: implicit declaration of function 'rcu_assign_pointer'
drivers/md/linear.c:242: error: implicit declaration of function 'set_capacity'
drivers/md/linear.c:243: error: implicit declaration of function 'revalidate_disk'
drivers/md/linear.c:244: error: implicit declaration of function 'kfree_rcu'
drivers/md/linear.c:244: error: 'rcu' undeclared (first use in this function)
drivers/md/linear.c: In function 'linear_stop':
drivers/md/linear.c:259: error: implicit declaration of function 'rcu_barrier'
drivers/md/linear.c:260: error: implicit declaration of function 'blk_sync_queue'
drivers/md/linear.c: In function 'linear_make_request':
drivers/md/linear.c:272: error: dereferencing pointer to incomplete type
drivers/md/linear.c:272: error: 'REQ_FLUSH' undeclared (first use in this function)
drivers/md/linear.c:278: error: dereferencing pointer to incomplete type
drivers/md/linear.c:282: error: dereferencing pointer to incomplete type
drivers/md/linear.c:282: error: dereferencing pointer to incomplete type
drivers/md/linear.c:284: error: 'BDEVNAME_SIZE' undeclared (first use in this function)
drivers/md/linear.c:290: error: dereferencing pointer to incomplete type
drivers/md/linear.c:291: error: implicit declaration of function 'bdevname'
drivers/md/linear.c:293: warning: format '%s' expects type 'char *', but argument 4 has type 'int'
drivers/md/linear.c:295: error: implicit declaration of function 'bio_io_error'
drivers/md/linear.c:284: warning: unused variable 'b'
drivers/md/linear.c:298: error: dereferencing pointer to incomplete type
drivers/md/linear.c:298: error: dereferencing pointer to incomplete type
drivers/md/linear.c:308: error: implicit declaration of function 'bio_split'
drivers/md/linear.c:308: error: dereferencing pointer to incomplete type
drivers/md/linear.c:308: warning: assignment makes pointer from integer without a cast
drivers/md/linear.c:310: error: dereferencing pointer to incomplete type
drivers/md/linear.c:311: error: implicit declaration of function 'generic_make_request'
drivers/md/linear.c:311: error: dereferencing pointer to incomplete type
drivers/md/linear.c:312: error: dereferencing pointer to incomplete type
drivers/md/linear.c:313: error: dereferencing pointer to incomplete type
drivers/md/linear.c:314: error: implicit declaration of function 'bio_pair_release'
drivers/md/linear.c:318: error: dereferencing pointer to incomplete type
drivers/md/linear.c:319: error: dereferencing pointer to incomplete type
drivers/md/linear.c:319: error: dereferencing pointer to incomplete type
drivers/md/linear.c: At top level:
drivers/md/linear.c:337: error: 'THIS_MODULE' undeclared here (not in a function)
drivers/md/linear.c:359: error: expected declaration specifiers or '...' before string constant
drivers/md/linear.c:359: warning: data definition has no type or storage class
drivers/md/linear.c:359: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
drivers/md/linear.c:359: warning: function declaration isn't a prototype
drivers/md/linear.c:360: error: expected declaration specifiers or '...' before string constant
drivers/md/linear.c:360: warning: data definition has no type or storage class
drivers/md/linear.c:360: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
drivers/md/linear.c:360: warning: function declaration isn't a prototype
drivers/md/linear.c:361: error: expected declaration specifiers or '...' before string constant
drivers/md/linear.c:361: warning: data definition has no type or storage class
drivers/md/linear.c:361: warning: type defaults to 'int' in declaration of 'MODULE_ALIAS'
drivers/md/linear.c:361: warning: function declaration isn't a prototype
drivers/md/linear.c:362: error: expected declaration specifiers or '...' before string constant
drivers/md/linear.c:362: warning: data definition has no type or storage class
drivers/md/linear.c:362: warning: type defaults to 'int' in declaration of 'MODULE_ALIAS'
drivers/md/linear.c:362: warning: function declaration isn't a prototype
drivers/md/linear.c:363: error: expected declaration specifiers or '...' before string constant
drivers/md/linear.c:363: warning: data definition has no type or storage class
drivers/md/linear.c:363: warning: type defaults to 'int' in declaration of 'MODULE_ALIAS'
drivers/md/linear.c:363: warning: function declaration isn't a prototype
make[3]: *** [drivers/md/linear.o] Error 1

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***