Linux 3.1-rc1
Subsystems (5)
It's been slightly over two weeks, but I decided that I wanted to do the release from home rather than from vacation, so you guys got a few extra days of merging. And some of you took advantage of it too. Tssk, tssk.
Anyway, 3.1 is shaping up to be a pretty normal release. Almost 75% of the patch is in drivers, 12% arch updates, and the rest miscellaneous:
fs, net, Documentation.
Of the drivers, about 40% is in staging, 20% networking, and 10% sound. With scsi, media, etc bringing up the rear. A good chunk of it was cleanups. And the good news is that the bulk of staging was removal. The bad news is that we sure made up for it in other areas ;)
Notable? It depends on what you look for. VM writeback work? You got it. And there was some controversy over the iscsi target code. There's networking changes, there's the rest of the generic ACL support moving into the VFS layer proper, simplifying the filesystem code that was often cut-and-paste duplicated boiler plate. And making us faster at doing it at the same time. And there are power management interface cleanups.
But there's nothing *huge* here. Looks like a fairly normal release, as I said. Unless I've forgotten something.
Go out and test it. Oh, except right now you are probably better off not enabling SLUB debugging unless you want to help test it.
Linus
Re: Linux 3.1-rc1 (i7core_edac build error)
on x86_64:
ERROR: "x86_mce_decoder_chain" [drivers/edac/i7core_edac.ko] undefined!
Full kernel (rand)config file is attached.
---
~Randy
Borislav Petkov
maintainerRe: Linux 3.1-rc1 (i7core_edac build error)
Quoted 5 lines · Randy Dunlap
on
x86_64:ERROR: "
x86_mce_decoder_chain" [drivers/edac/i7core_edac.ko] undefined!Full kernel (rand)config file is attached.
This has got to be linux-next because the x86_mce_decoder_chain for i7core_edac is not upstream yet, AFAICT.
If so, then
needs to be changed to depend on X86_MCE. Mauro, you want an updated patch or you don't rebase your linux-next branch and need a diff ontop?
Thanks.
Signature · 2 lines
Regards/Gruss,
Boris.Re: Linux 3.1-rc1 (i7core_edac build error)
Quoted 9 lines · On Mon, 8 Aug 2011 23:31:59 +0200 Borislav Petkov wrote:
Quoted 5 lines · Randy Dunlap
on
x86_64:ERROR: "
x86_mce_decoder_chain" [drivers/edac/i7core_edac.ko] undefined!Full kernel (rand)config file is attached.
This has got to be linux-next because the
x86_mce_decoder_chainfori7core_edacis not upstream yet, AFAICT.
Agreed. Too many simultaneous build trees. Sorry about that.
Quoted 12 lines
If so, then
needs to be changed to depend on
X86_MCE. Mauro, you want an updated patch or you don't rebase your linux-next branch and need a diff ontop?Thanks.
Signature · 2 lines
Regards/Gruss, Boris.
Thanks.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Re: Linux 3.1-rc1 (i7core_edac build error)
In reply to Borislav PetkovEm 08-08-2011 18:31, Borislav Petkov escreveu:
Quoted 10 lines · Randy Dunlap
Quoted 5 lines
on
x86_64:ERROR: "
x86_mce_decoder_chain" [drivers/edac/i7core_edac.ko] undefined!Full kernel (rand)config file is attached.
This has got to be linux-next because the
x86_mce_decoder_chainfori7core_edacis not upstream yet, AFAICT.
Quoted 6 lines
If so, then
needs to be changed to depend on
X86_MCE. Mauro, you want an updated patch or you don't rebase your linux-next branch and need a diff ontop?
I don't think that anyone, except for -next, is cloning from my tree, and there are just a few new patches there, so I'm not caring a lot of not doing rebase on this tree, but incremantal patches is better.
Thanks,
Mauro
PATCH 1/1 EDAC: Correct Kconfig dependencies
From: Borislav Petkov <[email protected]>
Both AMD and Intel i7 EDAC drivers use MCE features and are thus dependent of this functionality present in the kernel. Express this in Kconfig so that randconfig builds don't break.
--- drivers/edac/Kconfig | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
drivers/edac/Kconfig +2 -3
@@ -41,7 +41,7 @@ config EDAC_DEBUG config EDAC_DECODE_MCE tristate "Decode MCEs in human-readable form (only on AMD for now)" - depends on CPU_SUP_AMD && X86_MCE + depends on CPU_SUP_AMD && X86_MCE_AMD default y ---help--- Enable this option if you want to decode Machine Check Exceptions
@@ -170,8 +170,7 @@ config EDAC_I5400 config EDAC_I7CORE tristate "Intel i7 Core (Nehalem) processors" - depends on EDAC_MM_EDAC && PCI && X86 - select EDAC_MCE + depends on EDAC_MM_EDAC && PCI && X86 && X86_MCE_INTEL help Support for error detection and correction the Intel i7 Core (Nehalem) Integrated Memory Controller that exists on
Signature · 1 line
1.7.4.rc2
Re: [PATCH] EDAC: Correct Kconfig dependencies
Quoted 8 lines · On Wed, 10 Aug 2011 14:43:30 +0200 Borislav Petkov wrote:
From: Borislav Petkov <[email protected]>
Both AMD and Intel i7 EDAC drivers use MCE features and are thus dependent of this functionality present in the kernel. Express this in
Kconfigso that randconfig builds don't break.Reported-by Randy Dunlap <[email protected]>Signed-off-by Borislav Petkov <[email protected]>
Thanks.
Quoted 30 lines
--- drivers/edac/Kconfig | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)drivers/edac/Kconfig +2
-3@@ -41,7 +41,7 @@ config EDAC_DEBUG config EDAC_DECODE_MCE tristate "Decode MCEs in human-readable form (only on AMD for now)" - depends on CPU_SUP_AMD && X86_MCE + depends on CPU_SUP_AMD && X86_MCE_AMD default y ---help--- Enable this option if you want to decode Machine Check Exceptions@@ -170,8 +170,7 @@ config EDAC_I5400 config EDAC_I7CORE tristate "Intel i7 Core (Nehalem) processors" - depends on EDAC_MM_EDAC && PCI && X86 - select EDAC_MCE + depends on EDAC_MM_EDAC && PCI && X86 && X86_MCE_INTEL help Support for error detection and correction the Intel i7 Core (Nehalem) Integrated Memory Controller that exists onSignature · 1 line
1.7.4.rc2
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Re: [PATCH] EDAC: Correct Kconfig dependencies
Quoted 4 lines · Randy Dunlap
Quoted 2 lines · On Wed, 10 Aug 2011 14:43:30 +0200 Borislav Petkov wrote:
From: Borislav Petkov <[email protected]>
Quoted 8 lines
Quoted 6 lines
Both AMD and Intel i7 EDAC drivers use MCE features and are thus dependent of this functionality present in the kernel. Express this in
Kconfigso that randconfig builds don't break.Reported-by Randy Dunlap <[email protected]>Signed-off-by Borislav Petkov <[email protected]>Acked-by Randy Dunlap <[email protected]>
Mauro, can you apply this to your
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/edac.git linux_next
Linus picked it up prematurely but it should go through your tree along with the rest of the changes.
Thanks.
Signature · 8 lines
Regards/Gruss, Boris. Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach GM: Alberto Bozzo Reg: Dornach, Landkreis Muenchen HRB Nr. 43632 WEEE Registernr: 129 19551
Re: Linux 3.1-rc1 (staging/comedi)
In reply to Linus Torvaldson x86_64:
ERROR: "labpc_1200_is_unipolar" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_1200_ai_gain_bits" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "range_labpc_1200_ai" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_detach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_attach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
Full kernel (rand)config is attached.
---
~Randy
Re: Linux 3.1-rc1 (staging/comedi)
Quoted 11 lines · On Mon, 8 Aug 2011 14:35:16 -0700 Randy Dunlap wrote:
on
x86_64:ERROR: "
labpc_1200_is_unipolar" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_1200_ai_gain_bits" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "range_labpc_1200_ai" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_detach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_attach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!Full kernel (rand)config is attached.
---
Sorry, this also is linux-next 20110808.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Re: Linux 3.1-rc1 (staging/comedi)
In reply to Randy DunlapQuoted 9 lines · Randy Dunlap
on
x86_64:ERROR: "
labpc_1200_is_unipolar" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_1200_ai_gain_bits" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "range_labpc_1200_ai" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_detach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_attach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!Full kernel (rand)config is attached.
I don't see how this could happen, as you have:
CONFIG_COMEDI_NI_LABPC_CS=mCONFIG_COMEDI_NI_LABPC=m
set. Those functions are all in drivers/staging/comedi/drivers/ni_labpc.ko, which should have also gotten built, right?
totally confused,
greg k-h
Re: Linux 3.1-rc1 (staging/comedi)
Quoted 13 lines · On Mon, 8 Aug 2011 14:51:53 -0700 Greg KH wrote:
Quoted 9 lines · Randy Dunlap
on
x86_64:ERROR: "
labpc_1200_is_unipolar" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_1200_ai_gain_bits" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "range_labpc_1200_ai" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_detach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!
ERROR: "labpc_common_attach" [drivers/staging/comedi/drivers/ni_labpc_cs.ko] undefined!Full kernel (rand)config is attached.
I don't see how this could happen, as you have:
Quoted 8 lines
CONFIG_COMEDI_NI_LABPC_CS=mCONFIG_COMEDI_NI_LABPC=mset. Those functions are all in
drivers/staging/comedi/drivers/ni_labpc.ko, which should have also gotten built, right?totally confused,
Ack. Misleading messages logged due to using -k on build. Sorry about that. There are some build errors (in linux-next). I'll send those in reply to today's linux-next announcement.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
PATCH 1/1 xen: xen-selfballoon.c needs more header files
In reply to Linus TorvaldsFrom: Randy Dunlap <[email protected]>
Fix build errors (found when CONFIG_SYSFS is not enabled):
drivers/xen/xen-selfballoon.c:446: warning: data definition has no type or storage class drivers/xen/xen-selfballoon.c:446: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' drivers/xen/xen-selfballoon.c:446: warning: parameter names (without types) in function declaration drivers/xen/xen-selfballoon.c:485: error: expected declaration specifiers or '...' before string constant drivers/xen/xen-selfballoon.c:485: warning: data definition has no type or storage class drivers/xen/xen-selfballoon.c:485: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE' drivers/xen/xen-selfballoon.c:485: warning: function declaration isn't a prototype
--- drivers/xen/xen-selfballoon.c | 1 + 1 file changed, 1 insertion(+)
and will need <linux/export.h> when module.h is split up.
drivers/xen/xen-selfballoon.c +1 -0
@@ -70,6 +70,7 @@#include <linux/kernel.h> #include <linux/mm.h> #include <linux/mman.h> +#include <linux/module.h> #include <linux/workqueue.h> #include <xen/balloon.h> #include <xen/tmem.h>
Re: [PATCH mainline] xen: xen-selfballoon.c needs more header files
Quoted 12 lines · Randy Dunlap
From: Randy Dunlap <[email protected]>
Fix build errors (found when
CONFIG_SYSFSis not enabled):
drivers/xen/xen-selfballoon.c:446: warning: data definition has no type or storage classdrivers/xen/xen-selfballoon.c:446: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'drivers/xen/xen-selfballoon.c:446: warning: parameter names (without types) in function declarationdrivers/xen/xen-selfballoon.c:485: error: expected declaration specifiers or '...' before string constantdrivers/xen/xen-selfballoon.c:485: warning: data definition has no type or storage classdrivers/xen/xen-selfballoon.c:485: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'drivers/xen/xen-selfballoon.c:485: warning: function declaration isn't a prototype
Quoted 1 line
Signed-off-by Randy Dunlap <[email protected]>
Ok, will stick it on my linux-next. Thanks!
Quoted 21 lines
--- drivers/xen/xen-selfballoon.c | 1 + 1 file changed, 1 insertion(+)and will need <
linux/export.h> whenmodule.his split up.drivers/xen/xen-selfballoon.c +1
-1@@ -70,6 +70,7 @@#include <linux/kernel.h> #include <linux/mm.h> #include <linux/mman.h> +#include <linux/module.h> #include <linux/workqueue.h> #include <xen/balloon.h> #include <xen/tmem.h> --To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
In reply to Linus TorvaldsWhen 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 classlib/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 prototypelib/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 classlib/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 typedrivers/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 typedrivers/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 typedrivers/md/linear.c:68: error: dereferencing pointer to incomplete typedrivers/md/linear.c:69: error: dereferencing pointer to incomplete typedrivers/md/linear.c:69: error: implicit declaration of function 'get_start_sect' drivers/md/linear.c:69: error: dereferencing pointer to incomplete typedrivers/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 typedrivers/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 typedrivers/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 typedrivers/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 typedrivers/md/linear.c:212: error: dereferencing pointer to incomplete typedrivers/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 typedrivers/md/linear.c:272: error: 'REQ_FLUSH' undeclared (first use in this function) drivers/md/linear.c:278: error: dereferencing pointer to incomplete typedrivers/md/linear.c:282: error: dereferencing pointer to incomplete typedrivers/md/linear.c:282: error: dereferencing pointer to incomplete typedrivers/md/linear.c:284: error: 'BDEVNAME_SIZE' undeclared (first use in this function) drivers/md/linear.c:290: error: dereferencing pointer to incomplete typedrivers/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 typedrivers/md/linear.c:298: error: dereferencing pointer to incomplete typedrivers/md/linear.c:308: error: implicit declaration of function 'bio_split'drivers/md/linear.c:308: error: dereferencing pointer to incomplete typedrivers/md/linear.c:308: warning: assignment makes pointer from integer without a cast drivers/md/linear.c:310: error: dereferencing pointer to incomplete typedrivers/md/linear.c:311: error: implicit declaration of function 'generic_make_request' drivers/md/linear.c:311: error: dereferencing pointer to incomplete typedrivers/md/linear.c:312: error: dereferencing pointer to incomplete typedrivers/md/linear.c:313: error: dereferencing pointer to incomplete typedrivers/md/linear.c:314: error: implicit declaration of function 'bio_pair_release' drivers/md/linear.c:318: error: dereferencing pointer to incomplete typedrivers/md/linear.c:319: error: dereferencing pointer to incomplete typedrivers/md/linear.c:319: error: dereferencing pointer to incomplete typedrivers/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 classdrivers/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 prototypedrivers/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 classdrivers/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 prototypedrivers/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 classdrivers/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 prototypedrivers/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 classdrivers/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 prototypedrivers/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 classdrivers/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 ***
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Quoted 3 lines · Randy Dunlap
When
CONFIG_BLOCKis not enabled (x86_64):warning: (
NFS_V4_1) selects MD which has unmet direct dependencies (BLOCK)
MD depends on BLOCK but when MD is selected, it will not select BLOCK. Selecting BLOCK at NFS_V4_1 can solve this but it's like resolving dependency from top down.
Is MD designed to not be selected from the first place? If not, can we change it to selecting BLOCK?
Thanks,
Tao
Quoted 203 lines
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 typefs/nfs/blocklayout/blocklayout.c:133: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:133: error: dereferencing pointer to incomplete typefs/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 castfs/nfs/blocklayout/blocklayout.c:152: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:153: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:154: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:155: error: dereferencing pointer to incomplete typefs/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 typefs/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 typefs/nfs/blocklayout/blocklayout.c:193: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:194: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:194: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:198: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:200: error: decrement of pointer to unknown structurefs/nfs/blocklayout/blocklayout.c:200: error: arithmetic on pointer to an incomplete typefs/nfs/blocklayout/blocklayout.c:200: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:201: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:204: error: dereferencing pointer to incomplete typefs/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 typefs/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 typefs/nfs/blocklayout/blocklayout.c:356: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:357: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:357: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:361: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:363: error: decrement of pointer to unknown structurefs/nfs/blocklayout/blocklayout.c:363: error: arithmetic on pointer to an incomplete typefs/nfs/blocklayout/blocklayout.c:363: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:364: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:368: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_write':fs/nfs/blocklayout/blocklayout.c:381: error: dereferencing pointer to incomplete typefs/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 typefs/nfs/blocklayout/blocklayout.c:382: error: dereferencing pointer to incomplete typefs/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 typefs/nfs/blocklayout/blocklayout.c:442: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:445: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:445: error: dereferencing pointer to incomplete typefs/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 castfs/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 1In file included from
include/linux/raid/pq.h:20,
fromlib/raid6/algos.c:19:include/linux/blkdev.h:1346: warning: 'structtask_struct' declared inside parameter listinclude/linux/blkdev.h:1346: warning: its scope is only this definition or declaration, which is probably not what you wantinclude/linux/blkdev.h:1350: warning: 'structtask_struct' declared inside parameter listinclude/linux/blkdev.h:1355: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'blk_needs_flush_plug' In file included fromlib/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 castlib/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 constantlib/raid6/algos.c:153: warning: data definition has no type or storage classlib/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 prototypelib/raid6/algos.c:154: error: expected declaration specifiers or '...' before string constantlib/raid6/algos.c:154: warning: data definition has no type or storage classlib/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 1In file included from
drivers/md/linear.c:19:include/linux/blkdev.h:1346: warning: 'structtask_struct' declared inside parameter listinclude/linux/blkdev.h:1346: warning: its scope is only this definition or declaration, which is probably not what you wantinclude/linux/blkdev.h:1350: warning: 'structtask_struct' declared inside parameter listinclude/linux/blkdev.h:1355: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'blk_needs_flush_plug' In file included fromdrivers/md/linear.c:23:drivers/md/md.h: In function 'md_sync_acct':drivers/md/md.h:418: error: dereferencing pointer to incomplete typedrivers/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 fromdrivers/md/linear.c:24:drivers/md/linear.h: At top level:drivers/md/linear.h:15: error: field 'rcu' has incomplete typedrivers/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 castdrivers/md/linear.c: At top level:drivers/md/linear.c:64: warning: 'structbvec_merge_data' declared inside parameter listdrivers/md/linear.c: In function 'linear_mergeable_bvec':drivers/md/linear.c:66: error: dereferencing pointer to incomplete typedrivers/md/linear.c:68: error: dereferencing pointer to incomplete typedrivers/md/linear.c:69: error: dereferencing pointer to incomplete typedrivers/md/linear.c:69: error: implicit declaration of function 'get_start_sect'drivers/md/linear.c:69: error: dereferencing pointer to incomplete typedrivers/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 typedrivers/md/linear.c: In function 'linear_congested':drivers/md/linear.c:100: warning: assignment makes pointer from integer without a castdrivers/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 castdrivers/md/linear.c:104: error: implicit declaration of function 'bdi_congested'drivers/md/linear.c:104: error: dereferencing pointer to incomplete typedrivers/md/linear.c: In function 'linear_size':drivers/md/linear.c:117: warning: assignment makes pointer from integer without a castdrivers/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 typedrivers/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 typedrivers/md/linear.c:212: error: dereferencing pointer to incomplete typedrivers/md/linear.c: In function 'linear_add':drivers/md/linear.c:238: warning: assignment makes pointer from integer without a castdrivers/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 typedrivers/md/linear.c:272: error: 'REQ_FLUSH' undeclared (first use in this function)drivers/md/linear.c:278: error: dereferencing pointer to incomplete typedrivers/md/linear.c:282: error: dereferencing pointer to incomplete typedrivers/md/linear.c:282: error: dereferencing pointer to incomplete typedrivers/md/linear.c:284: error: 'BDEVNAME_SIZE' undeclared (first use in this function)drivers/md/linear.c:290: error: dereferencing pointer to incomplete typedrivers/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 typedrivers/md/linear.c:298: error: dereferencing pointer to incomplete typedrivers/md/linear.c:308: error: implicit declaration of function 'bio_split'drivers/md/linear.c:308: error: dereferencing pointer to incomplete typedrivers/md/linear.c:308: warning: assignment makes pointer from integer without a castdrivers/md/linear.c:310: error: dereferencing pointer to incomplete typedrivers/md/linear.c:311: error: implicit declaration of function 'generic_make_request'drivers/md/linear.c:311: error: dereferencing pointer to incomplete typedrivers/md/linear.c:312: error: dereferencing pointer to incomplete typedrivers/md/linear.c:313: error: dereferencing pointer to incomplete typedrivers/md/linear.c:314: error: implicit declaration of function 'bio_pair_release'drivers/md/linear.c:318: error: dereferencing pointer to incomplete typedrivers/md/linear.c:319: error: dereferencing pointer to incomplete typedrivers/md/linear.c:319: error: dereferencing pointer to incomplete typedrivers/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 constantdrivers/md/linear.c:359: warning: data definition has no type or storage classdrivers/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 prototypedrivers/md/linear.c:360: error: expected declaration specifiers or '...' before string constantdrivers/md/linear.c:360: warning: data definition has no type or storage classdrivers/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 prototypedrivers/md/linear.c:361: error: expected declaration specifiers or '...' before string constantdrivers/md/linear.c:361: warning: data definition has no type or storage classdrivers/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 prototypedrivers/md/linear.c:362: error: expected declaration specifiers or '...' before string constantdrivers/md/linear.c:362: warning: data definition has no type or storage classdrivers/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 prototypedrivers/md/linear.c:363: error: expected declaration specifiers or '...' before string constantdrivers/md/linear.c:363: warning: data definition has no type or storage classdrivers/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
Quoted 8 lines
---
~Randy
*** Remember to useDocumentation/SubmitChecklistwhen testing your code *** --
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Quoted 11 lines · On Thu, 11 Aug 2011 08:35:50 +0800 Peng Tao wrote:
Quoted 3 lines · Randy Dunlap
When
CONFIG_BLOCKis not enabled (x86_64):warning: (
NFS_V4_1) selects MD which has unmet direct dependencies (BLOCK)MD depends on BLOCK but when MD is selected, it will not select BLOCK. Selecting BLOCK at
NFS_V4_1can solve this but it's like resolving dependency from top down.Is MD designed to not be selected from the first place? If not, can we change it to selecting BLOCK?
Hopefully MD will not select BLOCK.
The blocklayout parts of NVS_V4_1 could depend on BLOCK. or all of NVS_V4_1 can depend on BLOCK.
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Quoted 3 lines · Randy Dunlap
The blocklayout parts of
NVS_V4_1could depend on BLOCK. or all ofNVS_V4_1can depend on BLOCK.
Absolutely. Replace "could" by "should".
There's no way I'll take a patch to make NFS "select BLOCK". If the block layer isn't enabled, then NFS obviously shouldn't be doing any pnfs stuff.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Hi, Randy and Linus
Quoted 11 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Linus Torvalds
Sent: Thursday, August 11, 2011 9:10 AM
To: Randy Dunlap
Cc: Peng Tao; Trond Myklebust; [email protected]; Linux Kernel Mailing List; [email protected]
Subject: Re: Linux 3.1-rc1 (nfs/pnfs anddrivers/md)Quoted 1 line · Randy Dunlap
Quoted 8 lines
Quoted 2 lines
The blocklayout parts of
NVS_V4_1could depend on BLOCK. or all ofNVS_V4_1can depend on BLOCK.Absolutely. Replace "could" by "should".
There's no way I'll take a patch to make NFS "select BLOCK". If the block layer isn't enabled, then NFS obviously shouldn't be doing any pnfs stuff.
I see. How about the following patch? We used to do like following for PNFS_BLOCK but it was changed during code review.
From 833b59c1d24b43a9a4d47f777abab2cd9d041c68 Mon Sep 17 00:00:00 2001
From: Peng Tao <[email protected]>
Date: Wed, 10 Aug 2011 18:29:21 -0400
Subject: [PATCH] NFS41: make PNFS_BLOCK selectable
PNFS_BLOCK needs BLK_DEV_DM/MD, which is not a dependency for other pnfs layout drivers. Seperate it out so others can still build when BLK_DEV_DM/MD is not enabled.
Also change select to depends on to avoid build failures.
--- fs/nfs/Kconfig | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-)
fs/nfs/Kconfig +9 -5
@@ -79,12 +79,9 @@ config NFS_V4_1 depends on NFS_FS && NFS_V4 && EXPERIMENTAL select SUNRPC_BACKCHANNEL select PNFS_FILE_LAYOUT - select PNFS_BLOCK - select MD - select BLK_DEV_DM help This option enables support for minor version 1 of the NFSv4 protocol - (RFC 5661 and RFC 5663) in the kernel's NFS client. + (RFC 5661) in the kernel's NFS client. If unsure, say N.
@@ -92,7 +89,14 @@ config PNFS_FILE_LAYOUT tristate config PNFS_BLOCK - tristate + tristate "Provide support for the pNFS Block Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM + help + Say M here if you want your pNFS client to support the Block Layout Driver + (RFC 5663). Requires Multiple devices driver support (DM) and Device mapper + support (BLK_DEV_DM). + + If unsure, say N. config PNFS_OBJLAYOUT tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)"
Signature · 8 lines
1.7.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Note that the object layout also effectively needs the block layer.
RE: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Quoted 11 lines
-----Original Message-----
From: Christoph Hellwig [mailto:[email protected]]
Sent: Thursday, August 11, 2011 2:07 PM
To: Peng, Tao
Cc: torvalds-de/[email protected]; rdunlap-/[email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: Linux 3.1-rc1 (nfs/pnfs anddrivers/md)Note that the object layout also effectively needs the block layer.
That is taken care of by PNFS_OBJLAYOUT depending on SCSI_OSD_ULD.
The dependency chain for PNFS_OBJLAYOUT on BLOCK is:
PNFS_OBJLAYOUT-> SCSI_OSD_ULD -> SCSI_OSD_INITIATOR -> SCSI-> BLOCK
With the patch, if CONFIG_BLOCK is not set, pnfs file layout can still be built.
Thanks,
Tao
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
In reply to [email protected]Quoted 16 lines · On 2011-08-11 06:26, [email protected] wrote:
Hi, Randy and Linus
Quoted 14 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Linus Torvalds
Sent: Thursday, August 11, 2011 9:10 AM
To: Randy Dunlap
Cc: Peng Tao; Trond Myklebust; [email protected]; Linux Kernel Mailing List; [email protected]
Subject: Re: Linux 3.1-rc1 (nfs/pnfs anddrivers/md)Quoted 3 lines · Randy Dunlap
The blocklayout parts of
NVS_V4_1could depend on BLOCK. or all ofNVS_V4_1can depend on BLOCK.
Quoted 6 lines
Quoted 5 lines
Absolutely. Replace "could" by "should".
There's no way I'll take a patch to make NFS "select BLOCK". If the block layer isn't enabled, then NFS obviously shouldn't be doing any pnfs stuff.
I see. How about the following patch? We used to do like following for
PNFS_BLOCKbut it was changed during code review.
My Ack, that's indeed closer to what I had queued in my tree originally and follows the approach we used for the objects layout driver.
Benny
Quoted 43 lines
From
833b59c1d24b43a9a4d47f777abab2cd9d041c68Mon Sep 17 00:00:00 2001
From: Peng Tao <[email protected]>
Date: Wed, 10 Aug 2011 18:29:21 -0400
Subject: [PATCH] NFS41: makePNFS_BLOCKselectable
PNFS_BLOCKneeds BLK_DEV_DM/MD, which is not a dependency for other pnfs layout drivers. Seperate it out so others can still build when BLK_DEV_DM/MD is not enabled.Also change select to depends on to avoid build failures.
Reported-by Randy Dunlap <rdunlap-/[email protected]>Signed-off-by Peng Tao <[email protected]>--- fs/nfs/Kconfig | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-)fs/nfs/Kconfig +2
-5@@ -79,12 +79,9 @@ config NFS_V4_1 depends on NFS_FS && NFS_V4 && EXPERIMENTAL select SUNRPC_BACKCHANNEL select PNFS_FILE_LAYOUT - select PNFS_BLOCK - select MD - select BLK_DEV_DM help This option enables support for minor version 1 of the NFSv4 protocol - (RFC 5661 and RFC 5663) in the kernel's NFS client. + (RFC 5661) in the kernel's NFS client. If unsure, say N.@@ -92,7 +89,14 @@ config PNFS_FILE_LAYOUT tristate config PNFS_BLOCK - tristate + tristate "Provide support for the pNFS Block Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)"
fs/nfs/Kconfig config PNFS_FILE_LAYOUT · line 102
Quoted 10 lines
fs/nfs/Kconfig +7
-0+ depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM + help + Say M here if you want your pNFS client to support the Block Layout Driver + (RFC 5663). Requires Multiple devices driver support (DM) and Device mapper + support (BLK_DEV_DM). + + If unsure, say N. config PNFS_OBJLAYOUT tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)"
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Quoted 7 lines · Benny Halevy
On 2011-08-11 06:26, [email protected] wrote:
My Ack, that's indeed closer to what I had queued in my tree originally and follows the approach we used for the objects layout driver.
Benny
Yes but this breaks "Sorin"'s conspiracy to sneak into readhat the block layout driver. Because it would be selected automatically if you set CONFIG_NFS41.
Because for some perverted reason readhat wants pNFS-Files in, with latest patches, but not the blocks or objects. I liked it that Blocks tried to state: "pNFS is with blocks as well". Even Trond agreed that it is logical this way.
You select CONFIG_NFS41 or not. objects and blocks are a part of that, mandated by the protocol.
(I don't know that it was "Sorin"'s Idea, I meant the block guys)
I wish we can go back to the auto selection but fix the dependency stuff. Surly it is possible.
Thanks
Boaz
PATCH 1/1 pnfs: Automatically select blocks & objects layouts
What about the below? based on v3.1-rc1
----
From: Boaz Harrosh <[email protected]>
Subject: [PATCH] pnfs: Automatically select blocks & objects layouts
Just like files-layout, blocks & objects layouts are part of the NFS 4.1 protocol and should be automatically selected if NFS_4_1 is selected. The small problem is that these depend on other Kernel support being present, while files only depends on NFS itself.
This patch removes from the user choice the presence of objects and blocks layout. But makes sure these are selected only if the depended subsystems are present in the Kernel.
--- fs/nfs/Kconfig | 14 ++++---------- 1 files changed, 4 insertions(+), 10 deletions(-)
fs/nfs/Kconfig +4 -10
@@ -79,9 +79,6 @@ config NFS_V4_1 depends on NFS_FS && NFS_V4 && EXPERIMENTAL select SUNRPC_BACKCHANNEL select PNFS_FILE_LAYOUT - select PNFS_BLOCK - select MD - select BLK_DEV_DM help This option enables support for minor version 1 of the NFSv4 protocol (RFC 5661 and RFC 5663) in the kernel's NFS client.
@@ -93,16 +90,13 @@ config PNFS_FILE_LAYOUT config PNFS_BLOCK tristate + depends on NFS_FS && NFS_V4_1 && MD && BLK_DEV_DM + default m config PNFS_OBJLAYOUT - tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD - help - Say M here if you want your pNFS client to support the Objects Layout Driver. - Requires the SCSI osd initiator library (SCSI_OSD_INITIATOR) and - upper level driver (SCSI_OSD_ULD). - - If unsure, say N. + default m config ROOT_NFS bool "Root file system on NFS"
Signature · 7 lines
1.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH v2 1/1 pnfs: Automatically select blocks & objects layouts
Just like files-layout, blocks & objects layouts are part of the NFS 4.1 protocol and should be automatically selected if NFS_4_1 is selected. The small problem is that these depend on other Kernel support being present, while files only depends on NFS itself.
This patch removes from the user choice the presence of objects and blocks layout. But makes sure these are selected only if the depended subsystems are present in the Kernel.
--- fs/nfs/Kconfig | 18 ++++-------------- 1 files changed, 4 insertions(+), 14 deletions(-)
fs/nfs/Kconfig +4 -14
@@ -89,24 +89,14 @@ config PNFS_FILE_LAYOUT tristate config PNFS_BLOCK - tristate "Provide support for the pNFS Block Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM - help - Say M here if you want your pNFS client to support the Block Layout Driver - (RFC 5663). Requires Multiple devices driver support (DM) and Device mapper - support (BLK_DEV_DM). - - If unsure, say N. + default m config PNFS_OBJLAYOUT - tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD - help - Say M here if you want your pNFS client to support the Objects Layout Driver. - Requires the SCSI osd initiator library (SCSI_OSD_INITIATOR) and - upper level driver (SCSI_OSD_ULD). - - If unsure, say N. + default m config ROOT_NFS bool "Root file system on NFS"
Signature · 1 line
1.7.6
Re: [PATCH v2] pnfs: Automatically select blocks & objects layouts
Quoted 7 lines · On Thu, 11 Aug 2011 14:29:25 -0700 Boaz Harrosh wrote:
Just like files-layout, blocks & objects layouts are part of the NFS 4.1 protocol and should be automatically selected if
NFS_4_1is selected. The small problem is that these depend on other Kernel support being present, while files only depends on NFS itself.
Quoted 5 lines
This patch removes from the user choice the presence of objects and blocks layout. But makes sure these are selected only if the depended subsystems are present in the Kernel.
Signed-off-by Boaz Harrosh <[email protected]>
v1 applied & built OK for me.
v2 didn't apply to linux-3.1-rc1 cleanly, but I think I got it right. Maybe not. I got all of this from it:
warning: (NFS_V4_1) selects MD which has unmet direct dependencies (BLOCK)
CC [M] fs/nfs/blocklayout/blocklayout.o
CC [M] fs/nfs/blocklayout/extents.o
In file included from fs/nfs/blocklayout/blocklayout.h:35,
from fs/nfs/blocklayout/extents.c:33:include/linux/device-mapper.h:49: warning: 'struct bio' declared inside parameter list include/linux/device-mapper.h:49: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/device-mapper.h:51: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:63: warning: 'struct bio' declared inside parameter list include/linux/device-mapper.h:66: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:83: warning: 'struct bvec_merge_data' declared inside parameter list include/linux/device-mapper.h:95: warning: 'struct queue_limits' declared inside parameter list include/linux/device-mapper.h:300: warning: 'struct bio' declared inside parameter list include/linux/device-mapper.h:301: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:475: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:476: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:477: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:478: warning: 'struct request_queue' declared inside parameter list
In file included from fs/nfs/blocklayout/blocklayout.h:35,
from fs/nfs/blocklayout/blocklayout.c:40:include/linux/device-mapper.h:49: warning: 'struct bio' declared inside parameter list include/linux/device-mapper.h:49: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/device-mapper.h:51: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:63: warning: 'struct bio' declared inside parameter list include/linux/device-mapper.h:66: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:83: warning: 'struct bvec_merge_data' declared inside parameter list include/linux/device-mapper.h:95: warning: 'struct queue_limits' declared inside parameter list include/linux/device-mapper.h:300: warning: 'struct bio' declared inside parameter list include/linux/device-mapper.h:301: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:475: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:476: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:477: warning: 'struct request' declared inside parameter list include/linux/device-mapper.h:478: warning: 'struct request_queue' declared inside parameter list 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: (Each undeclared identifier is reported only once fs/nfs/blocklayout/blocklayout.c:193: error: for each function it appears in.) 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
and more errors in drivers/md/
Quoted 28 lines
--- fs/nfs/Kconfig | 18 ++++-------------- 1 files changed, 4 insertions(+), 14 deletions(-)fs/nfs/Kconfig +3
-8@@ -89,24 +89,14 @@ config PNFS_FILE_LAYOUT tristate config PNFS_BLOCK - tristate "Provide support for the pNFS Block Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM - help - Say M here if you want your pNFS client to support the Block Layout Driver - (RFC 5663). Requires Multiple devices driver support (DM) and Device mapper - support (BLK_DEV_DM). - - If unsure, say N. + default m config PNFS_OBJLAYOUT - tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD
fs/nfs/Kconfig config PNFS_FILE_LAYOUT · line 102
Quoted 10 lines
fs/nfs/Kconfig +1
-6- help - Say M here if you want your pNFS client to support the Objects Layout Driver. - Requires the SCSI osd initiator library (SCSI_OSD_INITIATOR) and - upper level driver (SCSI_OSD_ULD). - - If unsure, say N. + default m config ROOT_NFS bool "Root file system on NFS"
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Re: [PATCH v2] pnfs: Automatically select blocks & objects layouts
Quoted 9 lines · Randy Dunlap
Quoted 7 lines · On Thu, 11 Aug 2011 14:29:25 -0700 Boaz Harrosh wrote:
Just like files-layout, blocks & objects layouts are part of the NFS 4.1 protocol and should be automatically selected if
NFS_4_1is selected. The small problem is that these depend on other Kernel support being present, while files only depends on NFS itself.
Quoted 7 lines
Quoted 5 lines
This patch removes from the user choice the presence of objects and blocks layout. But makes sure these are selected only if the depended subsystems are present in the Kernel.
Signed-off-by Boaz Harrosh <[email protected]>v1 applied & built OK for me.
Sorry about the mixup, my bad
v1 is the one you need for linux-3.1-rc1.
Quoted 1 line
v2 didn't apply to linux-3.1-rc1 cleanly, but I think I got it right.
v2 should apply cleanly ontop of linus/master as off:
1d229d5 Merge branch 'perf-urgent-for-linus'
Because of the other patch already submitted by Linus.
The result of the two patches should give you the same exact Kconfig file. Just applied on two different tips.
Again sorry!
Boaz
Quoted 143 lines
Maybe not. I got all of this from it:
warning: (
NFS_V4_1) selects MD which has unmet direct dependencies (BLOCK)
CC [M]fs/nfs/blocklayout/blocklayout.o
CC [M]fs/nfs/blocklayout/extents.o
In file included fromfs/nfs/blocklayout/blocklayout.h:35,
fromfs/nfs/blocklayout/extents.c:33:include/linux/device-mapper.h:49: warning: 'struct bio' declared inside parameter listinclude/linux/device-mapper.h:49: warning: its scope is only this definition or declaration, which is probably not what you wantinclude/linux/device-mapper.h:51: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:63: warning: 'struct bio' declared inside parameter listinclude/linux/device-mapper.h:66: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:83: warning: 'structbvec_merge_data' declared inside parameter listinclude/linux/device-mapper.h:95: warning: 'structqueue_limits' declared inside parameter listinclude/linux/device-mapper.h:300: warning: 'struct bio' declared inside parameter listinclude/linux/device-mapper.h:301: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:475: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:476: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:477: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:478: warning: 'structrequest_queue' declared inside parameter list
In file included fromfs/nfs/blocklayout/blocklayout.h:35,
fromfs/nfs/blocklayout/blocklayout.c:40:include/linux/device-mapper.h:49: warning: 'struct bio' declared inside parameter listinclude/linux/device-mapper.h:49: warning: its scope is only this definition or declaration, which is probably not what you wantinclude/linux/device-mapper.h:51: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:63: warning: 'struct bio' declared inside parameter listinclude/linux/device-mapper.h:66: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:83: warning: 'structbvec_merge_data' declared inside parameter listinclude/linux/device-mapper.h:95: warning: 'structqueue_limits' declared inside parameter listinclude/linux/device-mapper.h:300: warning: 'struct bio' declared inside parameter listinclude/linux/device-mapper.h:301: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:475: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:476: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:477: warning: 'struct request' declared inside parameter listinclude/linux/device-mapper.h:478: warning: 'structrequest_queue' declared inside parameter listfs/nfs/blocklayout/blocklayout.c: In function 'bl_submit_bio':fs/nfs/blocklayout/blocklayout.c:132: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:133: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:133: error: dereferencing pointer to incomplete typefs/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 castfs/nfs/blocklayout/blocklayout.c:152: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:153: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:154: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:155: error: dereferencing pointer to incomplete typefs/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 typefs/nfs/blocklayout/blocklayout.c:193: error: 'BIO_UPTODATE' undeclared (first use in this function)fs/nfs/blocklayout/blocklayout.c:193: error: (Each undeclared identifier is reported only oncefs/nfs/blocklayout/blocklayout.c:193: error: for each function it appears in.)fs/nfs/blocklayout/blocklayout.c:193: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:193: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:194: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:194: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:198: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:200: error: decrement of pointer to unknown structurefs/nfs/blocklayout/blocklayout.c:200: error: arithmetic on pointer to an incomplete typefs/nfs/blocklayout/blocklayout.c:200: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:201: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:204: error: dereferencing pointer to incomplete typefs/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 typefs/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 typefs/nfs/blocklayout/blocklayout.c:356: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:357: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:357: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:361: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:363: error: decrement of pointer to unknown structurefs/nfs/blocklayout/blocklayout.c:363: error: arithmetic on pointer to an incomplete typefs/nfs/blocklayout/blocklayout.c:363: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:364: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:368: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_write':fs/nfs/blocklayout/blocklayout.c:381: error: dereferencing pointer to incomplete typefs/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 typefs/nfs/blocklayout/blocklayout.c:382: error: dereferencing pointer to incomplete typefs/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 typefs/nfs/blocklayout/blocklayout.c:442: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:445: error: dereferencing pointer to incomplete typefs/nfs/blocklayout/blocklayout.c:445: error: dereferencing pointer to incomplete typefs/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 castfs/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 1and more errors in
drivers/md/Quoted 28 lines
--- fs/nfs/Kconfig | 18 ++++-------------- 1 files changed, 4 insertions(+), 14 deletions(-)fs/nfs/Kconfig +3
-8@@ -89,24 +89,14 @@ config PNFS_FILE_LAYOUT tristate config PNFS_BLOCK - tristate "Provide support for the pNFS Block Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM - help - Say M here if you want your pNFS client to support the Block Layout Driver - (RFC 5663). Requires Multiple devices driver support (DM) and Device mapper - support (BLK_DEV_DM). - - If unsure, say N. + default m config PNFS_OBJLAYOUT - tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + tristate depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULDfs/nfs/Kconfig config PNFS_FILE_LAYOUT · line 102
Quoted 10 lines
fs/nfs/Kconfig +1
-6- help - Say M here if you want your pNFS client to support the Objects Layout Driver. - Requires the SCSI osd initiator library (SCSI_OSD_INITIATOR) and - upper level driver (SCSI_OSD_ULD). - - If unsure, say N. + default m config ROOT_NFS bool "Root file system on NFS"---
~Randy
*** Remember to useDocumentation/SubmitChecklistwhen testing your code ***
Re: [PATCH] pnfs: Automatically select blocks & objects layouts
In reply to Boaz HarroshBoaz Harrosh wrote:
What about the below? based on v3.1-rc1
----
From: Boaz Harrosh <[email protected]>
Subject: [PATCH] pnfs: Automatically select blocks & objects layouts
Just like files-layout, blocks & objects layouts are part of the NFS 4.1 protocol and should be automatically selected if NFS_4_1 is selected. The small problem is that these depend on other Kernel support being present, while files only depends on NFS itself.
This patch removes from the user choice the presence of objects and blocks layout. But makes sure these are selected only if the depended subsystems are present in the Kernel.
I think this is what we want. There is no point allowing the user to pick and choose various layout drivers. If they have selected nfs4.1 they should get all the layout drivers their kernel will support, based on the dependencies.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Peng Tao
Acked-byRe: [PATCH] pnfs: Automatically select blocks & objects layouts
Quoted 18 lines · Jim Rees
Boaz Harrosh wrote:
What about the below? based on v3.1-rc1
----
From: Boaz Harrosh <[email protected]>
Subject: [PATCH] pnfs: Automatically select blocks & objects layoutsJust like files-layout, blocks & objects layouts are part of the NFS 4.1 protocol and should be automatically selected if
NFS_4_1is selected. The small problem is that these depend on other Kernel support being present, while files only depends on NFS itself.This patch removes from the user choice the presence of objects and blocks layout. But makes sure these are selected only if the depended subsystems are present in the Kernel.
Quoted 9 lines
Signed-off-by Boaz Harrosh <[email protected]>Acked-by Jim Rees <[email protected]>I think this is what we want. There is no point allowing the user to pick and choose various layout drivers. If they have selected nfs4.1 they should get all the layout drivers their kernel will support, based on the dependencies.
I agree automatically selecting is more reasonable.
Signature · 6 lines
Thanks, -Bergwolf -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Randy Dunlap
Acked-byRe: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
In reply to [email protected]Quoted 16 lines · On Wed, 10 Aug 2011 23:26:47 -0400 [email protected] wrote:
Hi, Randy and Linus
Quoted 14 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Linus Torvalds
Sent: Thursday, August 11, 2011 9:10 AM
To: Randy Dunlap
Cc: Peng Tao; Trond Myklebust; [email protected]; Linux Kernel Mailing List; [email protected]
Subject: Re: Linux 3.1-rc1 (nfs/pnfs anddrivers/md)Quoted 3 lines · Randy Dunlap
The blocklayout parts of
NVS_V4_1could depend on BLOCK. or all ofNVS_V4_1can depend on BLOCK.
Quoted 6 lines
Quoted 5 lines
Absolutely. Replace "could" by "should".
There's no way I'll take a patch to make NFS "select BLOCK". If the block layer isn't enabled, then NFS obviously shouldn't be doing any pnfs stuff.
I see. How about the following patch? We used to do like following for
PNFS_BLOCKbut it was changed during code review.
Yes, that builds cleanly for me. Thanks.
Quoted 56 lines
From
833b59c1d24b43a9a4d47f777abab2cd9d041c68Mon Sep 17 00:00:00 2001
From: Peng Tao <[email protected]>
Date: Wed, 10 Aug 2011 18:29:21 -0400
Subject: [PATCH] NFS41: makePNFS_BLOCKselectable
PNFS_BLOCKneeds BLK_DEV_DM/MD, which is not a dependency for other pnfs layout drivers. Seperate it out so others can still build when BLK_DEV_DM/MD is not enabled.Also change select to depends on to avoid build failures.
Reported-by Randy Dunlap <[email protected]>Signed-off-by Peng Tao <[email protected]>--- fs/nfs/Kconfig | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-)fs/nfs/Kconfig +9
-5@@ -79,12 +79,9 @@ config NFS_V4_1 depends on NFS_FS && NFS_V4 && EXPERIMENTAL select SUNRPC_BACKCHANNEL select PNFS_FILE_LAYOUT - select PNFS_BLOCK - select MD - select BLK_DEV_DM help This option enables support for minor version 1 of the NFSv4 protocol - (RFC 5661 and RFC 5663) in the kernel's NFS client. + (RFC 5661) in the kernel's NFS client. If unsure, say N.@@ -92,7 +89,14 @@ config PNFS_FILE_LAYOUT tristate config PNFS_BLOCK - tristate + tristate "Provide support for the pNFS Block Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)" + depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM + help + Say M here if you want your pNFS client to support the Block Layout Driver + (RFC 5663). Requires Multiple devices driver support (DM) and Device mapper + support (BLK_DEV_DM). + + If unsure, say N. config PNFS_OBJLAYOUT tristate "Provide support for the pNFS Objects Layout Driver for NFSv4.1 pNFS (EXPERIMENTAL)"Signature · 1 line
1.7.4.2
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code *** --
To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html