Re: [lustre-devel] [PATCH 06/24] lustre: Convert to separately allocated bdi

2017-02-07 Thread Dilger, Andreas
On Feb 2, 2017, at 10:34, Jan Kara  wrote:
> 
> Allocate struct backing_dev_info separately instead of embedding it
> inside superblock. This unifies handling of bdi among users.
> 
> CC: Oleg Drokin 
> CC: Andreas Dilger 
> CC: James Simmons 
> CC: lustre-de...@lists.lustre.org
> Signed-off-by: Jan Kara 

Reviewed-by: Andreas Dilger 

> ---
> .../staging/lustre/lustre/include/lustre_disk.h|  4 
> drivers/staging/lustre/lustre/llite/llite_lib.c| 24 +++---
> 2 files changed, 3 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/staging/lustre/lustre/include/lustre_disk.h 
> b/drivers/staging/lustre/lustre/include/lustre_disk.h
> index 8886458748c1..a676bccabd43 100644
> --- a/drivers/staging/lustre/lustre/include/lustre_disk.h
> +++ b/drivers/staging/lustre/lustre/include/lustre_disk.h
> @@ -133,13 +133,9 @@ struct lustre_sb_info {
>   struct obd_export*lsi_osd_exp;
>   char  lsi_osd_type[16];
>   char  lsi_fstype[16];
> - struct backing_dev_info   lsi_bdi; /* each client mountpoint needs
> - * own backing_dev_info
> - */
> };
> 
> #define LSI_UMOUNT_FAILOVER 0x0020
> -#define LSI_BDI_INITIALIZED0x0040
> 
> #define s2lsi(sb) ((struct lustre_sb_info *)((sb)->s_fs_info))
> #define s2lsi_nocast(sb) ((sb)->s_fs_info)
> diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c 
> b/drivers/staging/lustre/lustre/llite/llite_lib.c
> index 25f5aed97f63..4f07d2e60d40 100644
> --- a/drivers/staging/lustre/lustre/llite/llite_lib.c
> +++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
> @@ -861,15 +861,6 @@ void ll_lli_init(struct ll_inode_info *lli)
>   mutex_init(>lli_layout_mutex);
> }
> 
> -static inline int ll_bdi_register(struct backing_dev_info *bdi)
> -{
> - static atomic_t ll_bdi_num = ATOMIC_INIT(0);
> -
> - bdi->name = "lustre";
> - return bdi_register(bdi, NULL, "lustre-%d",
> - atomic_inc_return(_bdi_num));
> -}
> -
> int ll_fill_super(struct super_block *sb, struct vfsmount *mnt)
> {
>   struct lustre_profile *lprof = NULL;
> @@ -879,6 +870,7 @@ int ll_fill_super(struct super_block *sb, struct vfsmount 
> *mnt)
>   char  *profilenm = get_profile_name(sb);
>   struct config_llog_instance *cfg;
>   interr;
> + static atomic_t ll_bdi_num = ATOMIC_INIT(0);
> 
>   CDEBUG(D_VFSTRACE, "VFS Op: sb %p\n", sb);
> 
> @@ -901,16 +893,11 @@ int ll_fill_super(struct super_block *sb, struct 
> vfsmount *mnt)
>   if (err)
>   goto out_free;
> 
> - err = bdi_init(>lsi_bdi);
> - if (err)
> - goto out_free;
> - lsi->lsi_flags |= LSI_BDI_INITIALIZED;
> - lsi->lsi_bdi.capabilities = 0;
> - err = ll_bdi_register(>lsi_bdi);
> + err = super_setup_bdi_name(sb, "lustre-%d",
> +atomic_inc_return(_bdi_num));
>   if (err)
>   goto out_free;
> 
> - sb->s_bdi = >lsi_bdi;
>   /* kernel >= 2.6.38 store dentry operations in sb->s_d_op. */
>   sb->s_d_op = _d_ops;
> 
> @@ -1031,11 +1018,6 @@ void ll_put_super(struct super_block *sb)
>   if (profilenm)
>   class_del_profile(profilenm);
> 
> - if (lsi->lsi_flags & LSI_BDI_INITIALIZED) {
> - bdi_destroy(>lsi_bdi);
> - lsi->lsi_flags &= ~LSI_BDI_INITIALIZED;
> - }
> -
>   ll_free_sbi(sb);
>   lsi->lsi_llsbi = NULL;
> 
> -- 
> 2.10.2
> 
> ___
> lustre-devel mailing list
> lustre-de...@lists.lustre.org
> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org

Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Intel Corporation









[PATCH 06/24] lustre: Convert to separately allocated bdi

2017-02-02 Thread Jan Kara
Allocate struct backing_dev_info separately instead of embedding it
inside superblock. This unifies handling of bdi among users.

CC: Oleg Drokin 
CC: Andreas Dilger 
CC: James Simmons 
CC: lustre-de...@lists.lustre.org
Signed-off-by: Jan Kara 
---
 .../staging/lustre/lustre/include/lustre_disk.h|  4 
 drivers/staging/lustre/lustre/llite/llite_lib.c| 24 +++---
 2 files changed, 3 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/lustre/lustre/include/lustre_disk.h 
b/drivers/staging/lustre/lustre/include/lustre_disk.h
index 8886458748c1..a676bccabd43 100644
--- a/drivers/staging/lustre/lustre/include/lustre_disk.h
+++ b/drivers/staging/lustre/lustre/include/lustre_disk.h
@@ -133,13 +133,9 @@ struct lustre_sb_info {
struct obd_export*lsi_osd_exp;
char  lsi_osd_type[16];
char  lsi_fstype[16];
-   struct backing_dev_info   lsi_bdi; /* each client mountpoint needs
-   * own backing_dev_info
-   */
 };
 
 #define LSI_UMOUNT_FAILOVER  0x0020
-#define LSI_BDI_INITIALIZED  0x0040
 
 #define s2lsi(sb)  ((struct lustre_sb_info *)((sb)->s_fs_info))
 #define s2lsi_nocast(sb) ((sb)->s_fs_info)
diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c 
b/drivers/staging/lustre/lustre/llite/llite_lib.c
index 25f5aed97f63..4f07d2e60d40 100644
--- a/drivers/staging/lustre/lustre/llite/llite_lib.c
+++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
@@ -861,15 +861,6 @@ void ll_lli_init(struct ll_inode_info *lli)
mutex_init(>lli_layout_mutex);
 }
 
-static inline int ll_bdi_register(struct backing_dev_info *bdi)
-{
-   static atomic_t ll_bdi_num = ATOMIC_INIT(0);
-
-   bdi->name = "lustre";
-   return bdi_register(bdi, NULL, "lustre-%d",
-   atomic_inc_return(_bdi_num));
-}
-
 int ll_fill_super(struct super_block *sb, struct vfsmount *mnt)
 {
struct lustre_profile *lprof = NULL;
@@ -879,6 +870,7 @@ int ll_fill_super(struct super_block *sb, struct vfsmount 
*mnt)
char  *profilenm = get_profile_name(sb);
struct config_llog_instance *cfg;
interr;
+   static atomic_t ll_bdi_num = ATOMIC_INIT(0);
 
CDEBUG(D_VFSTRACE, "VFS Op: sb %p\n", sb);
 
@@ -901,16 +893,11 @@ int ll_fill_super(struct super_block *sb, struct vfsmount 
*mnt)
if (err)
goto out_free;
 
-   err = bdi_init(>lsi_bdi);
-   if (err)
-   goto out_free;
-   lsi->lsi_flags |= LSI_BDI_INITIALIZED;
-   lsi->lsi_bdi.capabilities = 0;
-   err = ll_bdi_register(>lsi_bdi);
+   err = super_setup_bdi_name(sb, "lustre-%d",
+  atomic_inc_return(_bdi_num));
if (err)
goto out_free;
 
-   sb->s_bdi = >lsi_bdi;
/* kernel >= 2.6.38 store dentry operations in sb->s_d_op. */
sb->s_d_op = _d_ops;
 
@@ -1031,11 +1018,6 @@ void ll_put_super(struct super_block *sb)
if (profilenm)
class_del_profile(profilenm);
 
-   if (lsi->lsi_flags & LSI_BDI_INITIALIZED) {
-   bdi_destroy(>lsi_bdi);
-   lsi->lsi_flags &= ~LSI_BDI_INITIALIZED;
-   }
-
ll_free_sbi(sb);
lsi->lsi_llsbi = NULL;
 
-- 
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html