X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fost%2Fost_handler.c;h=e72d6d1610e940f6aa7fa3d8ebc877591d92eb71;hp=966728b701fa76407fbea6d2a7b53698af70d96c;hb=313f87df046b0dfe31d56b902bb66d9bf98d8709;hpb=052fd01c39dba9c81c5a9beaa904d1204e63f3a0 diff --git a/lustre/ost/ost_handler.c b/lustre/ost/ost_handler.c index 966728b..e72d6d1 100644 --- a/lustre/ost/ost_handler.c +++ b/lustre/ost/ost_handler.c @@ -59,6 +59,10 @@ static int ost_num_threads; CFS_MODULE_PARM(ost_num_threads, "i", int, 0444, "number of OST service threads to start (deprecated)"); +static int oss_num_create_threads; +CFS_MODULE_PARM(oss_num_create_threads, "i", int, 0444, + "number of OSS create threads to start"); + void oti_to_request(struct obd_trans_info *oti, struct ptlrpc_request *req) { struct oti_req_ack_lock *ack_lock; @@ -1712,6 +1716,8 @@ static int ost_setup(struct obd_device *obd, struct lustre_cfg* lcfg) struct lprocfs_static_vars lvars; int oss_min_threads; int oss_max_threads; + int oss_min_create_threads; + int oss_max_create_threads; int rc; ENTRY; @@ -1765,12 +1771,26 @@ static int ost_setup(struct obd_device *obd, struct lustre_cfg* lcfg) if (rc) GOTO(out_service, rc = -EINVAL); + if (oss_num_create_threads) { + if (oss_num_create_threads > OSS_MAX_CREATE_THREADS) + oss_num_create_threads = OSS_MAX_CREATE_THREADS; + if (oss_num_create_threads < OSS_DEF_CREATE_THREADS) + oss_num_create_threads = OSS_DEF_CREATE_THREADS; + oss_min_create_threads = oss_max_create_threads = + oss_num_create_threads; + } else { + oss_min_create_threads = OSS_DEF_CREATE_THREADS; + oss_max_create_threads = OSS_MAX_CREATE_THREADS; + } + ost->ost_create_service = ptlrpc_init_svc(OST_NBUFS, OST_BUFSIZE, OST_MAXREQSIZE, OST_MAXREPSIZE, OST_CREATE_PORTAL, OSC_REPLY_PORTAL, OST_WATCHDOG_TIMEOUT, ost_handle, "ost_create", - obd->obd_proc_entry, ost_print_req, 1, 1, + obd->obd_proc_entry, ost_print_req, + oss_min_create_threads, + oss_max_create_threads, "ll_ost_creat", LCT_DT_THREAD); if (ost->ost_create_service == NULL) { CERROR("failed to start OST create service\n");