On Tue, 30 Jul 2013, Peng Tao wrote: > On Tue, Jul 30, 2013 at 8:29 AM, Xiong Zhou <jencce.kernel@xxxxxxxxx> wrote: > > From: Xiong Zhou <jencce.kernel@xxxxxxxxx> > > > > In the lustre client driver, lloop depends on BLOCK. Add an > > option for this dependence. Last version of this patch makes > > LUSTRE_FS depends on BLOCK. > > Remove unnecessary jdb head files which depends on BLOCK. > > > Thanks for the patch. One minor comment below. Other than that, you can add > Reviewed-by: Peng Tao <tao.peng@xxxxxxx> > > > Signed-off-by: Xiong Zhou <jencce.kernel@xxxxxxxxx> > > --- > > drivers/staging/lustre/lustre/Kconfig | 7 ++++++- > > drivers/staging/lustre/lustre/fld/fld_cache.c | 1 - > > drivers/staging/lustre/lustre/fld/fld_request.c | 1 - > > .../lustre/lustre/include/linux/lustre_compat25.h | 2 ++ > > drivers/staging/lustre/lustre/llite/Makefile | 2 +- > > drivers/staging/lustre/lustre/lvfs/fsfilt.c | 1 - > > 6 files changed, 9 insertions(+), 5 deletions(-) > > > > #define TREE_READ_UNLOCK_IRQ(mapping) spin_unlock_irq(&(mapping)->tree_lock) > > > > +#ifdef CONFIG_BLOCK > > static inline > > int ll_unregister_blkdev(unsigned int dev, const char *name) > It is better to remove the wrapper and just call unregister_blkdev in > lloop.c. The wrapper exists to support old kernels in Lustre master > but doesn't make sense in upstream kernel. > > Thanks, > Tao > Good comment, Thanks for the review. From: Xiong Zhou <jencce.kernel@xxxxxxxxx> First version of this patch makes LUSTRE_FS depends on BLOCK. Second version makes only lloop depends on BLOCK with a config option for this dependence, and remove unnecessary jdb header files which depends on BLOCK. This version removes the wrapper ll_unregister_blkdev which depends on BLOCK in header and just call unregister_blkdev in lloop.c based on Peng Tao's comment. Signed-off-by: Xiong Zhou <jencce.kernel@xxxxxxxxx> Reviewed-by: Peng Tao <tao.peng@xxxxxxx> --- drivers/staging/lustre/lustre/Kconfig | 7 ++++++- drivers/staging/lustre/lustre/fld/fld_cache.c | 1 - drivers/staging/lustre/lustre/fld/fld_request.c | 1 - .../lustre/lustre/include/linux/lustre_compat25.h | 7 ------- drivers/staging/lustre/lustre/llite/Makefile | 2 +- drivers/staging/lustre/lustre/llite/lloop.c | 6 ++---- drivers/staging/lustre/lustre/lvfs/fsfilt.c | 1 - 7 files changed, 9 insertions(+), 16 deletions(-) diff --git a/drivers/staging/lustre/lustre/Kconfig b/drivers/staging/lustre/lustre/Kconfig index 0b45de0..4e898e4 100644 --- a/drivers/staging/lustre/lustre/Kconfig +++ b/drivers/staging/lustre/lustre/Kconfig @@ -1,6 +1,6 @@ config LUSTRE_FS tristate "Lustre file system client support" - depends on STAGING && INET && BLOCK && m + depends on INET && m select LNET select CRYPTO select CRYPTO_CRC32 @@ -53,3 +53,8 @@ config LUSTRE_TRANSLATE_ERRNOS bool depends on LUSTRE_FS && !X86 default true + +config LUSTRE_LLITE_LLOOP + bool "Lustre virtual block device" + depends on LUSTRE_FS && BLOCK + default m diff --git a/drivers/staging/lustre/lustre/fld/fld_cache.c b/drivers/staging/lustre/lustre/fld/fld_cache.c index 347f2ae..8410107 100644 --- a/drivers/staging/lustre/lustre/fld/fld_cache.c +++ b/drivers/staging/lustre/lustre/fld/fld_cache.c @@ -45,7 +45,6 @@ # include <linux/libcfs/libcfs.h> # include <linux/module.h> -# include <linux/jbd.h> # include <asm/div64.h> #include <obd.h> diff --git a/drivers/staging/lustre/lustre/fld/fld_request.c b/drivers/staging/lustre/lustre/fld/fld_request.c index c99b945..049322a 100644 --- a/drivers/staging/lustre/lustre/fld/fld_request.c +++ b/drivers/staging/lustre/lustre/fld/fld_request.c @@ -44,7 +44,6 @@ # include <linux/libcfs/libcfs.h> # include <linux/module.h> -# include <linux/jbd.h> # include <asm/div64.h> #include <obd.h> diff --git a/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h b/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h index 426533b..018e604 100644 --- a/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h +++ b/drivers/staging/lustre/lustre/include/linux/lustre_compat25.h @@ -111,13 +111,6 @@ static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt, #define TREE_READ_LOCK_IRQ(mapping) spin_lock_irq(&(mapping)->tree_lock) #define TREE_READ_UNLOCK_IRQ(mapping) spin_unlock_irq(&(mapping)->tree_lock) -static inline -int ll_unregister_blkdev(unsigned int dev, const char *name) -{ - unregister_blkdev(dev, name); - return 0; -} - #define ll_invalidate_bdev(a,b) invalidate_bdev((a)) #ifndef FS_HAS_FIEMAP diff --git a/drivers/staging/lustre/lustre/llite/Makefile b/drivers/staging/lustre/lustre/llite/Makefile index dff0c04..f493e07 100644 --- a/drivers/staging/lustre/lustre/llite/Makefile +++ b/drivers/staging/lustre/lustre/llite/Makefile @@ -1,5 +1,5 @@ obj-$(CONFIG_LUSTRE_FS) += lustre.o -obj-$(CONFIG_LUSTRE_FS) += llite_lloop.o +obj-$(CONFIG_LUSTRE_LLITE_LLOOP) += llite_lloop.o lustre-y := dcache.o dir.o file.o llite_close.o llite_lib.o llite_nfs.o \ rw.o lproc_llite.o namei.o symlink.o llite_mmap.o \ xattr.o remote_perm.o llite_rmtacl.o llite_capa.o \ diff --git a/drivers/staging/lustre/lustre/llite/lloop.c b/drivers/staging/lustre/lustre/llite/lloop.c index e063efc..ae3dc9d 100644 --- a/drivers/staging/lustre/lustre/llite/lloop.c +++ b/drivers/staging/lustre/lustre/llite/lloop.c @@ -848,10 +848,8 @@ static void lloop_exit(void) blk_cleanup_queue(loop_dev[i].lo_queue); put_disk(disks[i]); } - if (ll_unregister_blkdev(lloop_major, "lloop")) - CWARN("lloop: cannot unregister blkdev\n"); - else - CDEBUG(D_CONFIG, "unregistered lloop major %d\n", lloop_major); + + unregister_blkdev(lloop_major, "lloop"); OBD_FREE(disks, max_loop * sizeof(*disks)); OBD_FREE(loop_dev, max_loop * sizeof(*loop_dev)); diff --git a/drivers/staging/lustre/lustre/lvfs/fsfilt.c b/drivers/staging/lustre/lustre/lvfs/fsfilt.c index 064445c..ce71f80 100644 --- a/drivers/staging/lustre/lustre/lvfs/fsfilt.c +++ b/drivers/staging/lustre/lustre/lvfs/fsfilt.c @@ -35,7 +35,6 @@ #define DEBUG_SUBSYSTEM S_FILTER #include <linux/fs.h> -#include <linux/jbd.h> _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel