Re: [PATCH] ceph, libceph: add __init attribution to init funcitons

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> Sent: Wednesday, March 14, 2018 at 1:47 AM
> From: "Ilya Dryomov" <idryomov@xxxxxxxxx>
> To: "Chengguang Xu" <cgxu519@xxxxxxx>
> Cc: "Yan, Zheng" <zyan@xxxxxxxxxx>, "Ceph Development" <ceph-devel@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH] ceph, libceph: add __init attribution to init funcitons
>
> On Sat, Mar 10, 2018 at 1:32 PM, Chengguang Xu <cgxu519@xxxxxxx> wrote:
> > Add __init attribution to the functions which are called only once
> > during initiating/registering operations and deleting unnecessary
> > symbol exports.
> >
> > Signed-off-by: Chengguang Xu <cgxu519@xxxxxxx>
> > ---
> >  fs/ceph/cache.c       | 2 +-
> >  net/ceph/crypto.c     | 6 ++++--
> >  net/ceph/debugfs.c    | 7 ++-----
> >  net/ceph/messenger.c  | 2 +-
> >  net/ceph/osd_client.c | 6 ++----
> >  5 files changed, 10 insertions(+), 13 deletions(-)
> >
> > diff --git a/fs/ceph/cache.c b/fs/ceph/cache.c
> > index a3ab265..9e22886 100644
> > --- a/fs/ceph/cache.c
> > +++ b/fs/ceph/cache.c
> > @@ -71,7 +71,7 @@ static uint16_t ceph_fscache_session_get_key(const void *cookie_netfs_data,
> >         .get_key        = ceph_fscache_session_get_key,
> >  };
> >
> > -int ceph_fscache_register(void)
> > +int __init ceph_fscache_register(void)
> >  {
> >         return fscache_register_netfs(&ceph_cache_netfs);
> >  }
> > diff --git a/net/ceph/crypto.c b/net/ceph/crypto.c
> > index bf9d079..02172c4 100644
> > --- a/net/ceph/crypto.c
> > +++ b/net/ceph/crypto.c
> > @@ -347,10 +347,12 @@ struct key_type key_type_ceph = {
> >         .destroy        = ceph_key_destroy,
> >  };
> >
> > -int ceph_crypto_init(void) {
> > +int __init ceph_crypto_init(void)
> > +{
> >         return register_key_type(&key_type_ceph);
> >  }
> >
> > -void ceph_crypto_shutdown(void) {
> > +void ceph_crypto_shutdown(void)
> > +{
> >         unregister_key_type(&key_type_ceph);
> >  }
> > diff --git a/net/ceph/debugfs.c b/net/ceph/debugfs.c
> > index 1eef680..92fe675 100644
> > --- a/net/ceph/debugfs.c
> > +++ b/net/ceph/debugfs.c
> > @@ -389,7 +389,7 @@ static int client_options_show(struct seq_file *s, void *p)
> >  CEPH_DEFINE_SHOW_FUNC(osdc_show)
> >  CEPH_DEFINE_SHOW_FUNC(client_options_show)
> >
> > -int ceph_debugfs_init(void)
> > +int __init ceph_debugfs_init(void)
> >  {
> >         ceph_debugfs_dir = debugfs_create_dir("ceph", NULL);
> >         if (!ceph_debugfs_dir)
> > @@ -477,7 +477,7 @@ void ceph_debugfs_client_cleanup(struct ceph_client *client)
> >
> >  #else  /* CONFIG_DEBUG_FS */
> >
> > -int ceph_debugfs_init(void)
> > +int __init ceph_debugfs_init(void)
> >  {
> >         return 0;
> >  }
> > @@ -496,6 +496,3 @@ void ceph_debugfs_client_cleanup(struct ceph_client *client)
> >  }
> >
> >  #endif  /* CONFIG_DEBUG_FS */
> > -
> > -EXPORT_SYMBOL(ceph_debugfs_init);
> > -EXPORT_SYMBOL(ceph_debugfs_cleanup);
> > diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> > index 8a4d375..33661cb 100644
> > --- a/net/ceph/messenger.c
> > +++ b/net/ceph/messenger.c
> > @@ -277,7 +277,7 @@ static void _ceph_msgr_exit(void)
> >         ceph_msgr_slab_exit();
> >  }
> >
> > -int ceph_msgr_init(void)
> > +int __init ceph_msgr_init(void)
> >  {
> >         if (ceph_msgr_slab_init())
> >                 return -ENOMEM;
> > diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
> > index 2814dba..62642196 100644
> > --- a/net/ceph/osd_client.c
> > +++ b/net/ceph/osd_client.c
> > @@ -5065,7 +5065,7 @@ int ceph_osdc_writepages(struct ceph_osd_client *osdc, struct ceph_vino vino,
> >  }
> >  EXPORT_SYMBOL(ceph_osdc_writepages);
> >
> > -int ceph_osdc_setup(void)
> > +int __init ceph_osdc_setup(void)
> >  {
> >         size_t size = sizeof(struct ceph_osd_request) +
> >             CEPH_OSD_SLAB_OPS * sizeof(struct ceph_osd_req_op);
> > @@ -5076,15 +5076,13 @@ int ceph_osdc_setup(void)
> >
> >         return ceph_osd_request_cache ? 0 : -ENOMEM;
> >  }
> > -EXPORT_SYMBOL(ceph_osdc_setup);
> >
> > -void ceph_osdc_cleanup(void)
> > +void __exit ceph_osdc_cleanup(void)
> 
> Hi Chengguang,
> 
> Applied without this __exit change.
> 
> It's only because ceph_osdc_setup() is the last init step were you able
> to do this.  If a new step is added to init_ceph_lib(), we would need to
> turn ceph_osdc_cleanup() back into a normal function.

Okay, Thanks for your kind explanation.


Thanks,
Chengguang.

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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux