diff options
Diffstat (limited to 'drivers/staging/lustre/lustre/osc')
-rw-r--r-- | drivers/staging/lustre/lustre/osc/lproc_osc.c | 3 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_cache.c | 141 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_cl_internal.h | 4 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_dev.c | 11 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_io.c | 28 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_lock.c | 146 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_object.c | 3 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_page.c | 28 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_quota.c | 31 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/osc/osc_request.c | 326 |
10 files changed, 281 insertions, 440 deletions
diff --git a/drivers/staging/lustre/lustre/osc/lproc_osc.c b/drivers/staging/lustre/lustre/osc/lproc_osc.c index 198cf3ba1374..90d24d8dea21 100644 --- a/drivers/staging/lustre/lustre/osc/lproc_osc.c +++ b/drivers/staging/lustre/lustre/osc/lproc_osc.c @@ -35,7 +35,6 @@ */ #define DEBUG_SUBSYSTEM S_CLASS -#include <linux/version.h> #include <asm/statfs.h> #include <obd_cksum.h> #include <obd_class.h> @@ -146,7 +145,7 @@ static ssize_t osc_max_dirty_mb_seq_write(struct file *file, const char *buffer, if (pages_number <= 0 || pages_number > OSC_MAX_DIRTY_MB_MAX << (20 - PAGE_CACHE_SHIFT) || - pages_number > num_physpages / 4) /* 1/4 of RAM */ + pages_number > totalram_pages / 4) /* 1/4 of RAM */ return -ERANGE; client_obd_list_lock(&cli->cl_loi_list_lock); diff --git a/drivers/staging/lustre/lustre/osc/osc_cache.c b/drivers/staging/lustre/lustre/osc/osc_cache.c index 0a0ec6f7d2dd..00295da4ab3d 100644 --- a/drivers/staging/lustre/lustre/osc/osc_cache.c +++ b/drivers/staging/lustre/lustre/osc/osc_cache.c @@ -540,7 +540,6 @@ int osc_extent_release(const struct lu_env *env, struct osc_extent *ext) { struct osc_object *obj = ext->oe_obj; int rc = 0; - ENTRY; LASSERT(atomic_read(&ext->oe_users) > 0); LASSERT(sanity_check(ext) == 0); @@ -572,7 +571,7 @@ int osc_extent_release(const struct lu_env *env, struct osc_extent *ext) osc_io_unplug_async(env, osc_cli(obj), obj); } osc_extent_put(env, ext); - RETURN(rc); + return rc; } static inline int overlapped(struct osc_extent *ex1, struct osc_extent *ex2) @@ -602,11 +601,10 @@ struct osc_extent *osc_extent_find(const struct lu_env *env, int ppc_bits; /* pages per chunk bits */ int chunk_mask; int rc; - ENTRY; cur = osc_extent_alloc(obj); if (cur == NULL) - RETURN(ERR_PTR(-ENOMEM)); + return ERR_PTR(-ENOMEM); lock = cl_lock_at_pgoff(env, osc2cl(obj), index, NULL, 1, 0); LASSERT(lock != NULL); @@ -783,7 +781,6 @@ restart: goto restart; } - EXIT; out: osc_extent_put(env, cur); @@ -805,7 +802,6 @@ int osc_extent_finish(const struct lu_env *env, struct osc_extent *ext, int blocksize = cli->cl_import->imp_obd->obd_osfs.os_bsize ? : 4096; __u64 last_off = 0; int last_count = -1; - ENTRY; OSC_EXTENT_DUMP(D_CACHE, ext, "extent finished.\n"); @@ -846,7 +842,7 @@ int osc_extent_finish(const struct lu_env *env, struct osc_extent *ext, osc_extent_remove(ext); /* put the refcount for RPC */ osc_extent_put(env, ext); - RETURN(0); + return 0; } static int extent_wait_cb(struct osc_extent *ext, int state) @@ -870,7 +866,6 @@ static int osc_extent_wait(const struct lu_env *env, struct osc_extent *ext, struct l_wait_info lwi = LWI_TIMEOUT_INTR(cfs_time_seconds(600), NULL, LWI_ON_SIGNAL_NOOP, NULL); int rc = 0; - ENTRY; osc_object_lock(obj); LASSERT(sanity_check_nolock(ext) == 0); @@ -902,7 +897,7 @@ static int osc_extent_wait(const struct lu_env *env, struct osc_extent *ext, } if (rc == 0 && ext->oe_rc < 0) rc = ext->oe_rc; - RETURN(rc); + return rc; } /** @@ -925,7 +920,6 @@ static int osc_extent_truncate(struct osc_extent *ext, pgoff_t trunc_index, int grants = 0; int nr_pages = 0; int rc = 0; - ENTRY; LASSERT(sanity_check(ext) == 0); LASSERT(ext->oe_state == OES_TRUNC); @@ -1021,7 +1015,7 @@ static int osc_extent_truncate(struct osc_extent *ext, pgoff_t trunc_index, out: cl_io_fini(env, io); cl_env_nested_put(&nest, env); - RETURN(rc); + return rc; } /** @@ -1036,7 +1030,6 @@ static int osc_extent_make_ready(const struct lu_env *env, struct osc_object *obj = ext->oe_obj; int page_count = 0; int rc; - ENTRY; /* we're going to grab page lock, so object lock must not be taken. */ LASSERT(sanity_check(ext) == 0); @@ -1096,7 +1089,7 @@ static int osc_extent_make_ready(const struct lu_env *env, /* get a refcount for RPC. */ osc_extent_get(ext); - RETURN(0); + return 0; } /** @@ -1115,7 +1108,6 @@ static int osc_extent_expand(struct osc_extent *ext, pgoff_t index, int *grants) pgoff_t end_index; int chunksize = 1 << cli->cl_chunkbits; int rc = 0; - ENTRY; LASSERT(ext->oe_max_end >= index && ext->oe_start <= index); osc_object_lock(obj); @@ -1143,11 +1135,10 @@ static int osc_extent_expand(struct osc_extent *ext, pgoff_t index, int *grants) LASSERT(*grants >= 0); EASSERTF(osc_extent_is_overlapped(obj, ext) == 0, ext, "overlapped after expanding for %lu.\n", index); - EXIT; out: osc_object_unlock(obj); - RETURN(rc); + return rc; } static void osc_extent_tree_dump0(int level, struct osc_object *obj, @@ -1207,11 +1198,10 @@ static int osc_make_ready(const struct lu_env *env, struct osc_async_page *oap, LASSERT(cmd == OBD_BRW_WRITE); /* no cached reads */ - ENTRY; result = cl_page_make_ready(env, page, CRT_WRITE); if (result == 0) opg->ops_submit_time = cfs_time_current(); - RETURN(result); + return result; } static int osc_refresh_count(const struct lu_env *env, @@ -1255,8 +1245,6 @@ static int osc_completion(const struct lu_env *env, struct osc_async_page *oap, enum cl_req_type crt; int srvlock; - ENTRY; - cmd &= ~OBD_BRW_NOQUOTA; LASSERT(equi(page->cp_state == CPS_PAGEIN, cmd == OBD_BRW_READ)); LASSERT(equi(page->cp_state == CPS_PAGEOUT, cmd == OBD_BRW_WRITE)); @@ -1305,7 +1293,7 @@ static int osc_completion(const struct lu_env *env, struct osc_async_page *oap, cl_page_completion(env, page, crt, rc); - RETURN(0); + return 0; } #define OSC_DUMP_GRANT(cli, fmt, args...) do { \ @@ -1338,11 +1326,8 @@ static void osc_consume_write_grant(struct client_obd *cli, static void osc_release_write_grant(struct client_obd *cli, struct brw_page *pga) { - ENTRY; - LASSERT(spin_is_locked(&cli->cl_loi_list_lock.lock)); if (!(pga->flag & OBD_BRW_FROM_GRANT)) { - EXIT; return; } @@ -1354,7 +1339,6 @@ static void osc_release_write_grant(struct client_obd *cli, atomic_dec(&obd_dirty_transit_pages); cli->cl_dirty_transit -= PAGE_CACHE_SIZE; } - EXIT; } /** @@ -1503,7 +1487,6 @@ static int osc_enter_cache(const struct lu_env *env, struct client_obd *cli, struct osc_cache_waiter ocw; struct l_wait_info lwi = LWI_INTR(LWI_ON_SIGNAL_NOOP, NULL); int rc = -EDQUOT; - ENTRY; OSC_DUMP_GRANT(cli, "need:%d.\n", bytes); @@ -1557,11 +1540,10 @@ static int osc_enter_cache(const struct lu_env *env, struct client_obd *cli, if (osc_enter_cache_try(cli, oap, bytes, 0)) GOTO(out, rc = 0); } - EXIT; out: client_obd_list_unlock(&cli->cl_loi_list_lock); OSC_DUMP_GRANT(cli, "returned %d.\n", rc); - RETURN(rc); + return rc; } /* caller must hold loi_list_lock */ @@ -1570,7 +1552,6 @@ void osc_wake_cache_waiters(struct client_obd *cli) struct list_head *l, *tmp; struct osc_cache_waiter *ocw; - ENTRY; list_for_each_safe(l, tmp, &cli->cl_cache_waiters) { ocw = list_entry(l, struct osc_cache_waiter, ocw_entry); list_del_init(&ocw->ocw_entry); @@ -1596,8 +1577,6 @@ wakeup: wake_up(&ocw->ocw_waitq); } - - EXIT; } static int osc_max_rpc_in_flight(struct client_obd *cli, struct osc_object *osc) @@ -1613,7 +1592,6 @@ static int osc_makes_rpc(struct client_obd *cli, struct osc_object *osc, int cmd) { int invalid_import = 0; - ENTRY; /* if we have an invalid import we want to drain the queued pages * by forcing them through rpcs that immediately fail and complete @@ -1624,42 +1602,42 @@ static int osc_makes_rpc(struct client_obd *cli, struct osc_object *osc, if (cmd & OBD_BRW_WRITE) { if (atomic_read(&osc->oo_nr_writes) == 0) - RETURN(0); + return 0; if (invalid_import) { CDEBUG(D_CACHE, "invalid import forcing RPC\n"); - RETURN(1); + return 1; } if (!list_empty(&osc->oo_hp_exts)) { CDEBUG(D_CACHE, "high prio request forcing RPC\n"); - RETURN(1); + return 1; } if (!list_empty(&osc->oo_urgent_exts)) { CDEBUG(D_CACHE, "urgent request forcing RPC\n"); - RETURN(1); + return 1; } /* trigger a write rpc stream as long as there are dirtiers * waiting for space. as they're waiting, they're not going to * create more pages to coalesce with what's waiting.. */ if (!list_empty(&cli->cl_cache_waiters)) { CDEBUG(D_CACHE, "cache waiters forcing RPC\n"); - RETURN(1); + return 1; } if (atomic_read(&osc->oo_nr_writes) >= cli->cl_max_pages_per_rpc) - RETURN(1); + return 1; } else { if (atomic_read(&osc->oo_nr_reads) == 0) - RETURN(0); + return 0; if (invalid_import) { CDEBUG(D_CACHE, "invalid import forcing RPC\n"); - RETURN(1); + return 1; } /* all read are urgent. */ if (!list_empty(&osc->oo_reading_exts)) - RETURN(1); + return 1; } - RETURN(0); + return 0; } static void osc_update_pending(struct osc_object *obj, int cmd, int delta) @@ -1757,7 +1735,6 @@ static void osc_ap_completion(const struct lu_env *env, struct client_obd *cli, struct lov_oinfo *loi = osc->oo_oinfo; __u64 xid = 0; - ENTRY; if (oap->oap_request != NULL) { xid = ptlrpc_req_xid(oap->oap_request); ptlrpc_req_finished(oap->oap_request); @@ -1781,8 +1758,6 @@ static void osc_ap_completion(const struct lu_env *env, struct client_obd *cli, if (rc) CERROR("completion on oap %p obj %p returns %d.\n", oap, osc, rc); - - EXIT; } /** @@ -1795,14 +1770,13 @@ static int try_to_add_extent_for_io(struct client_obd *cli, int *pc, unsigned int *max_pages) { struct osc_extent *tmp; - ENTRY; EASSERT((ext->oe_state == OES_CACHE || ext->oe_state == OES_LOCK_DONE), ext); *max_pages = max(ext->oe_mppr, *max_pages); if (*pc + ext->oe_nr_pages > *max_pages) - RETURN(0); + return 0; list_for_each_entry(tmp, rpclist, oe_link) { EASSERT(tmp->oe_owner == current, tmp); @@ -1815,7 +1789,7 @@ static int try_to_add_extent_for_io(struct client_obd *cli, if (tmp->oe_srvlock != ext->oe_srvlock || !tmp->oe_grants != !ext->oe_grants) - RETURN(0); + return 0; /* remove break for strict check */ break; @@ -1824,7 +1798,7 @@ static int try_to_add_extent_for_io(struct client_obd *cli, *pc += ext->oe_nr_pages; list_move_tail(&ext->oe_link, rpclist); ext->oe_owner = current; - RETURN(1); + return 1; } /** @@ -1913,7 +1887,6 @@ osc_send_write_rpc(const struct lu_env *env, struct client_obd *cli, obd_count page_count = 0; int srvlock = 0; int rc = 0; - ENTRY; LASSERT(osc_object_is_locked(osc)); @@ -1921,7 +1894,7 @@ osc_send_write_rpc(const struct lu_env *env, struct client_obd *cli, LASSERT(equi(page_count == 0, list_empty(&rpclist))); if (list_empty(&rpclist)) - RETURN(0); + return 0; osc_update_pending(osc, OBD_BRW_WRITE, -page_count); @@ -1962,7 +1935,7 @@ osc_send_write_rpc(const struct lu_env *env, struct client_obd *cli, } osc_object_lock(osc); - RETURN(rc); + return rc; } /** @@ -1985,7 +1958,6 @@ osc_send_read_rpc(const struct lu_env *env, struct client_obd *cli, int page_count = 0; unsigned int max_pages = cli->cl_max_pages_per_rpc; int rc = 0; - ENTRY; LASSERT(osc_object_is_locked(osc)); list_for_each_entry_safe(ext, next, @@ -2010,7 +1982,7 @@ osc_send_read_rpc(const struct lu_env *env, struct client_obd *cli, osc_object_lock(osc); } - RETURN(rc); + return rc; } #define list_to_obj(list, item) ({ \ @@ -2023,15 +1995,13 @@ osc_send_read_rpc(const struct lu_env *env, struct client_obd *cli, * we could be sending. These lists are maintained by osc_makes_rpc(). */ static struct osc_object *osc_next_obj(struct client_obd *cli) { - ENTRY; - /* First return objects that have blocked locks so that they * will be flushed quickly and other clients can get the lock, * then objects which have pages ready to be stuffed into RPCs */ if (!list_empty(&cli->cl_loi_hp_ready_list)) - RETURN(list_to_obj(&cli->cl_loi_hp_ready_list, hp_ready_item)); + return list_to_obj(&cli->cl_loi_hp_ready_list, hp_ready_item); if (!list_empty(&cli->cl_loi_ready_list)) - RETURN(list_to_obj(&cli->cl_loi_ready_list, ready_item)); + return list_to_obj(&cli->cl_loi_ready_list, ready_item); /* then if we have cache waiters, return all objects with queued * writes. This is especially important when many small files @@ -2039,19 +2009,17 @@ static struct osc_object *osc_next_obj(struct client_obd *cli) * they don't pass the nr_pending/object threshhold */ if (!list_empty(&cli->cl_cache_waiters) && !list_empty(&cli->cl_loi_write_list)) - RETURN(list_to_obj(&cli->cl_loi_write_list, write_item)); + return list_to_obj(&cli->cl_loi_write_list, write_item); /* then return all queued objects when we have an invalid import * so that they get flushed */ if (cli->cl_import == NULL || cli->cl_import->imp_invalid) { if (!list_empty(&cli->cl_loi_write_list)) - RETURN(list_to_obj(&cli->cl_loi_write_list, - write_item)); + return list_to_obj(&cli->cl_loi_write_list, write_item); if (!list_empty(&cli->cl_loi_read_list)) - RETURN(list_to_obj(&cli->cl_loi_read_list, - read_item)); + return list_to_obj(&cli->cl_loi_read_list, read_item); } - RETURN(NULL); + return NULL; } /* called with the loi list lock held */ @@ -2060,11 +2028,10 @@ static void osc_check_rpcs(const struct lu_env *env, struct client_obd *cli, { struct osc_object *osc; int rc = 0; - ENTRY; while ((osc = osc_next_obj(cli)) != NULL) { struct cl_object *obj = osc2cl(osc); - struct lu_ref_link *link; + struct lu_ref_link link; OSC_IO_DEBUG(osc, "%lu in flight\n", rpcs_in_flight(cli)); @@ -2075,7 +2042,8 @@ static void osc_check_rpcs(const struct lu_env *env, struct client_obd *cli, cl_object_get(obj); client_obd_list_unlock(&cli->cl_loi_list_lock); - link = lu_object_ref_add(&obj->co_lu, "check", current); + lu_object_ref_add_at(&obj->co_lu, &link, "check", + current); /* attempt some read/write balancing by alternating between * reads and writes in an object. The makes_rpc checks here @@ -2116,7 +2084,8 @@ static void osc_check_rpcs(const struct lu_env *env, struct client_obd *cli, osc_object_unlock(osc); osc_list_maint(cli, osc); - lu_object_ref_del_at(&obj->co_lu, link, "check", current); + lu_object_ref_del_at(&obj->co_lu, &link, "check", + current); cl_object_put(env, obj); client_obd_list_lock(&cli->cl_loi_list_lock); @@ -2165,7 +2134,6 @@ int osc_prep_async_page(struct osc_object *osc, struct osc_page *ops, { struct obd_export *exp = osc_export(osc); struct osc_async_page *oap = &ops->ops_oap; - ENTRY; if (!page) return cfs_size_round(sizeof(*oap)); @@ -2187,7 +2155,7 @@ int osc_prep_async_page(struct osc_object *osc, struct osc_page *ops, spin_lock_init(&oap->oap_lock); CDEBUG(D_INFO, "oap %p page %p obj off "LPU64"\n", oap, page, oap->oap_obj_off); - RETURN(0); + return 0; } int osc_queue_async_io(const struct lu_env *env, struct cl_io *io, @@ -2204,17 +2172,16 @@ int osc_queue_async_io(const struct lu_env *env, struct cl_io *io, int cmd = OBD_BRW_WRITE; int need_release = 0; int rc = 0; - ENTRY; if (oap->oap_magic != OAP_MAGIC) - RETURN(-EINVAL); + return -EINVAL; if (cli->cl_import == NULL || cli->cl_import->imp_invalid) - RETURN(-EIO); + return -EIO; if (!list_empty(&oap->oap_pending_item) || !list_empty(&oap->oap_rpc_item)) - RETURN(-EBUSY); + return -EBUSY; /* Set the OBD_BRW_SRVLOCK before the page is queued. */ brw_flags |= ops->ops_srvlock ? OBD_BRW_SRVLOCK : 0; @@ -2242,7 +2209,7 @@ int osc_queue_async_io(const struct lu_env *env, struct cl_io *io, if (rc == 0 && osc_quota_chkdq(cli, qid) == NO_QUOTA) rc = -EDQUOT; if (rc) - RETURN(rc); + return rc; } oap->oap_cmd = cmd; @@ -2350,7 +2317,7 @@ int osc_queue_async_io(const struct lu_env *env, struct cl_io *io, list_add_tail(&oap->oap_pending_item, &ext->oe_pages); osc_object_unlock(osc); } - RETURN(rc); + return rc; } int osc_teardown_async_page(const struct lu_env *env, @@ -2359,7 +2326,6 @@ int osc_teardown_async_page(const struct lu_env *env, struct osc_async_page *oap = &ops->ops_oap; struct osc_extent *ext = NULL; int rc = 0; - ENTRY; LASSERT(oap->oap_magic == OAP_MAGIC); @@ -2384,7 +2350,7 @@ int osc_teardown_async_page(const struct lu_env *env, osc_object_unlock(obj); if (ext != NULL) osc_extent_put(env, ext); - RETURN(rc); + return rc; } /** @@ -2404,7 +2370,6 @@ int osc_flush_async_page(const struct lu_env *env, struct cl_io *io, struct osc_async_page *oap = &ops->ops_oap; bool unplug = false; int rc = 0; - ENTRY; osc_object_lock(obj); ext = osc_extent_lookup(obj, index); @@ -2454,7 +2419,6 @@ int osc_flush_async_page(const struct lu_env *env, struct cl_io *io, unplug = true; } rc = 0; - EXIT; out: osc_object_unlock(obj); @@ -2482,7 +2446,6 @@ int osc_cancel_async_page(const struct lu_env *env, struct osc_page *ops) pgoff_t index = oap2cl_page(oap)->cp_index; int rc = -EBUSY; int cmd; - ENTRY; LASSERT(!oap->oap_interrupted); oap->oap_interrupted = 1; @@ -2526,7 +2489,7 @@ int osc_cancel_async_page(const struct lu_env *env, struct osc_page *ops) } osc_list_maint(cli, obj); - RETURN(rc); + return rc; } int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj, @@ -2539,7 +2502,6 @@ int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj, int mppr = cli->cl_max_pages_per_rpc; pgoff_t start = CL_PAGE_EOF; pgoff_t end = 0; - ENTRY; list_for_each_entry(oap, list, oap_pending_item) { struct cl_page *cp = oap2cl_page(oap); @@ -2557,7 +2519,7 @@ int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj, list_del_init(&oap->oap_pending_item); osc_ap_completion(env, cli, oap, 0, -ENOMEM); } - RETURN(-ENOMEM); + return -ENOMEM; } ext->oe_rw = !!(cmd & OBD_BRW_READ); @@ -2583,7 +2545,7 @@ int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj, osc_object_unlock(obj); osc_io_unplug(env, cli, obj, PDL_POLICY_ROUND); - RETURN(0); + return 0; } /** @@ -2599,7 +2561,6 @@ int osc_cache_truncate_start(const struct lu_env *env, struct osc_io *oio, LIST_HEAD(list); int result = 0; bool partial; - ENTRY; /* pages with index greater or equal to index will be truncated. */ index = cl_index(osc2cl(obj), size); @@ -2705,7 +2666,7 @@ again: waiting = NULL; goto again; } - RETURN(result); + return result; } /** @@ -2756,7 +2717,6 @@ int osc_cache_wait_range(const struct lu_env *env, struct osc_object *obj, struct osc_extent *ext; pgoff_t index = start; int result = 0; - ENTRY; again: osc_object_lock(obj); @@ -2794,7 +2754,7 @@ again: osc_object_unlock(obj); OSC_IO_DEBUG(obj, "sync file range.\n"); - RETURN(result); + return result; } /** @@ -2813,7 +2773,6 @@ int osc_cache_writeback_range(const struct lu_env *env, struct osc_object *obj, LIST_HEAD(discard_list); bool unplug = false; int result = 0; - ENTRY; osc_object_lock(obj); ext = osc_extent_search(obj, start); @@ -2910,7 +2869,7 @@ int osc_cache_writeback_range(const struct lu_env *env, struct osc_object *obj, } OSC_IO_DEBUG(obj, "cache page out.\n"); - RETURN(result); + return result; } /** @} osc */ diff --git a/drivers/staging/lustre/lustre/osc/osc_cl_internal.h b/drivers/staging/lustre/lustre/osc/osc_cl_internal.h index 158e8fff838f..a3aa9b6596ef 100644 --- a/drivers/staging/lustre/lustre/osc/osc_cl_internal.h +++ b/drivers/staging/lustre/lustre/osc/osc_cl_internal.h @@ -374,7 +374,7 @@ struct osc_page { /** * Thread that submitted this page for transfer. For debugging. */ - task_t *ops_submitter; + struct task_struct *ops_submitter; /** * Submit time - the time when the page is starting RPC. For debugging. */ @@ -660,7 +660,7 @@ struct osc_extent { /** lock covering this extent */ struct cl_lock *oe_osclock; /** terminator of this extent. Must be true if this extent is in IO. */ - task_t *oe_owner; + struct task_struct *oe_owner; /** return value of writeback. If somebody is waiting for this extent, * this value can be known by outside world. */ int oe_rc; diff --git a/drivers/staging/lustre/lustre/osc/osc_dev.c b/drivers/staging/lustre/lustre/osc/osc_dev.c index 4208ddfd73b3..35f257867637 100644 --- a/drivers/staging/lustre/lustre/osc/osc_dev.c +++ b/drivers/staging/lustre/lustre/osc/osc_dev.c @@ -171,8 +171,7 @@ LU_TYPE_INIT_FINI(osc, &osc_key, &osc_session_key); static int osc_cl_process_config(const struct lu_env *env, struct lu_device *d, struct lustre_cfg *cfg) { - ENTRY; - RETURN(osc_process_config_base(d->ld_obd, cfg)); + return osc_process_config_base(d->ld_obd, cfg); } static const struct lu_device_operations osc_lu_ops = { @@ -188,7 +187,7 @@ static const struct cl_device_operations osc_cl_ops = { static int osc_device_init(const struct lu_env *env, struct lu_device *d, const char *name, struct lu_device *next) { - RETURN(0); + return 0; } static struct lu_device *osc_device_fini(const struct lu_env *env, @@ -218,7 +217,7 @@ static struct lu_device *osc_device_alloc(const struct lu_env *env, OBD_ALLOC_PTR(od); if (od == NULL) - RETURN(ERR_PTR(-ENOMEM)); + return ERR_PTR(-ENOMEM); cl_device_init(&od->od_cl, t); d = osc2lu_dev(od); @@ -231,10 +230,10 @@ static struct lu_device *osc_device_alloc(const struct lu_env *env, rc = osc_setup(obd, cfg); if (rc) { osc_device_free(env, d); - RETURN(ERR_PTR(rc)); + return ERR_PTR(rc); } od->od_exp = obd->obd_self_export; - RETURN(d); + return d; } static const struct lu_device_type_operations osc_device_type_ops = { diff --git a/drivers/staging/lustre/lustre/osc/osc_io.c b/drivers/staging/lustre/lustre/osc/osc_io.c index 1b277045b3e4..3aeaf845cf27 100644 --- a/drivers/staging/lustre/lustre/osc/osc_io.c +++ b/drivers/staging/lustre/lustre/osc/osc_io.c @@ -261,7 +261,6 @@ static int osc_io_prepare_write(const struct lu_env *env, struct obd_import *imp = class_exp2cliimp(dev->od_exp); struct osc_io *oio = cl2osc_io(env, ios); int result = 0; - ENTRY; /* * This implements OBD_BRW_CHECK logic from old client. @@ -276,7 +275,7 @@ static int osc_io_prepare_write(const struct lu_env *env, * [from, to) bytes of this page to OST. -jay */ cl_page_export(env, slice->cpl_page, 1); - RETURN(result); + return result; } static int osc_io_commit_write(const struct lu_env *env, @@ -288,7 +287,6 @@ static int osc_io_commit_write(const struct lu_env *env, struct osc_page *opg = cl2osc_page(slice); struct osc_object *obj = cl2osc(opg->ops_cl.cpl_obj); struct osc_async_page *oap = &opg->ops_oap; - ENTRY; LASSERT(to > 0); /* @@ -306,7 +304,7 @@ static int osc_io_commit_write(const struct lu_env *env, /* see osc_io_prepare_write() for lockless io handling. */ cl_page_clip(env, slice->cpl_page, from, to); - RETURN(0); + return 0; } static int osc_io_fault_start(const struct lu_env *env, @@ -315,8 +313,6 @@ static int osc_io_fault_start(const struct lu_env *env, struct cl_io *io; struct cl_fault_io *fio; - ENTRY; - io = ios->cis_io; fio = &io->u.ci_fault; CDEBUG(D_INFO, "%lu %d %d\n", @@ -329,7 +325,7 @@ static int osc_io_fault_start(const struct lu_env *env, if (fio->ft_writable) osc_page_touch_at(env, ios->cis_obj, fio->ft_index, fio->ft_nob); - RETURN(0); + return 0; } static int osc_async_upcall(void *a, int rc) @@ -517,19 +513,18 @@ static int osc_io_read_start(const struct lu_env *env, struct cl_object *obj = slice->cis_obj; struct cl_attr *attr = &osc_env_info(env)->oti_attr; int result = 0; - ENTRY; if (oio->oi_lockless == 0) { cl_object_attr_lock(obj); result = cl_object_attr_get(env, obj, attr); if (result == 0) { - attr->cat_atime = LTIME_S(CFS_CURRENT_TIME); + attr->cat_atime = LTIME_S(CURRENT_TIME); result = cl_object_attr_set(env, obj, attr, CAT_ATIME); } cl_object_attr_unlock(obj); } - RETURN(result); + return result; } static int osc_io_write_start(const struct lu_env *env, @@ -539,7 +534,6 @@ static int osc_io_write_start(const struct lu_env *env, struct cl_object *obj = slice->cis_obj; struct cl_attr *attr = &osc_env_info(env)->oti_attr; int result = 0; - ENTRY; if (oio->oi_lockless == 0) { OBD_FAIL_TIMEOUT(OBD_FAIL_OSC_DELAY_SETTIME, 1); @@ -547,13 +541,13 @@ static int osc_io_write_start(const struct lu_env *env, result = cl_object_attr_get(env, obj, attr); if (result == 0) { attr->cat_mtime = attr->cat_ctime = - LTIME_S(CFS_CURRENT_TIME); + LTIME_S(CURRENT_TIME); result = cl_object_attr_set(env, obj, attr, CAT_MTIME | CAT_CTIME); } cl_object_attr_unlock(obj); } - RETURN(result); + return result; } static int osc_fsync_ost(const struct lu_env *env, struct osc_object *obj, @@ -565,7 +559,6 @@ static int osc_fsync_ost(const struct lu_env *env, struct osc_object *obj, struct lov_oinfo *loi = obj->oo_oinfo; struct osc_async_cbargs *cbargs = &oio->oi_cbarg; int rc = 0; - ENTRY; memset(oa, 0, sizeof(*oa)); oa->o_oi = loi->loi_oi; @@ -585,7 +578,7 @@ static int osc_fsync_ost(const struct lu_env *env, struct osc_object *obj, rc = osc_sync_base(osc_export(obj), oinfo, osc_async_upcall, cbargs, PTLRPCD_SET); - RETURN(rc); + return rc; } static int osc_io_fsync_start(const struct lu_env *env, @@ -598,7 +591,6 @@ static int osc_io_fsync_start(const struct lu_env *env, pgoff_t start = cl_index(obj, fio->fi_start); pgoff_t end = cl_index(obj, fio->fi_end); int result = 0; - ENTRY; if (fio->fi_end == OBD_OBJECT_EOF) end = CL_PAGE_EOF; @@ -625,7 +617,7 @@ static int osc_io_fsync_start(const struct lu_env *env, result = rc; } - RETURN(result); + return result; } static void osc_io_fsync_end(const struct lu_env *env, @@ -785,7 +777,7 @@ static void osc_req_attr_set(const struct lu_env *env, "no cover page!\n"); CL_PAGE_DEBUG(D_ERROR, env, apage, "dump uncover page!\n"); - libcfs_debug_dumpstack(NULL); + dump_stack(); LBUG(); } diff --git a/drivers/staging/lustre/lustre/osc/osc_lock.c b/drivers/staging/lustre/lustre/osc/osc_lock.c index 640bc3d34709..5d7bdbfc871a 100644 --- a/drivers/staging/lustre/lustre/osc/osc_lock.c +++ b/drivers/staging/lustre/lustre/osc/osc_lock.c @@ -89,35 +89,49 @@ static struct ldlm_lock *osc_handle_ptr(struct lustre_handle *handle) */ static int osc_lock_invariant(struct osc_lock *ols) { - struct ldlm_lock *lock = osc_handle_ptr(&ols->ols_handle); - struct ldlm_lock *olock = ols->ols_lock; - int handle_used = lustre_handle_is_used(&ols->ols_handle); - - return - ergo(osc_lock_is_lockless(ols), - ols->ols_locklessable && ols->ols_lock == NULL) || - (ergo(olock != NULL, handle_used) && - ergo(olock != NULL, - olock->l_handle.h_cookie == ols->ols_handle.cookie) && - /* - * Check that ->ols_handle and ->ols_lock are consistent, but - * take into account that they are set at the different time. - */ - ergo(handle_used, - ergo(lock != NULL && olock != NULL, lock == olock) && - ergo(lock == NULL, olock == NULL)) && - ergo(ols->ols_state == OLS_CANCELLED, - olock == NULL && !handle_used) && - /* - * DLM lock is destroyed only after we have seen cancellation - * ast. - */ - ergo(olock != NULL && ols->ols_state < OLS_CANCELLED, - !olock->l_destroyed) && - ergo(ols->ols_state == OLS_GRANTED, - olock != NULL && - olock->l_req_mode == olock->l_granted_mode && - ols->ols_hold)); + struct ldlm_lock *lock = osc_handle_ptr(&ols->ols_handle); + struct ldlm_lock *olock = ols->ols_lock; + int handle_used = lustre_handle_is_used(&ols->ols_handle); + + if (ergo(osc_lock_is_lockless(ols), + ols->ols_locklessable && ols->ols_lock == NULL)) + return 1; + + /* + * If all the following "ergo"s are true, return 1, otherwise 0 + */ + if (! ergo(olock != NULL, handle_used)) + return 0; + + if (! ergo(olock != NULL, + olock->l_handle.h_cookie == ols->ols_handle.cookie)) + return 0; + + if (! ergo(handle_used, + ergo(lock != NULL && olock != NULL, lock == olock) && + ergo(lock == NULL, olock == NULL))) + return 0; + /* + * Check that ->ols_handle and ->ols_lock are consistent, but + * take into account that they are set at the different time. + */ + if (! ergo(ols->ols_state == OLS_CANCELLED, + olock == NULL && !handle_used)) + return 0; + /* + * DLM lock is destroyed only after we have seen cancellation + * ast. + */ + if (! ergo(olock != NULL && ols->ols_state < OLS_CANCELLED, + ((olock->l_flags & LDLM_FL_DESTROYED) == 0))) + return 0; + + if (! ergo(ols->ols_state == OLS_GRANTED, + olock != NULL && + olock->l_req_mode == olock->l_granted_mode && + ols->ols_hold)) + return 0; + return 1; } /***************************************************************************** @@ -261,7 +275,7 @@ static __u64 osc_enq2ldlm_flags(__u32 enqflags) if (enqflags & CEF_ASYNC) result |= LDLM_FL_HAS_INTENT; if (enqflags & CEF_DISCARD_DATA) - result |= LDLM_AST_DISCARD_DATA; + result |= LDLM_FL_AST_DISCARD_DATA; return result; } @@ -329,10 +343,8 @@ static void osc_lock_lvb_update(const struct lu_env *env, struct osc_lock *olck, struct cl_attr *attr; unsigned valid; - ENTRY; - if (!(olck->ols_flags & LDLM_FL_LVB_READY)) - RETURN_EXIT; + return; lvb = &olck->ols_lvb; obj = olck->ols_cl.cls_obj; @@ -378,8 +390,6 @@ static void osc_lock_lvb_update(const struct lu_env *env, struct osc_lock *olck, cl_object_attr_set(env, obj, attr, valid); cl_object_attr_unlock(obj); - - EXIT; } /** @@ -398,7 +408,6 @@ static void osc_lock_granted(const struct lu_env *env, struct osc_lock *olck, LASSERT(dlmlock->l_granted_mode == dlmlock->l_req_mode); - ENTRY; if (olck->ols_state < OLS_GRANTED) { lock = olck->ols_cl.cls_lock; ext = &dlmlock->l_policy_data.l_extent; @@ -428,7 +437,6 @@ static void osc_lock_granted(const struct lu_env *env, struct osc_lock *olck, LINVRNT(osc_lock_invariant(olck)); lock_res_and_lock(dlmlock); } - EXIT; } static void osc_lock_upcall0(const struct lu_env *env, struct osc_lock *olck) @@ -436,8 +444,6 @@ static void osc_lock_upcall0(const struct lu_env *env, struct osc_lock *olck) { struct ldlm_lock *dlmlock; - ENTRY; - dlmlock = ldlm_handle2lock_long(&olck->ols_handle, 0); LASSERT(dlmlock != NULL); @@ -483,7 +489,6 @@ static int osc_lock_upcall(void *cookie, int errcode) struct lu_env *env; struct cl_env_nest nest; - ENTRY; env = cl_env_nested_get(&nest); if (!IS_ERR(env)) { int rc; @@ -575,7 +580,7 @@ static int osc_lock_upcall(void *cookie, int errcode) /* should never happen, similar to osc_ldlm_blocking_ast(). */ LBUG(); } - RETURN(errcode); + return errcode; } /** @@ -896,55 +901,6 @@ static unsigned long osc_lock_weigh(const struct lu_env *env, return cl_object_header(slice->cls_obj)->coh_pages; } -/** - * Get the weight of dlm lock for early cancellation. - * - * XXX: it should return the pages covered by this \a dlmlock. - */ -static unsigned long osc_ldlm_weigh_ast(struct ldlm_lock *dlmlock) -{ - struct cl_env_nest nest; - struct lu_env *env; - struct osc_lock *lock; - struct cl_lock *cll; - unsigned long weight; - ENTRY; - - might_sleep(); - /* - * osc_ldlm_weigh_ast has a complex context since it might be called - * because of lock canceling, or from user's input. We have to make - * a new environment for it. Probably it is implementation safe to use - * the upper context because cl_lock_put don't modify environment - * variables. But in case of .. - */ - env = cl_env_nested_get(&nest); - if (IS_ERR(env)) - /* Mostly because lack of memory, tend to eliminate this lock*/ - RETURN(0); - - LASSERT(dlmlock->l_resource->lr_type == LDLM_EXTENT); - lock = osc_ast_data_get(dlmlock); - if (lock == NULL) { - /* cl_lock was destroyed because of memory pressure. - * It is much reasonable to assign this type of lock - * a lower cost. - */ - GOTO(out, weight = 0); - } - - cll = lock->ols_cl.cls_lock; - cl_lock_mutex_get(env, cll); - weight = cl_lock_weigh(env, cll); - cl_lock_mutex_put(env, cll); - osc_ast_data_put(env, lock); - EXIT; - -out: - cl_env_nested_put(&nest, env); - return weight; -} - static void osc_lock_build_einfo(const struct lu_env *env, const struct cl_lock *clock, struct osc_lock *lock, @@ -966,7 +922,6 @@ static void osc_lock_build_einfo(const struct lu_env *env, einfo->ei_cb_bl = osc_ldlm_blocking_ast; einfo->ei_cb_cp = osc_ldlm_completion_ast; einfo->ei_cb_gl = osc_ldlm_glimpse_ast; - einfo->ei_cb_wg = osc_ldlm_weigh_ast; einfo->ei_cbdata = lock; /* value to be put into ->l_ast_data */ } @@ -1059,7 +1014,6 @@ static int osc_lock_enqueue_wait(const struct lu_env *env, struct cl_lock *conflict= NULL; int lockless = osc_lock_is_lockless(olck); int rc = 0; - ENTRY; LASSERT(cl_lock_is_mutexed(lock)); @@ -1130,7 +1084,7 @@ static int osc_lock_enqueue_wait(const struct lu_env *env, rc = CLO_WAIT; } } - RETURN(rc); + return rc; } /** @@ -1154,7 +1108,6 @@ static int osc_lock_enqueue(const struct lu_env *env, struct osc_lock *ols = cl2osc_lock(slice); struct cl_lock *lock = ols->ols_cl.cls_lock; int result; - ENTRY; LASSERT(cl_lock_is_mutexed(lock)); LASSERTF(ols->ols_state == OLS_NEW, @@ -1207,7 +1160,7 @@ static int osc_lock_enqueue(const struct lu_env *env, } } LASSERT(ergo(ols->ols_glimpse, !osc_lock_is_lockless(ols))); - RETURN(result); + return result; } static int osc_lock_wait(const struct lu_env *env, @@ -1298,7 +1251,6 @@ static int osc_lock_flush(struct osc_lock *ols, int discard) struct cl_env_nest nest; struct lu_env *env; int result = 0; - ENTRY; env = cl_env_nested_get(&nest); if (!IS_ERR(env)) { @@ -1328,7 +1280,7 @@ static int osc_lock_flush(struct osc_lock *ols, int discard) ols->ols_flush = 1; LINVRNT(!osc_lock_has_pages(ols)); } - RETURN(result); + return result; } /** diff --git a/drivers/staging/lustre/lustre/osc/osc_object.c b/drivers/staging/lustre/lustre/osc/osc_object.c index ca94e6331381..9d34de873fac 100644 --- a/drivers/staging/lustre/lustre/osc/osc_object.c +++ b/drivers/staging/lustre/lustre/osc/osc_object.c @@ -191,10 +191,9 @@ static int osc_object_glimpse(const struct lu_env *env, { struct lov_oinfo *oinfo = cl2osc(obj)->oo_oinfo; - ENTRY; lvb->lvb_size = oinfo->loi_kms; lvb->lvb_blocks = oinfo->loi_lvb.lvb_blocks; - RETURN(0); + return 0; } diff --git a/drivers/staging/lustre/lustre/osc/osc_page.c b/drivers/staging/lustre/lustre/osc/osc_page.c index baba959a7450..d272322b29b6 100644 --- a/drivers/staging/lustre/lustre/osc/osc_page.c +++ b/drivers/staging/lustre/lustre/osc/osc_page.c @@ -219,7 +219,6 @@ static int osc_page_cache_add(const struct lu_env *env, struct osc_io *oio = osc_env_io(env); struct osc_page *opg = cl2osc_page(slice); int result; - ENTRY; LINVRNT(osc_page_protected(env, opg, CLM_WRITE, 0)); @@ -240,7 +239,7 @@ static int osc_page_cache_add(const struct lu_env *env, } } - RETURN(result); + return result; } void osc_index2policy(ldlm_policy_data_t *policy, const struct cl_object *obj, @@ -294,7 +293,6 @@ static int osc_page_is_under_lock(const struct lu_env *env, struct cl_lock *lock; int result = -ENODATA; - ENTRY; lock = cl_lock_at_page(env, slice->cpl_obj, slice->cpl_page, NULL, 1, 0); if (lock != NULL) { @@ -302,7 +300,7 @@ static int osc_page_is_under_lock(const struct lu_env *env, result = -EBUSY; cl_lock_put(env, lock); } - RETURN(result); + return result; } static void osc_page_disown(const struct lu_env *env, @@ -421,7 +419,6 @@ static void osc_page_delete(const struct lu_env *env, LINVRNT(opg->ops_temp || osc_page_protected(env, opg, CLM_READ, 1)); - ENTRY; CDEBUG(D_TRACE, "%p\n", opg); osc_page_transfer_put(env, opg); rc = osc_teardown_async_page(env, obj, opg); @@ -440,7 +437,6 @@ static void osc_page_delete(const struct lu_env *env, spin_unlock(&obj->oo_seatbelt); osc_lru_del(osc_cli(obj), opg, true); - EXIT; } void osc_page_clip(const struct lu_env *env, const struct cl_page_slice *slice, @@ -481,9 +477,9 @@ static int osc_page_flush(const struct lu_env *env, { struct osc_page *opg = cl2osc_page(slice); int rc = 0; - ENTRY; + rc = osc_flush_async_page(env, io, opg); - RETURN(rc); + return rc; } static const struct cl_page_operations osc_page_ops = { @@ -586,7 +582,7 @@ void osc_page_submit(const struct lu_env *env, struct osc_page *opg, * at any time. */ -static CFS_DECL_WAITQ(osc_lru_waitq); +static DECLARE_WAIT_QUEUE_HEAD(osc_lru_waitq); static atomic_t osc_lru_waiters = ATOMIC_INIT(0); /* LRU pages are freed in batch mode. OSC should at least free this * number of pages to avoid running out of LRU budget, and.. */ @@ -666,15 +662,14 @@ int osc_lru_shrink(struct client_obd *cli, int target) int count = 0; int index = 0; int rc = 0; - ENTRY; LASSERT(atomic_read(&cli->cl_lru_in_list) >= 0); if (atomic_read(&cli->cl_lru_in_list) == 0 || target <= 0) - RETURN(0); + return 0; env = cl_env_nested_get(&nest); if (IS_ERR(env)) - RETURN(PTR_ERR(env)); + return PTR_ERR(env); pvec = osc_env_info(env)->oti_pvec; io = &osc_env_info(env)->oti_io; @@ -757,7 +752,7 @@ int osc_lru_shrink(struct client_obd *cli, int target) cl_env_nested_put(&nest, env); atomic_dec(&cli->cl_lru_shrinkers); - RETURN(count > 0 ? count : rc); + return count > 0 ? count : rc; } static void osc_lru_add(struct client_obd *cli, struct osc_page *opg) @@ -881,13 +876,12 @@ static int osc_lru_reserve(const struct lu_env *env, struct osc_object *obj, struct l_wait_info lwi = LWI_INTR(LWI_ON_SIGNAL_NOOP, NULL); struct client_obd *cli = osc_cli(obj); int rc = 0; - ENTRY; if (cli->cl_cache == NULL) /* shall not be in LRU */ - RETURN(0); + return 0; LASSERT(atomic_read(cli->cl_lru_left) >= 0); - while (!cfs_atomic_add_unless(cli->cl_lru_left, -1, 0)) { + while (!atomic_add_unless(cli->cl_lru_left, -1, 0)) { int gen; /* run out of LRU spaces, try to drop some by itself */ @@ -921,7 +915,7 @@ static int osc_lru_reserve(const struct lu_env *env, struct osc_object *obj, rc = 0; } - RETURN(rc); + return rc; } /** @} osc */ diff --git a/drivers/staging/lustre/lustre/osc/osc_quota.c b/drivers/staging/lustre/lustre/osc/osc_quota.c index 69caab76ced3..9720c0e865c8 100644 --- a/drivers/staging/lustre/lustre/osc/osc_quota.c +++ b/drivers/staging/lustre/lustre/osc/osc_quota.c @@ -45,7 +45,6 @@ static inline struct osc_quota_info *osc_oqi_alloc(obd_uid id) int osc_quota_chkdq(struct client_obd *cli, const unsigned int qid[]) { int type; - ENTRY; for (type = 0; type < MAXQUOTAS; type++) { struct osc_quota_info *oqi; @@ -62,11 +61,11 @@ int osc_quota_chkdq(struct client_obd *cli, const unsigned int qid[]) * quota space on this OST */ CDEBUG(D_QUOTA, "chkdq found noquota for %s %d\n", type == USRQUOTA ? "user" : "grout", qid[type]); - RETURN(NO_QUOTA); + return NO_QUOTA; } } - RETURN(QUOTA_OK); + return QUOTA_OK; } #define MD_QUOTA_FLAG(type) ((type == USRQUOTA) ? OBD_MD_FLUSRQUOTA \ @@ -79,10 +78,9 @@ int osc_quota_setdq(struct client_obd *cli, const unsigned int qid[], { int type; int rc = 0; - ENTRY; if ((valid & (OBD_MD_FLUSRQUOTA | OBD_MD_FLGRPQUOTA)) == 0) - RETURN(0); + return 0; for (type = 0; type < MAXQUOTAS; type++) { struct osc_quota_info *oqi; @@ -134,7 +132,7 @@ int osc_quota_setdq(struct client_obd *cli, const unsigned int qid[], } } - RETURN(rc); + return rc; } /* @@ -211,7 +209,6 @@ int osc_quota_setup(struct obd_device *obd) { struct client_obd *cli = &obd->u.cli; int i, type; - ENTRY; for (type = 0; type < MAXQUOTAS; type++) { cli->cl_quota_hash[type] = cfs_hash_create("QUOTA_HASH", @@ -228,24 +225,23 @@ int osc_quota_setup(struct obd_device *obd) } if (type == MAXQUOTAS) - RETURN(0); + return 0; for (i = 0; i < type; i++) cfs_hash_putref(cli->cl_quota_hash[i]); - RETURN(-ENOMEM); + return -ENOMEM; } int osc_quota_cleanup(struct obd_device *obd) { struct client_obd *cli = &obd->u.cli; int type; - ENTRY; for (type = 0; type < MAXQUOTAS; type++) cfs_hash_putref(cli->cl_quota_hash[type]); - RETURN(0); + return 0; } int osc_quotactl(struct obd_device *unused, struct obd_export *exp, @@ -254,13 +250,12 @@ int osc_quotactl(struct obd_device *unused, struct obd_export *exp, struct ptlrpc_request *req; struct obd_quotactl *oqc; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_OST_QUOTACTL, LUSTRE_OST_VERSION, OST_QUOTACTL); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; oqc = req_capsule_client_get(&req->rq_pill, &RMF_OBD_QUOTACTL); *oqc = *oqctl; @@ -282,7 +277,7 @@ int osc_quotactl(struct obd_device *unused, struct obd_export *exp, } ptlrpc_req_finished(req); - RETURN(rc); + return rc; } int osc_quotacheck(struct obd_device *unused, struct obd_export *exp, @@ -292,13 +287,12 @@ int osc_quotacheck(struct obd_device *unused, struct obd_export *exp, struct ptlrpc_request *req; struct obd_quotactl *body; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_OST_QUOTACHECK, LUSTRE_OST_VERSION, OST_QUOTACHECK); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; body = req_capsule_client_get(&req->rq_pill, &RMF_OBD_QUOTACTL); *body = *oqctl; @@ -312,14 +306,13 @@ int osc_quotacheck(struct obd_device *unused, struct obd_export *exp, if (rc) cli->cl_qchk_stat = rc; ptlrpc_req_finished(req); - RETURN(rc); + return rc; } int osc_quota_poll_check(struct obd_export *exp, struct if_quotacheck *qchk) { struct client_obd *cli = &exp->exp_obd->u.cli; int rc; - ENTRY; qchk->obd_uuid = cli->cl_target_uuid; memcpy(qchk->obd_type, LUSTRE_OST_NAME, strlen(LUSTRE_OST_NAME)); @@ -328,5 +321,5 @@ int osc_quota_poll_check(struct obd_export *exp, struct if_quotacheck *qchk) /* the client is not the previous one */ if (rc == CL_NOT_QUOTACHECKED) rc = -EINTR; - RETURN(rc); + return rc; } diff --git a/drivers/staging/lustre/lustre/osc/osc_request.c b/drivers/staging/lustre/lustre/osc/osc_request.c index 53d6a35c80b9..ee6707a5ea9d 100644 --- a/drivers/staging/lustre/lustre/osc/osc_request.c +++ b/drivers/staging/lustre/lustre/osc/osc_request.c @@ -69,30 +69,29 @@ static int osc_packmd(struct obd_export *exp, struct lov_mds_md **lmmp, struct lov_stripe_md *lsm) { int lmm_size; - ENTRY; lmm_size = sizeof(**lmmp); if (lmmp == NULL) - RETURN(lmm_size); + return lmm_size; if (*lmmp != NULL && lsm == NULL) { OBD_FREE(*lmmp, lmm_size); *lmmp = NULL; - RETURN(0); + return 0; } else if (unlikely(lsm != NULL && ostid_id(&lsm->lsm_oi) == 0)) { - RETURN(-EBADF); + return -EBADF; } if (*lmmp == NULL) { OBD_ALLOC(*lmmp, lmm_size); if (*lmmp == NULL) - RETURN(-ENOMEM); + return -ENOMEM; } if (lsm) ostid_cpu_to_le(&lsm->lsm_oi, &(*lmmp)->lmm_oi); - RETURN(lmm_size); + return lmm_size; } /* Unpack OSC object metadata from disk storage (LE byte order). */ @@ -101,47 +100,46 @@ static int osc_unpackmd(struct obd_export *exp, struct lov_stripe_md **lsmp, { int lsm_size; struct obd_import *imp = class_exp2cliimp(exp); - ENTRY; if (lmm != NULL) { if (lmm_bytes < sizeof(*lmm)) { CERROR("%s: lov_mds_md too small: %d, need %d\n", exp->exp_obd->obd_name, lmm_bytes, (int)sizeof(*lmm)); - RETURN(-EINVAL); + return -EINVAL; } /* XXX LOV_MAGIC etc check? */ if (unlikely(ostid_id(&lmm->lmm_oi) == 0)) { CERROR("%s: zero lmm_object_id: rc = %d\n", exp->exp_obd->obd_name, -EINVAL); - RETURN(-EINVAL); + return -EINVAL; } } lsm_size = lov_stripe_md_size(1); if (lsmp == NULL) - RETURN(lsm_size); + return lsm_size; if (*lsmp != NULL && lmm == NULL) { OBD_FREE((*lsmp)->lsm_oinfo[0], sizeof(struct lov_oinfo)); OBD_FREE(*lsmp, lsm_size); *lsmp = NULL; - RETURN(0); + return 0; } if (*lsmp == NULL) { OBD_ALLOC(*lsmp, lsm_size); if (unlikely(*lsmp == NULL)) - RETURN(-ENOMEM); + return -ENOMEM; OBD_ALLOC((*lsmp)->lsm_oinfo[0], sizeof(struct lov_oinfo)); if (unlikely((*lsmp)->lsm_oinfo[0] == NULL)) { OBD_FREE(*lsmp, lsm_size); - RETURN(-ENOMEM); + return -ENOMEM; } loi_init((*lsmp)->lsm_oinfo[0]); } else if (unlikely(ostid_id(&(*lsmp)->lsm_oi) == 0)) { - RETURN(-EBADF); + return -EBADF; } if (lmm != NULL) @@ -154,7 +152,7 @@ static int osc_unpackmd(struct obd_export *exp, struct lov_stripe_md **lsmp, else (*lsmp)->lsm_maxbytes = LUSTRE_STRIPE_MAXBYTES; - RETURN(lsm_size); + return lsm_size; } static inline void osc_pack_capa(struct ptlrpc_request *req, @@ -202,7 +200,6 @@ static int osc_getattr_interpret(const struct lu_env *env, struct osc_async_args *aa, int rc) { struct ost_body *body; - ENTRY; if (rc != 0) GOTO(out, rc); @@ -223,7 +220,7 @@ static int osc_getattr_interpret(const struct lu_env *env, } out: rc = aa->aa_oi->oi_cb_up(aa->aa_oi, rc); - RETURN(rc); + return rc; } static int osc_getattr_async(struct obd_export *exp, struct obd_info *oinfo, @@ -232,17 +229,16 @@ static int osc_getattr_async(struct obd_export *exp, struct obd_info *oinfo, struct ptlrpc_request *req; struct osc_async_args *aa; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_GETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_GETATTR); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } osc_pack_req_body(req, oinfo); @@ -255,7 +251,7 @@ static int osc_getattr_async(struct obd_export *exp, struct obd_info *oinfo, aa->aa_oi = oinfo; ptlrpc_set_add_req(set, req); - RETURN(0); + return 0; } static int osc_getattr(const struct lu_env *env, struct obd_export *exp, @@ -264,17 +260,16 @@ static int osc_getattr(const struct lu_env *env, struct obd_export *exp, struct ptlrpc_request *req; struct ost_body *body; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_GETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_GETATTR); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } osc_pack_req_body(req, oinfo); @@ -296,7 +291,6 @@ static int osc_getattr(const struct lu_env *env, struct obd_export *exp, oinfo->oi_oa->o_blksize = cli_brw_size(exp->exp_obd); oinfo->oi_oa->o_valid |= OBD_MD_FLBLKSZ; - EXIT; out: ptlrpc_req_finished(req); return rc; @@ -308,19 +302,18 @@ static int osc_setattr(const struct lu_env *env, struct obd_export *exp, struct ptlrpc_request *req; struct ost_body *body; int rc; - ENTRY; LASSERT(oinfo->oi_oa->o_valid & OBD_MD_FLGROUP); req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_SETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_SETATTR); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } osc_pack_req_body(req, oinfo); @@ -338,10 +331,9 @@ static int osc_setattr(const struct lu_env *env, struct obd_export *exp, lustre_get_wire_obdo(&req->rq_import->imp_connect_data, oinfo->oi_oa, &body->oa); - EXIT; out: ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static int osc_setattr_interpret(const struct lu_env *env, @@ -349,7 +341,6 @@ static int osc_setattr_interpret(const struct lu_env *env, struct osc_setattr_args *sa, int rc) { struct ost_body *body; - ENTRY; if (rc != 0) GOTO(out, rc); @@ -362,7 +353,7 @@ static int osc_setattr_interpret(const struct lu_env *env, &body->oa); out: rc = sa->sa_upcall(sa->sa_cookie, rc); - RETURN(rc); + return rc; } int osc_setattr_async_base(struct obd_export *exp, struct obd_info *oinfo, @@ -373,17 +364,16 @@ int osc_setattr_async_base(struct obd_export *exp, struct obd_info *oinfo, struct ptlrpc_request *req; struct osc_setattr_args *sa; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_SETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_SETATTR); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } if (oti && oinfo->oi_oa->o_valid & OBD_MD_FLCOOKIE) @@ -413,7 +403,7 @@ int osc_setattr_async_base(struct obd_export *exp, struct obd_info *oinfo, ptlrpc_set_add_req(rqset, req); } - RETURN(0); + return 0; } static int osc_setattr_async(struct obd_export *exp, struct obd_info *oinfo, @@ -431,7 +421,6 @@ int osc_real_create(struct obd_export *exp, struct obdo *oa, struct ost_body *body; struct lov_stripe_md *lsm; int rc; - ENTRY; LASSERT(oa); LASSERT(ea); @@ -440,7 +429,7 @@ int osc_real_create(struct obd_export *exp, struct obdo *oa, if (!lsm) { rc = obd_alloc_memmd(exp, &lsm); if (rc < 0) - RETURN(rc); + return rc; } req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_CREATE); @@ -506,7 +495,7 @@ out_req: out: if (rc && !*ea) obd_free_memmd(exp, &lsm); - RETURN(rc); + return rc; } int osc_punch_base(struct obd_export *exp, struct obd_info *oinfo, @@ -517,17 +506,16 @@ int osc_punch_base(struct obd_export *exp, struct obd_info *oinfo, struct osc_setattr_args *sa; struct ost_body *body; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_PUNCH); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_PUNCH); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } req->rq_request_portal = OST_IO_PORTAL; /* bug 7198 */ ptlrpc_at_set_req_timeout(req); @@ -551,7 +539,7 @@ int osc_punch_base(struct obd_export *exp, struct obd_info *oinfo, else ptlrpc_set_add_req(rqset, req); - RETURN(0); + return 0; } static int osc_punch(const struct lu_env *env, struct obd_export *exp, @@ -571,7 +559,6 @@ static int osc_sync_interpret(const struct lu_env *env, { struct osc_fsync_args *fa = arg; struct ost_body *body; - ENTRY; if (rc) GOTO(out, rc); @@ -585,7 +572,7 @@ static int osc_sync_interpret(const struct lu_env *env, *fa->fa_oi->oi_oa = body->oa; out: rc = fa->fa_upcall(fa->fa_cookie, rc); - RETURN(rc); + return rc; } int osc_sync_base(struct obd_export *exp, struct obd_info *oinfo, @@ -596,17 +583,16 @@ int osc_sync_base(struct obd_export *exp, struct obd_info *oinfo, struct ost_body *body; struct osc_fsync_args *fa; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_SYNC); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_SYNC); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } /* overload the size and blocks fields in the oa with start/end */ @@ -630,25 +616,23 @@ int osc_sync_base(struct obd_export *exp, struct obd_info *oinfo, else ptlrpc_set_add_req(rqset, req); - RETURN (0); + return 0; } static int osc_sync(const struct lu_env *env, struct obd_export *exp, struct obd_info *oinfo, obd_size start, obd_size end, struct ptlrpc_request_set *set) { - ENTRY; - if (!oinfo->oi_oa) { CDEBUG(D_INFO, "oa NULL\n"); - RETURN(-EINVAL); + return -EINVAL; } oinfo->oi_oa->o_size = start; oinfo->oi_oa->o_blocks = end; oinfo->oi_oa->o_valid |= (OBD_MD_FLSIZE | OBD_MD_FLBLOCKS); - RETURN(osc_sync_base(exp, oinfo, oinfo->oi_cb_up, oinfo, set)); + return osc_sync_base(exp, oinfo, oinfo->oi_cb_up, oinfo, set); } /* Find and cancel locally locks matched by @mode in the resource found by @@ -662,7 +646,6 @@ static int osc_resource_get_unused(struct obd_export *exp, struct obdo *oa, struct ldlm_res_id res_id; struct ldlm_resource *res; int count; - ENTRY; /* Return, i.e. cancel nothing, only if ELC is supported (flag in * export) but disabled through procfs (flag in NS). @@ -671,19 +654,19 @@ static int osc_resource_get_unused(struct obd_export *exp, struct obdo *oa, * when we still want to cancel locks in advance and just cancel them * locally, without sending any RPC. */ if (exp_connect_cancelset(exp) && !ns_connect_cancelset(ns)) - RETURN(0); + return 0; ostid_build_res_name(&oa->o_oi, &res_id); res = ldlm_resource_get(ns, NULL, &res_id, 0, 0); if (res == NULL) - RETURN(0); + return 0; LDLM_RESOURCE_ADDREF(res); count = ldlm_cancel_resource_local(res, cancels, NULL, mode, lock_flags, 0, NULL); LDLM_RESOURCE_DELREF(res); ldlm_resource_putref(res); - RETURN(count); + return count; } static int osc_destroy_interpret(const struct lu_env *env, @@ -720,7 +703,6 @@ int osc_create(const struct lu_env *env, struct obd_export *exp, struct obd_trans_info *oti) { int rc = 0; - ENTRY; LASSERT(oa); LASSERT(ea); @@ -728,16 +710,16 @@ int osc_create(const struct lu_env *env, struct obd_export *exp, if ((oa->o_valid & OBD_MD_FLFLAGS) && oa->o_flags == OBD_FL_RECREATE_OBJS) { - RETURN(osc_real_create(exp, oa, ea, oti)); + return osc_real_create(exp, oa, ea, oti); } if (!fid_seq_is_mdt(ostid_seq(&oa->o_oi))) - RETURN(osc_real_create(exp, oa, ea, oti)); + return osc_real_create(exp, oa, ea, oti); /* we should not get here anymore */ LBUG(); - RETURN(rc); + return rc; } /* Destroy requests can be async always on the client, and we don't even really @@ -760,11 +742,10 @@ static int osc_destroy(const struct lu_env *env, struct obd_export *exp, struct ost_body *body; LIST_HEAD(cancels); int rc, count; - ENTRY; if (!oa) { CDEBUG(D_INFO, "oa NULL\n"); - RETURN(-EINVAL); + return -EINVAL; } count = osc_resource_get_unused(exp, oa, &cancels, LCK_PW, @@ -773,7 +754,7 @@ static int osc_destroy(const struct lu_env *env, struct obd_export *exp, req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_DESTROY); if (req == NULL) { ldlm_lock_list_put(&cancels, l_bl_ast, count); - RETURN(-ENOMEM); + return -ENOMEM; } osc_set_capa_size(req, &RMF_CAPA1, (struct obd_capa *)capa); @@ -781,7 +762,7 @@ static int osc_destroy(const struct lu_env *env, struct obd_export *exp, 0, &cancels, count); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } req->rq_request_portal = OST_IO_PORTAL; /* bug 7198 */ @@ -817,7 +798,7 @@ static int osc_destroy(const struct lu_env *env, struct obd_export *exp, /* Do not wait for response */ ptlrpcd_add_req(req, PDL_POLICY_ROUND, -1); - RETURN(0); + return 0; } static void osc_announce_cached(struct client_obd *cli, struct obdo *oa, @@ -948,7 +929,6 @@ int osc_shrink_grant_to_target(struct client_obd *cli, __u64 target_bytes) { int rc = 0; struct ost_body *body; - ENTRY; client_obd_list_lock(&cli->cl_loi_list_lock); /* Don't shrink if we are already above or below the desired limit @@ -959,13 +939,13 @@ int osc_shrink_grant_to_target(struct client_obd *cli, __u64 target_bytes) if (target_bytes >= cli->cl_avail_grant) { client_obd_list_unlock(&cli->cl_loi_list_lock); - RETURN(0); + return 0; } client_obd_list_unlock(&cli->cl_loi_list_lock); OBD_ALLOC_PTR(body); if (!body) - RETURN(-ENOMEM); + return -ENOMEM; osc_announce_cached(cli, &body->oa, 0); @@ -986,7 +966,7 @@ int osc_shrink_grant_to_target(struct client_obd *cli, __u64 target_bytes) if (rc != 0) __osc_update_grant(cli, body->oa.o_grant); OBD_FREE_PTR(body); - RETURN(rc); + return rc; } static int osc_should_shrink_grant(struct client_obd *client) @@ -1256,11 +1236,10 @@ static int osc_brw_prep_request(int cmd, struct client_obd *cli,struct obdo *oa, struct req_capsule *pill; struct brw_page *pg_prev; - ENTRY; if (OBD_FAIL_CHECK(OBD_FAIL_OSC_BRW_PREP_REQ)) - RETURN(-ENOMEM); /* Recoverable */ + return -ENOMEM; /* Recoverable */ if (OBD_FAIL_CHECK(OBD_FAIL_OSC_BRW_PREP_REQ2)) - RETURN(-EINVAL); /* Fatal */ + return -EINVAL; /* Fatal */ if ((cmd & OBD_BRW_WRITE) != 0) { opc = OST_WRITE; @@ -1272,7 +1251,7 @@ static int osc_brw_prep_request(int cmd, struct client_obd *cli,struct obdo *oa, req = ptlrpc_request_alloc(cli->cl_import, &RQF_OST_BRW_READ); } if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; for (niocount = i = 1; i < page_count; i++) { if (!can_merge_pages(pga[i - 1], pga[i])) @@ -1289,7 +1268,7 @@ static int osc_brw_prep_request(int cmd, struct client_obd *cli,struct obdo *oa, rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, opc); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } req->rq_request_portal = OST_IO_PORTAL; /* bug 7198 */ ptlrpc_at_set_req_timeout(req); @@ -1435,11 +1414,11 @@ static int osc_brw_prep_request(int cmd, struct client_obd *cli,struct obdo *oa, aa->aa_ocapa = capa_get(ocapa); *reqp = req; - RETURN(0); + return 0; out: ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static int check_write_checksum(struct obdo *oa, const lnet_process_id_t *peer, @@ -1496,18 +1475,17 @@ static int osc_brw_fini_request(struct ptlrpc_request *req, int rc) struct client_obd *cli = aa->aa_cli; struct ost_body *body; __u32 client_cksum = 0; - ENTRY; if (rc < 0 && rc != -EDQUOT) { DEBUG_REQ(D_INFO, req, "Failed request with rc = %d\n", rc); - RETURN(rc); + return rc; } LASSERTF(req->rq_repmsg != NULL, "rc = %d\n", rc); body = req_capsule_server_get(&req->rq_pill, &RMF_OST_BODY); if (body == NULL) { DEBUG_REQ(D_INFO, req, "Can't unpack body\n"); - RETURN(-EPROTO); + return -EPROTO; } /* set/clear over quota flag for a uid/gid */ @@ -1524,7 +1502,7 @@ static int osc_brw_fini_request(struct ptlrpc_request *req, int rc) osc_update_grant(cli, body); if (rc < 0) - RETURN(rc); + return rc; if (aa->aa_oa->o_valid & OBD_MD_FLCKSUM) client_cksum = aa->aa_oa->o_cksum; /* save for later */ @@ -1532,19 +1510,19 @@ static int osc_brw_fini_request(struct ptlrpc_request *req, int rc) if (lustre_msg_get_opc(req->rq_reqmsg) == OST_WRITE) { if (rc > 0) { CERROR("Unexpected +ve rc %d\n", rc); - RETURN(-EPROTO); + return -EPROTO; } LASSERT(req->rq_bulk->bd_nob == aa->aa_requested_nob); if (sptlrpc_cli_unwrap_bulk_write(req, req->rq_bulk)) - RETURN(-EAGAIN); + return -EAGAIN; if ((aa->aa_oa->o_valid & OBD_MD_FLCKSUM) && client_cksum && check_write_checksum(&body->oa, peer, client_cksum, body->oa.o_cksum, aa->aa_requested_nob, aa->aa_page_count, aa->aa_ppga, cksum_type_unpack(aa->aa_oa->o_flags))) - RETURN(-EAGAIN); + return -EAGAIN; rc = check_write_rcs(req, aa->aa_requested_nob,aa->aa_nio_count, aa->aa_page_count, aa->aa_ppga); @@ -1561,7 +1539,7 @@ static int osc_brw_fini_request(struct ptlrpc_request *req, int rc) if (rc > aa->aa_requested_nob) { CERROR("Unexpected rc %d (%d requested)\n", rc, aa->aa_requested_nob); - RETURN(-EPROTO); + return -EPROTO; } if (rc != req->rq_bulk->bd_nob_transferred) { @@ -1641,7 +1619,7 @@ out: lustre_get_wire_obdo(&req->rq_import->imp_connect_data, aa->aa_oa, &body->oa); - RETURN(rc); + return rc; } static int osc_brw_internal(int cmd, struct obd_export *exp, struct obdo *oa, @@ -1655,8 +1633,6 @@ static int osc_brw_internal(int cmd, struct obd_export *exp, struct obdo *oa, int generation, resends = 0; struct l_wait_info lwi; - ENTRY; - init_waitqueue_head(&waitq); generation = exp->exp_obd->u.cli.cl_import->imp_generation; @@ -1711,7 +1687,7 @@ restart_bulk: out: if (rc == -EAGAIN || rc == -EINPROGRESS) rc = -EIO; - RETURN (rc); + return rc; } static int osc_brw_redo_request(struct ptlrpc_request *request, @@ -1720,7 +1696,6 @@ static int osc_brw_redo_request(struct ptlrpc_request *request, struct ptlrpc_request *new_req; struct osc_brw_async_args *new_aa; struct osc_async_page *oap; - ENTRY; DEBUG_REQ(rc == -EINPROGRESS ? D_RPCTRACE : D_ERROR, request, "redo for recoverable error %d", rc); @@ -1732,7 +1707,7 @@ static int osc_brw_redo_request(struct ptlrpc_request *request, aa->aa_page_count, aa->aa_ppga, &new_req, aa->aa_ocapa, 0, 1); if (rc) - RETURN(rc); + return rc; list_for_each_entry(oap, &aa->aa_oaps, oap_rpc_item) { if (oap->oap_request != NULL) { @@ -1741,7 +1716,7 @@ static int osc_brw_redo_request(struct ptlrpc_request *request, request, oap->oap_request); if (oap->oap_interrupted) { ptlrpc_req_finished(new_req); - RETURN(-EINTR); + return -EINTR; } } } @@ -1784,7 +1759,7 @@ static int osc_brw_redo_request(struct ptlrpc_request *request, ptlrpcd_add_req(new_req, PDL_POLICY_SAME, -1); DEBUG_REQ(D_INFO, new_req, "new request"); - RETURN(0); + return 0; } /* @@ -1873,7 +1848,6 @@ static int osc_brw(int cmd, struct obd_export *exp, struct obd_info *oinfo, struct obd_import *imp = class_exp2cliimp(exp); struct client_obd *cli; int rc, page_count_orig; - ENTRY; LASSERT((imp != NULL) && (imp->imp_obd != NULL)); cli = &imp->imp_obd->u.cli; @@ -1883,8 +1857,8 @@ static int osc_brw(int cmd, struct obd_export *exp, struct obd_info *oinfo, * I/O can succeed */ if (imp->imp_invalid) - RETURN(-EIO); - RETURN(0); + return -EIO; + return 0; } /* test_brw with a failed create can trip this, maybe others. */ @@ -1894,7 +1868,7 @@ static int osc_brw(int cmd, struct obd_export *exp, struct obd_info *oinfo, orig = ppga = osc_build_ppga(pga, page_count); if (ppga == NULL) - RETURN(-ENOMEM); + return -ENOMEM; page_count_orig = page_count; sort_brw_pages(ppga, page_count); @@ -1935,7 +1909,7 @@ out: if (saved_oa != NULL) OBDO_FREE(saved_oa); - RETURN(rc); + return rc; } static int brw_interpret(const struct lu_env *env, @@ -1946,7 +1920,6 @@ static int brw_interpret(const struct lu_env *env, struct osc_extent *tmp; struct cl_object *obj = NULL; struct client_obd *cli = aa->aa_cli; - ENTRY; rc = osc_brw_fini_request(req, rc); CDEBUG(D_INODE, "request %p aa %p rc %d\n", req, aa, rc); @@ -1970,7 +1943,7 @@ static int brw_interpret(const struct lu_env *env, } if (rc == 0) - RETURN(0); + return 0; else if (rc == -EAGAIN || rc == -EINPROGRESS) rc = -EIO; } @@ -2040,7 +2013,7 @@ static int brw_interpret(const struct lu_env *env, client_obd_list_unlock(&cli->cl_loi_list_lock); osc_io_unplug(env, cli, NULL, PDL_POLICY_SAME); - RETURN(rc); + return rc; } /** @@ -2072,7 +2045,6 @@ int osc_build_rpc(const struct lu_env *env, struct client_obd *cli, int rc; LIST_HEAD(rpc_list); - ENTRY; LASSERT(!list_empty(ext_list)); /* add pages into rpc_list to build BRW rpc */ @@ -2228,7 +2200,6 @@ int osc_build_rpc(const struct lu_env *env, struct client_obd *cli, */ ptlrpcd_add_req(req, pol, -1); rc = 0; - EXIT; out: if (mem_tight != 0) @@ -2257,7 +2228,7 @@ out: if (clerq && !IS_ERR(clerq)) cl_req_completion(env, clerq, rc); } - RETURN(rc); + return rc; } static int osc_set_lock_data_with_check(struct ldlm_lock *lock, @@ -2337,7 +2308,6 @@ static int osc_enqueue_fini(struct ptlrpc_request *req, struct ost_lvb *lvb, __u64 *flags, int agl, int rc) { int intent = *flags & LDLM_FL_HAS_INTENT; - ENTRY; if (intent) { /* The request was created before ldlm_cli_enqueue call. */ @@ -2347,6 +2317,8 @@ static int osc_enqueue_fini(struct ptlrpc_request *req, struct ost_lvb *lvb, &RMF_DLM_REP); LASSERT(rep != NULL); + rep->lock_policy_res1 = + ptlrpc_status_ntoh(rep->lock_policy_res1); if (rep->lock_policy_res1) rc = rep->lock_policy_res1; } @@ -2361,7 +2333,7 @@ static int osc_enqueue_fini(struct ptlrpc_request *req, struct ost_lvb *lvb, /* Call the update callback. */ rc = (*upcall)(cookie, rc); - RETURN(rc); + return rc; } static int osc_enqueue_interpret(const struct lu_env *env, @@ -2494,7 +2466,6 @@ int osc_enqueue_base(struct obd_export *exp, struct ldlm_res_id *res_id, int match_lvb = (agl != 0 ? 0 : LDLM_FL_LVB_READY); ldlm_mode_t mode; int rc; - ENTRY; /* Filesystem lock extents are extended to page boundaries so that * dealing with the page cache is a little smoother. */ @@ -2536,7 +2507,7 @@ int osc_enqueue_base(struct obd_export *exp, struct ldlm_res_id *res_id, * Return -ECANCELED to tell the caller. */ ldlm_lock_decref(lockh, mode); LDLM_LOCK_PUT(matched); - RETURN(-ECANCELED); + return -ECANCELED; } else if (osc_set_lock_data_with_check(matched, einfo)) { *flags |= LDLM_FL_LVB_READY; /* addref the lock only if not async requests and PW @@ -2561,7 +2532,7 @@ int osc_enqueue_base(struct obd_export *exp, struct ldlm_res_id *res_id, /* For async requests, decref the lock. */ ldlm_lock_decref(lockh, einfo->ei_mode); LDLM_LOCK_PUT(matched); - RETURN(ELDLM_OK); + return ELDLM_OK; } else { ldlm_lock_decref(lockh, mode); LDLM_LOCK_PUT(matched); @@ -2574,12 +2545,12 @@ int osc_enqueue_base(struct obd_export *exp, struct ldlm_res_id *res_id, req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_LDLM_ENQUEUE_LVB); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; rc = ldlm_prep_enqueue_req(exp, req, &cancels, 0); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } req_capsule_set_size(&req->rq_pill, &RMF_DLM_LVB, RCL_SERVER, @@ -2615,14 +2586,14 @@ int osc_enqueue_base(struct obd_export *exp, struct ldlm_res_id *res_id, } else if (intent) { ptlrpc_req_finished(req); } - RETURN(rc); + return rc; } rc = osc_enqueue_fini(req, lvb, upcall, cookie, flags, agl, rc); if (intent) ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static int osc_enqueue(struct obd_export *exp, struct obd_info *oinfo, @@ -2631,7 +2602,6 @@ static int osc_enqueue(struct obd_export *exp, struct obd_info *oinfo, { struct ldlm_res_id res_id; int rc; - ENTRY; ostid_build_res_name(&oinfo->oi_md->lsm_oi, &res_id); rc = osc_enqueue_base(exp, &res_id, &oinfo->oi_flags, &oinfo->oi_policy, @@ -2639,7 +2609,7 @@ static int osc_enqueue(struct obd_export *exp, struct obd_info *oinfo, oinfo->oi_md->lsm_oinfo[0]->loi_kms_valid, oinfo->oi_cb_up, oinfo, einfo, oinfo->oi_lockh, rqset, rqset != NULL, 0); - RETURN(rc); + return rc; } int osc_match_base(struct obd_export *exp, struct ldlm_res_id *res_id, @@ -2650,10 +2620,9 @@ int osc_match_base(struct obd_export *exp, struct ldlm_res_id *res_id, struct obd_device *obd = exp->exp_obd; int lflags = *flags; ldlm_mode_t rc; - ENTRY; if (OBD_FAIL_CHECK(OBD_FAIL_OSC_MATCH)) - RETURN(-EIO); + return -EIO; /* Filesystem lock extents are extended to page boundaries so that * dealing with the page cache is a little smoother */ @@ -2674,35 +2643,32 @@ int osc_match_base(struct obd_export *exp, struct ldlm_res_id *res_id, if (!osc_set_data_with_check(lockh, data)) { if (!(lflags & LDLM_FL_TEST_LOCK)) ldlm_lock_decref(lockh, rc); - RETURN(0); + return 0; } } if (!(lflags & LDLM_FL_TEST_LOCK) && mode != rc) { ldlm_lock_addref(lockh, LCK_PR); ldlm_lock_decref(lockh, LCK_PW); } - RETURN(rc); + return rc; } - RETURN(rc); + return rc; } int osc_cancel_base(struct lustre_handle *lockh, __u32 mode) { - ENTRY; - if (unlikely(mode == LCK_GROUP)) ldlm_lock_decref_and_cancel(lockh, mode); else ldlm_lock_decref(lockh, mode); - RETURN(0); + return 0; } static int osc_cancel(struct obd_export *exp, struct lov_stripe_md *md, __u32 mode, struct lustre_handle *lockh) { - ENTRY; - RETURN(osc_cancel_base(lockh, mode)); + return osc_cancel_base(lockh, mode); } static int osc_cancel_unused(struct obd_export *exp, @@ -2726,7 +2692,6 @@ static int osc_statfs_interpret(const struct lu_env *env, struct osc_async_args *aa, int rc) { struct obd_statfs *msfs; - ENTRY; if (rc == -EBADR) /* The request has in fact never been sent @@ -2734,7 +2699,7 @@ static int osc_statfs_interpret(const struct lu_env *env, * Exit immediately since the caller is * aware of the problem and takes care * of the clean up */ - RETURN(rc); + return rc; if ((rc == -ENOTCONN || rc == -EAGAIN) && (aa->aa_oi->oi_flags & OBD_STATFS_NODELAY)) @@ -2751,7 +2716,7 @@ static int osc_statfs_interpret(const struct lu_env *env, *aa->aa_oi->oi_osfs = *msfs; out: rc = aa->aa_oi->oi_cb_up(aa->aa_oi, rc); - RETURN(rc); + return rc; } static int osc_statfs_async(struct obd_export *exp, @@ -2762,7 +2727,6 @@ static int osc_statfs_async(struct obd_export *exp, struct ptlrpc_request *req; struct osc_async_args *aa; int rc; - ENTRY; /* We could possibly pass max_age in the request (as an absolute * timestamp or a "seconds.usec ago") so the target can avoid doing @@ -2772,12 +2736,12 @@ static int osc_statfs_async(struct obd_export *exp, * timestamps are not ideal because they need time synchronization. */ req = ptlrpc_request_alloc(obd->u.cli.cl_import, &RQF_OST_STATFS); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_STATFS); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } ptlrpc_request_set_replen(req); req->rq_request_portal = OST_CREATE_PORTAL; @@ -2795,7 +2759,7 @@ static int osc_statfs_async(struct obd_export *exp, aa->aa_oi = oinfo; ptlrpc_set_add_req(rqset, req); - RETURN(0); + return 0; } static int osc_statfs(const struct lu_env *env, struct obd_export *exp, @@ -2806,7 +2770,6 @@ static int osc_statfs(const struct lu_env *env, struct obd_export *exp, struct ptlrpc_request *req; struct obd_import *imp = NULL; int rc; - ENTRY; /*Since the request might also come from lprocfs, so we need *sync this with client_disconnect_export Bug15684*/ @@ -2815,7 +2778,7 @@ static int osc_statfs(const struct lu_env *env, struct obd_export *exp, imp = class_import_get(obd->u.cli.cl_import); up_read(&obd->u.cli.cl_sem); if (!imp) - RETURN(-ENODEV); + return -ENODEV; /* We could possibly pass max_age in the request (as an absolute * timestamp or a "seconds.usec ago") so the target can avoid doing @@ -2828,12 +2791,12 @@ static int osc_statfs(const struct lu_env *env, struct obd_export *exp, class_import_put(imp); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_STATFS); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } ptlrpc_request_set_replen(req); req->rq_request_portal = OST_CREATE_PORTAL; @@ -2856,7 +2819,6 @@ static int osc_statfs(const struct lu_env *env, struct obd_export *exp, *osfs = *msfs; - EXIT; out: ptlrpc_req_finished(req); return rc; @@ -2874,20 +2836,19 @@ static int osc_getstripe(struct lov_stripe_md *lsm, struct lov_user_md *lump) struct lov_user_md_v3 lum, *lumk; struct lov_user_ost_data_v1 *lmm_objects; int rc = 0, lum_size; - ENTRY; if (!lsm) - RETURN(-ENODATA); + return -ENODATA; /* we only need the header part from user space to get lmm_magic and * lmm_stripe_count, (the header part is common to v1 and v3) */ lum_size = sizeof(struct lov_user_md_v1); if (copy_from_user(&lum, lump, lum_size)) - RETURN(-EFAULT); + return -EFAULT; if ((lum.lmm_magic != LOV_USER_MAGIC_V1) && (lum.lmm_magic != LOV_USER_MAGIC_V3)) - RETURN(-EINVAL); + return -EINVAL; /* lov_user_md_vX and lov_mds_md_vX must have the same size */ LASSERT(sizeof(struct lov_user_md_v1) == sizeof(struct lov_mds_md_v1)); @@ -2900,7 +2861,7 @@ static int osc_getstripe(struct lov_stripe_md *lsm, struct lov_user_md *lump) lum_size = lov_mds_md_size(lum.lmm_stripe_count, lum.lmm_magic); OBD_ALLOC(lumk, lum_size); if (!lumk) - RETURN(-ENOMEM); + return -ENOMEM; if (lum.lmm_magic == LOV_USER_MAGIC_V1) lmm_objects = @@ -2922,7 +2883,7 @@ static int osc_getstripe(struct lov_stripe_md *lsm, struct lov_user_md *lump) if (lumk != &lum) OBD_FREE(lumk, lum_size); - RETURN(rc); + return rc; } @@ -2932,7 +2893,6 @@ static int osc_iocontrol(unsigned int cmd, struct obd_export *exp, int len, struct obd_device *obd = exp->exp_obd; struct obd_ioctl_data *data = karg; int err = 0; - ENTRY; if (!try_module_get(THIS_MODULE)) { CERROR("Can't get module. Is it alive?"); @@ -3016,15 +2976,14 @@ static int osc_get_info(const struct lu_env *env, struct obd_export *exp, obd_count keylen, void *key, __u32 *vallen, void *val, struct lov_stripe_md *lsm) { - ENTRY; if (!vallen || !val) - RETURN(-EFAULT); + return -EFAULT; if (KEY_IS(KEY_LOCK_TO_STRIPE)) { __u32 *stripe = val; *vallen = sizeof(*stripe); *stripe = 0; - RETURN(0); + return 0; } else if (KEY_IS(KEY_LAST_ID)) { struct ptlrpc_request *req; obd_id *reply; @@ -3034,14 +2993,14 @@ static int osc_get_info(const struct lu_env *env, struct obd_export *exp, req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_OST_GET_INFO_LAST_ID); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; req_capsule_set_size(&req->rq_pill, &RMF_SETINFO_KEY, RCL_CLIENT, keylen); rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_GET_INFO); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } tmp = req_capsule_client_get(&req->rq_pill, &RMF_SETINFO_KEY); @@ -3060,7 +3019,7 @@ static int osc_get_info(const struct lu_env *env, struct obd_export *exp, *((obd_id *)val) = *reply; out: ptlrpc_req_finished(req); - RETURN(rc); + return rc; } else if (KEY_IS(KEY_FIEMAP)) { struct ll_fiemap_info_key *fm_key = (struct ll_fiemap_info_key *)key; @@ -3142,10 +3101,10 @@ fini_req: drop_lock: if (mode) ldlm_lock_decref(&lockh, LCK_PR); - RETURN(rc); + return rc; } - RETURN(-EINVAL); + return -EINVAL; } static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, @@ -3157,25 +3116,24 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, struct obd_import *imp = class_exp2cliimp(exp); char *tmp; int rc; - ENTRY; OBD_FAIL_TIMEOUT(OBD_FAIL_OSC_SHUTDOWN, 10); if (KEY_IS(KEY_CHECKSUM)) { if (vallen != sizeof(int)) - RETURN(-EINVAL); + return -EINVAL; exp->exp_obd->u.cli.cl_checksum = (*(int *)val) ? 1 : 0; - RETURN(0); + return 0; } if (KEY_IS(KEY_SPTLRPC_CONF)) { sptlrpc_conf_client_adapt(obd); - RETURN(0); + return 0; } if (KEY_IS(KEY_FLUSH_CTX)) { sptlrpc_import_flush_my_ctx(imp); - RETURN(0); + return 0; } if (KEY_IS(KEY_CACHE_SET)) { @@ -3192,7 +3150,7 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, list_add(&cli->cl_lru_osc, &cli->cl_cache->ccc_lru); spin_unlock(&cli->cl_cache->ccc_lru_lock); - RETURN(0); + return 0; } if (KEY_IS(KEY_CACHE_LRU_SHRINK)) { @@ -3202,11 +3160,11 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, nr = osc_lru_shrink(cli, min(nr, target)); *(int *)val -= nr; - RETURN(0); + return 0; } if (!set && !KEY_IS(KEY_GRANT_SHRINK)) - RETURN(-EINVAL); + return -EINVAL; /* We pass all other commands directly to OST. Since nobody calls osc methods directly and everybody is supposed to go through LOV, we @@ -3219,7 +3177,7 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, &RQF_OST_SET_GRANT_INFO : &RQF_OBD_SET_INFO); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; req_capsule_set_size(&req->rq_pill, &RMF_SETINFO_KEY, RCL_CLIENT, keylen); @@ -3229,7 +3187,7 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_SET_INFO); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } tmp = req_capsule_client_get(&req->rq_pill, &RMF_SETINFO_KEY); @@ -3248,7 +3206,7 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, OBDO_ALLOC(oa); if (!oa) { ptlrpc_req_finished(req); - RETURN(-ENOMEM); + return -ENOMEM; } *oa = ((struct ost_body *)val)->oa; aa->aa_oa = oa; @@ -3263,7 +3221,7 @@ static int osc_set_info_async(const struct lu_env *env, struct obd_export *exp, } else ptlrpcd_add_req(req, PDL_POLICY_ROUND, -1); - RETURN(0); + return 0; } @@ -3280,8 +3238,6 @@ static int osc_llog_finish(struct obd_device *obd, int count) { struct llog_ctxt *ctxt; - ENTRY; - ctxt = llog_get_context(obd, LLOG_MDS_OST_ORIG_CTXT); if (ctxt) { llog_cat_close(NULL, ctxt->loc_handle); @@ -3291,7 +3247,7 @@ static int osc_llog_finish(struct obd_device *obd, int count) ctxt = llog_get_context(obd, LLOG_SIZE_REPL_CTXT); if (ctxt) llog_cleanup(NULL, ctxt); - RETURN(0); + return 0; } static int osc_reconnect(const struct lu_env *env, @@ -3317,7 +3273,7 @@ static int osc_reconnect(const struct lu_env *env, data->ocd_version, data->ocd_grant, lost_grant); } - RETURN(0); + return 0; } static int osc_disconnect(struct obd_export *exp) @@ -3369,7 +3325,6 @@ static int osc_import_event(struct obd_device *obd, struct client_obd *cli; int rc = 0; - ENTRY; LASSERT(imp->imp_obd == obd); switch (event) { @@ -3433,7 +3388,7 @@ static int osc_import_event(struct obd_device *obd, CERROR("Unknown import event %d\n", event); LBUG(); } - RETURN(rc); + return rc; } /** @@ -3457,9 +3412,9 @@ static int osc_cancel_for_recovery(struct ldlm_lock *lock) (lock->l_granted_mode == LCK_PR || lock->l_granted_mode == LCK_CR) && (osc_dlm_lock_pageref(lock) == 0)) - RETURN(1); + return 1; - RETURN(0); + return 0; } static int brw_queue_work(const struct lu_env *env, void *data) @@ -3469,7 +3424,7 @@ static int brw_queue_work(const struct lu_env *env, void *data) CDEBUG(D_CACHE, "Run writeback work for client obd %p.\n", cli); osc_io_unplug(env, cli, NULL, PDL_POLICY_SAME); - RETURN(0); + return 0; } int osc_setup(struct obd_device *obd, struct lustre_cfg *lcfg) @@ -3478,11 +3433,10 @@ int osc_setup(struct obd_device *obd, struct lustre_cfg *lcfg) struct client_obd *cli = &obd->u.cli; void *handler; int rc; - ENTRY; rc = ptlrpcd_addref(); if (rc) - RETURN(rc); + return rc; rc = client_obd_setup(obd, lcfg); if (rc) @@ -3517,7 +3471,7 @@ int osc_setup(struct obd_device *obd, struct lustre_cfg *lcfg) INIT_LIST_HEAD(&cli->cl_grant_shrink_list); ns_register_cancel(obd->obd_namespace, osc_cancel_for_recovery); - RETURN(rc); + return rc; out_ptlrpcd_work: ptlrpcd_destroy_work(handler); @@ -3525,13 +3479,12 @@ out_client_setup: client_obd_cleanup(obd); out_ptlrpcd: ptlrpcd_decref(); - RETURN(rc); + return rc; } static int osc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage) { int rc = 0; - ENTRY; switch (stage) { case OBD_CLEANUP_EARLY: { @@ -3570,7 +3523,7 @@ static int osc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage) break; } } - RETURN(rc); + return rc; } int osc_cleanup(struct obd_device *obd) @@ -3578,8 +3531,6 @@ int osc_cleanup(struct obd_device *obd) struct client_obd *cli = &obd->u.cli; int rc; - ENTRY; - /* lru cleanup */ if (cli->cl_cache != NULL) { LASSERT(atomic_read(&cli->cl_cache->ccc_users) > 0); @@ -3597,7 +3548,7 @@ int osc_cleanup(struct obd_device *obd) rc = client_obd_cleanup(obd); ptlrpcd_decref(); - RETURN(rc); + return rc; } int osc_process_config_base(struct obd_device *obd, struct lustre_cfg *lcfg) @@ -3671,7 +3622,6 @@ int __init osc_init(void) { struct lprocfs_static_vars lvars = { 0 }; int rc; - ENTRY; /* print an address of _any_ initialized kernel symbol from this * module, to allow debugging with gdb that doesn't support data @@ -3679,6 +3629,8 @@ int __init osc_init(void) CDEBUG(D_INFO, "Lustre OSC module (%p).\n", &osc_caches); rc = lu_kmem_init(osc_caches); + if (rc) + return rc; lprocfs_osc_init_vars(&lvars); @@ -3686,13 +3638,13 @@ int __init osc_init(void) LUSTRE_OSC_NAME, &osc_device_type); if (rc) { lu_kmem_fini(osc_caches); - RETURN(rc); + return rc; } spin_lock_init(&osc_ast_guard); lockdep_set_class(&osc_ast_guard, &osc_ast_guard_class); - RETURN(rc); + return rc; } static void /*__exit*/ osc_exit(void) @@ -3704,5 +3656,7 @@ static void /*__exit*/ osc_exit(void) MODULE_AUTHOR("Sun Microsystems, Inc. <http://www.lustre.org/>"); MODULE_DESCRIPTION("Lustre Object Storage Client (OSC)"); MODULE_LICENSE("GPL"); +MODULE_VERSION(LUSTRE_VERSION_STRING); -cfs_module(osc, LUSTRE_VERSION_STRING, osc_init, osc_exit); +module_init(osc_init); +module_exit(osc_exit); |