[00:13:05] *** Quits: dlw (~Thunderbi@114.246.97.74) (Remote host closed the connection) [00:45:41] *** Joins: tomzawadzki (~tomzawadz@134.134.139.72) [01:21:45] *** Quits: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) (Ping timeout: 260 seconds) [01:23:29] *** Quits: niu_ (c0c693a4@gateway/web/freenode/ip.192.198.147.164) (Ping timeout: 260 seconds) [04:01:52] *** Joins: tkulasek (tkulasek@nat/intel/x-ncxurxorkjdgnicx) [07:43:48] *** Joins: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) [07:47:04] FYI community meeting is roughly 15 min from now (Euro series)... see https://trello.com/b/DvM7XayJ/spdk-community-meeting-agenda to add agenda topics [08:47:10] Thanks everyone for your attendance! [08:49:10] *** Quits: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) (Ping timeout: 260 seconds) [09:00:27] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [09:00:28] (spdk/master) iscsi: enable per-core cache for PDU data-out pool (GangCao) [09:00:29] Diff URL: https://github.com/spdk/spdk/compare/583bc2efad71...3bce3519166f [09:00:29] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [09:02:49] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [09:02:50] (spdk/master) scripts/rpc.py: move exit on error to rpc.py (Karol Latecki) [09:02:50] Diff URL: https://github.com/spdk/spdk/compare/3bce3519166f...8d27c0237888 [09:02:50] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [09:04:35] *** Quits: tomzawadzki (~tomzawadz@134.134.139.72) (Ping timeout: 240 seconds) [09:22:00] *** Joins: param (~param@157.49.246.231) [09:36:54] drv : jim : This is with respect to the comment for https://review.gerrithub.io/#/c/405489/ spdk_nvmf_rdma_port has ref. This is incremented when listen and decremented when stop_listen. So this function can still be present and the change is we should check during the connection request if the transport id of this port is part of the listener address of the respective subsystem and accept only if it is a part of it. Please correct me if i am wrong. [09:38:17] hi param - I've been away on sabbatical but I'm back now. What bug is that patch attempting to fix? [09:38:31] because I agree with drv's comments - the transport is already being instructed to listen. [09:38:48] no.. its for the second comment.. [09:38:57] first comment I agree it was my mistake.. [09:39:44] it is for the comment in spdk_nvmf_subsystem_remove_listener [09:39:51] that said, there is a race condition (there is a big comment in the code saying so) that occasionally hits in the test pool with the adding listener path that I'm fixing [09:40:00] I see [09:40:09] so a few conceptual things [09:40:34] "listeners" belong to targets - they're "global" and shared across subsystems [09:40:44] because subsystems can all accept connections from the same listen address [09:41:04] but each subsystem individually has a list of allowed listen addresses [09:41:10] as a filter - access control [09:41:29] the code in lib/nvmf/subsystem.c is dealing with just subsystem stuff [09:41:38] which is just that access control list [09:41:46] it isn't the right place to tell the whole target to stop listening [09:42:20] you'd do that in nvmf.c [09:45:22] *** Quits: tkulasek (tkulasek@nat/intel/x-ncxurxorkjdgnicx) (Ping timeout: 268 seconds) [09:49:45] in this case, you'd want to consider doing that from within nvmf_rpc_subsystem_remove_listener [09:49:46] *** Joins: param_ (~param@157.49.246.231) [09:50:16] by querying the ref count on the global listener [09:50:55] you're ultimately right that it needs to stop listening at the given address if no subsystems accept new connections from it [09:50:55] *** Quits: param (~param@157.49.246.231) (Ping timeout: 268 seconds) [09:51:01] *** param_ is now known as param [09:56:18] yeah i think i get it Ben.. my other doubt is that when will the ref in spdk_nvmf_rdma_port be incremented? [10:05:26] that will be incremented only when there are more than one nvmf_tgt listen called on same spdk_nvmf_rdma_port right? Correct me if I am wrong [10:07:15] I'm taking a look [10:08:57] each spdk_nvmf_listener, which defines an address at which the a target will accept connections, is unique to that target [10:09:42] if you think about the network as traditional tcp/ip - a listener is defining an (ip, port) pair that you call bind() and listen() on [10:10:01] so two nvmf_tgt objects can't ever share the same listener [10:10:24] however, two nvmf subsystems within the same nvmf_tgt can be accepting connections over a shared listener [10:10:35] so when this translates down into the rdma transport layer [10:10:48] spdk_nvmf_listener maps to spdk_nvmf_rdma_port [10:11:12] so that ref count is tracking how many subsystems are accepting connections on that port [10:11:30] when it drops to 0, it's safe to stop listening [10:12:10] but currently the code does not do that [10:14:03] *** Joins: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) [10:14:04] (spdk/master) test/iscsi: change target IP for calsoft tests (Tomasz Zawadzki) [10:14:05] Diff URL: https://github.com/spdk/spdk/compare/8d27c0237888...c99069fd4602 [10:14:05] *** Parts: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) () [10:29:26] *** Joins: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) [10:29:27] (spdk/master) Segfault occurs during connect to the subsystem when a namespace is added with a nsid smaller than the nsid previously added (suman chakraborty) [10:29:27] Diff URL: https://github.com/spdk/spdk/compare/af7cbd44b0ee...bc9423e2295d [10:29:27] *** Parts: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) () [10:33:41] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [10:33:42] (spdk/master) rpc: fix initiator address verification (Slawomir Mrozowicz) [10:33:42] Diff URL: https://github.com/spdk/spdk/compare/bc9423e2295d...5f9ba5b83708 [10:33:42] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [10:41:51] bwalker : yeah.. thanks for the detailed explanation.. i get it now.. [10:59:29] *** Quits: param (~param@157.49.246.231) (Ping timeout: 248 seconds) [11:01:55] *** Joins: param (~param@157.49.246.231) [11:15:50] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [11:15:52] (spdk/master) nvmf: set the subsystem state to inactive when removing it (Changpeng Liu) [11:15:52] Diff URL: https://github.com/spdk/spdk/compare/e134fa47c2de...998b961e750e [11:15:52] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [11:27:57] *** Quits: param (~param@157.49.246.231) (Remote host closed the connection) [11:45:26] *** Joins: stefanha` (~stefanha@yuzuki.vmsplice.net) [11:47:50] *** Quits: stefanha (~stefanha@yuzuki.vmsplice.net) (*.net *.split) [12:03:32] bwalker: can you look at https://review.gerrithub.io/#/c/398759/ - and commit the series of three patches if it looks good to you? [12:05:48] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [12:05:49] (spdk/master) vhost_user_nvme: add vhost user nvme target to SPDK (Changpeng Liu) [12:05:49] Diff URL: https://github.com/spdk/spdk/compare/20e69cf6b19d...90c0e2441077 [12:05:49] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [12:07:24] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [12:07:25] (spdk/master) rpc: rpc method 'get_rpc_method' does not need argument (xuhuagen) [12:07:25] Diff URL: https://github.com/spdk/spdk/compare/08ec96eb7049...dd8b1719d285 [12:07:25] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [12:17:56] *** Joins: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) [12:17:57] (spdk/master) autorun_post: save aggregated test completion list to file (Karol Latecki) [12:17:58] Diff URL: https://github.com/spdk/spdk/compare/dd8b1719d285...d798ac57a755 [12:17:58] *** Parts: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) () [12:18:34] *** Joins: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) [12:18:35] (spdk/master) bdev/passthru: read/write access (John Kariuki) [12:18:35] Diff URL: https://github.com/spdk/spdk/compare/d798ac57a755...8ac087613cd0 [12:18:35] *** Parts: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) () [12:25:51] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [12:25:52] (spdk/master) rpc: rpc method 'load_config' should need 2 parameters. (xuhuagen) [12:25:53] Diff URL: https://github.com/spdk/spdk/compare/3cb775b9aece...a04b77e6bd8a [12:25:53] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [12:26:01] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [12:26:02] (spdk/master) virtio: don't silence vhost-user errors (Dariusz Stojaczyk) [12:26:02] Diff URL: https://github.com/spdk/spdk/compare/8ac087613cd0...3cb775b9aece [12:26:02] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [12:29:24] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [12:29:25] (spdk/master) include/env.h: add comments for public APIs (Yanbo Zhou) [12:29:25] Diff URL: https://github.com/spdk/spdk/compare/a04b77e6bd8a...070e72eda74d [12:29:25] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [12:47:39] *** stefanha` is now known as stefanha [12:56:49] *** Joins: param (~param@157.49.185.188) [13:08:05] *** Quits: param (~param@157.49.185.188) (Ping timeout: 240 seconds) [13:14:38] *** Joins: param (~param@157.49.176.65) [13:21:01] *** Quits: param (~param@157.49.176.65) (Quit: Going offline, see ya! (www.adiirc.com)) [13:22:00] *** Joins: param (~param@157.49.176.65) [13:28:37] ben : with respect to previous discuusion we can have multiple subsystems on same listen address and port. Say we have two such subystems. So in this case the ref in spdk_nvmf_rdma_port would be 2 as listen would increment the value. Incase when we remove the listener from subsytem we should not ideally call because it is for entire target and not for individual subsystem. My doubt is that in stop_listen the ref in spdk_rdma_port is decremented. Only when [13:28:37] this ref is 0 rdma_destroy_id is called and port is freed.. This is assuming ideal case that remove of particular listen address is called only once.. [13:28:50] Please correct me if I am wrong here, [13:59:20] I believe the reference counting is all working when you're adding listeners and subsystems, but I think it is missing a link between removing a listener from a subsystem and actually calling into the transport layer to stop listening today [13:59:25] so the ref won't ever get decremented [14:14:58] *** Quits: param (~param@157.49.176.65) (Quit: Going offline, see ya! (www.adiirc.com)) [14:26:33] jimharris: if you get a chance, please take another look at Changpeng's NS attribute AER patch: https://review.gerrithub.io/#/c/398759/ [14:28:50] Folks, I'm curious: what's the impetus behind the "travis-ci" messages posting to the IRC? I'm assuming they automatically appear upon a patch getting merged, but I'm curious why that's posted on the IRC. I hope that isn't construed as a complaint. I'm really eager to learn the basis/desire for that. [14:33:16] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [14:33:17] (spdk/master) nvmf: implement Get Log Page - Changed NS List (Daniel Verkamp) [14:33:17] Diff URL: https://github.com/spdk/spdk/compare/22b8b9227553...26541489ef92 [14:33:17] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [14:36:02] lhodev: yes, they get posted once a patch finishes running through the Travis CI tests, which happens once a patch is merged to master [14:36:27] it's just a way to help make people aware of new patches that have been merged - hopefully not too annoying :) [14:51:02] sethhowe: can you try this patch for the bdev asan issue? https://review.gerrithub.io/#/c/406249/ [14:52:31] he has it fixed locally [14:52:34] I think [14:52:39] using something like what you did [14:53:43] jimharris: what's the status of your spdk_blob_resize async patch? https://review.gerrithub.io/#/c/404616/ [14:53:48] are you OK with it going in (after a rebase)? [14:55:44] i'll rebase it - would love for bwalker to take a look before we merge it though [14:55:49] jimharris my patch was https://review.gerrithub.io/#/c/406248/. [14:57:39] It's a similar idea, but I register my version of _destroy_bdev as a callback function to io_device_unregister which I think gives us more of a guaranty that all io_channels will be gone before we destroy the bdev [14:59:28] looks good to me - small style nits [14:59:32] welcome to spdk-dome - two patches enter, one patch leaves [14:59:36] i'll abandon my patch [15:04:42] so spdk_blob_resize is now async, but you still have to spdk_blob_sync_md or no? [15:05:26] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [15:05:27] (spdk/master) doc: enable Doxygen search capability (Daniel Verkamp) [15:05:27] Diff URL: https://github.com/spdk/spdk/compare/26541489ef92...1ada8f4fc79f [15:05:27] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [15:06:03] right now I still have it requiring spdk_blob_sync_md [15:06:11] i just rebased it [15:12:37] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [15:12:37] (spdk/master) scripts/rpc.py: add @call_cmd to resize_lvol_bdevs (Daniel Verkamp) [15:12:38] Diff URL: https://github.com/spdk/spdk/compare/1ada8f4fc79f...bacc51d33de5 [15:12:38] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [15:13:14] *** Joins: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) [15:13:15] (spdk/master) autotest: add completion tracking for vhost_init (Seth Howell) [15:13:15] Diff URL: https://github.com/spdk/spdk/compare/bacc51d33de5...08dd025e9bf5 [15:13:15] *** Parts: travis-ci (~travis-ci@ec2-54-92-167-44.compute-1.amazonaws.com) () [15:15:07] *** Joins: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) [15:15:08] (spdk/master) doc/jsonrpc: fix max_namespaces param name (Daniel Verkamp) [15:15:08] Diff URL: https://github.com/spdk/spdk/compare/08dd025e9bf5...e1060940c313 [15:15:08] *** Parts: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) () [15:16:52] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [15:16:53] (spdk/master) autotest: update iscsi filesystem test (porting from nightly to autotest) (xuhuagen) [15:16:53] Diff URL: https://github.com/spdk/spdk/compare/e1060940c313...14dd46cb0a1b [15:16:53] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [16:00:14] *** Joins: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) [16:00:15] (spdk/master) test/virtio: use "single file segments" (Dariusz Stojaczyk) [16:00:15] Diff URL: https://github.com/spdk/spdk/compare/14dd46cb0a1b...8e6b1fbd3321 [16:00:15] *** Parts: travis-ci (~travis-ci@ec2-54-92-226-218.compute-1.amazonaws.com) () [16:12:49] i'd like to change "NVML" to "PMDK" in a bunch of places to match the new name of the libraries [16:13:13] most of it is fine to just change - but what's the impact to the SPDK_TEST_* variables? [16:14:38] i think i can just change it in master - worst case is that all of the test systems will now use the default SPDK_TEST_PMDK=1 even if they have SPDK_TEST_NVML=0 in their config file, but if those systems don't have PMDK installed it won't matter anyways [16:14:46] I think we can rename it and just make sethhowe fix up the test sytems :) [16:14:48] then we can change the config files on the test systems once it's in [16:14:52] yeah [16:14:55] sounds good to me [16:14:56] see also https://trello.com/c/uF7OJZbs [16:15:18] we should let the Jenkins maintainers know; I'm not sure if they are using the test flags to control their systems too [16:15:49] *** Joins: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) [16:15:51] i was going to explicitly ask for ppelplin's feedback - i'll get klateck's too [16:17:54] drv, jimharris: They are using the same flags for their execution units. They are essentially rewriting the ~/autotest_common.sh file for each job so they will need to know about this. [16:18:43] but worst case if we change SPDK_TEST_NVML to SPDK_TEST_PMDK - it shouldn't start breaking the test pool, right? it already does a secondary check to see if PMDK is actually installed, even if SPDK_TEST_PMDK=1 [16:19:23] I guess we'll find out shortly :) [16:19:37] https://review.gerrithub.io/#/c/406256/ [16:21:45] I don't think it does any detection currently, although it should [16:22:24] we can set both SPDK_TEST_NVML and SPDK_TEST_PMDK on all test machines until the switchover is done [16:22:38] (probably should keep the old name indefinitely to allow old builds to work) [16:23:57] we don't add --with-nvml (or --with-pmdk now) to config_params if /usr/include/libpmemblk.h doesn't exist [16:25:46] right, but I think we will still try to run the test scripts [16:25:51] hmmm - yeah, you're right [16:26:03] we don't have a check like we do for rbd [16:26:24] it should probably turn off the TEST_PMDK flag if it wasn't found in that place that sets up config_params [16:26:27] if ! hash ceph; then [16:26:43] i'll add that [16:34:54] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [16:34:55] (spdk/master) bdev/qos: add the support to reset QoS bdev channel (GangCao) [16:34:55] Diff URL: https://github.com/spdk/spdk/compare/8e6b1fbd3321...310f324e3846 [16:34:55] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [16:39:45] *** Joins: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) [16:39:46] (spdk/master) bdev/qos: add the QoS setting in conf file (GangCao) [16:39:46] Diff URL: https://github.com/spdk/spdk/compare/310f324e3846...61e8486c10bd [16:39:46] *** Parts: travis-ci (~travis-ci@ec2-54-167-13-4.compute-1.amazonaws.com) () [16:41:37] drv: on the community call this morning, after you dropped, Shuhei brought up a good point about differentiating between RPCs that can be sent before the subsystem initialization is done, and those that can be sent after [16:42:39] i suggested adding a flag or something to go into spdk_rpc_method [16:42:58] and then a new macro that is used specifically for RPCs that are only valid before subsystem initialization [16:43:12] so we don't have to change all of the existing SPDK_RPC_REGISTER calls [16:44:10] and then spdk_jsonrpc_handler checks this flag against whether subsystem initialization has happened to determine if it should be allowed [16:44:47] the big downside is it adds an implicit dependency onto the jsonrpc library onto this subsystem initialization state [16:46:18] hmm, what happens if we run one of the RPCs that should only be allowed early on after the time they are allowed? [16:46:39] or the same for ones that are only supposed to run after subsystem init [16:46:46] is it critical that we filter them out at the JSON-RPC level? [16:47:59] would be nicer to filter them at a higher level so that each RPC doesn't have to invent its own way to check [16:49:12] and i don't think we want to try to allow things like creating a malloc bdev before the bdev subsystem has been initialized [16:49:39] Hi Jim, Daniel, Thank you for discussion. I'm not sure yet but number of subsystems which need RPCs only for the initialization may be very few. [16:50:23] Hence RPC handler accepts all RPCs and subsystems return error if not ready, may be enough. [16:50:26] I think I am more concerned about the existing RPCs - and making sure they cannot be called before subsystem initialization is complete. [16:50:41] This would require modifying all of the existing RPCs [16:50:43] Yes, make sense. [16:51:07] Sorry I was confused but the original idea was that Jim mentioned now. [16:51:12] we have 80 RPCs now :) [16:53:46] I think it would be okay to add a second SPDK_RPC_REGISTER type of macro for early-init RPCs and add the check in spdk_jsonrpc_handler() [16:53:52] that seems like the pragmatic way to do it anyway [16:54:13] with a direct dependence on this subsystem initialization state? [16:54:37] your jsonrpc code today is so nicely packaged - i hate to add this wart to it [16:56:30] hmm, I'll have to think about it some more [16:56:38] maybe we add some kind of bitmask to each method - representing the various states that must be valid to execute that method [16:57:00] it would be kind of nice if we could even defer registration of after-init RPCs entirely [16:57:20] and unregister all of the subsystem init related RPCs once subsystem init is done? [16:57:24] maybe we could move SPDK_RPC_REGISTER into the event framework (still leave spdk_rpc_register_method() in lib/rpc) [16:57:29] yeah, something like that [16:58:45] Daniel's idea may be good because one of the simplest idea is to switch between two lists and the functionality of Daniel's idea may be similar. [16:58:51] that's a bit yucky - it means the event framework would need its own data structure to represent the post-init RPCs and then iterate that list calling spdk_register_method after subsystem init is done [16:59:08] hmm, true, that's not very nice either [16:59:31] the state thing might be the way to go - then the RPC lib would just have a way to switch between states to choose which ones are allowed, which the subsystem layer could call [16:59:40] but I like the idea of moving SPDK_RPC_REGISTER out of rpc.h and into the event framework header [16:59:50] yeah, we should probably do that anyway [17:00:12] yeah - and then someone who wants to use this library generically just always registers the method with no bits set in the state mask [17:00:47] we'd define two bits for the event framework - one for pre-subsystem init, one for post-subsystem init [17:01:08] #define RPC_STATE_PRE_SUBSYSTEM_INIT 0x1 [17:01:16] #define RPC_STATE_POST_SUBSYSTEM_INIT 0x2 [17:01:33] add spdk_rpc_set_state(uint64_t state_mask) [17:01:53] when we first come up, call spdk_rpc_set_state(RPC_STATE_PRE_SUBSYSTEM_INIT) [17:01:57] after subsystem init is done [17:02:03] That state is for the struct spdk_rpc_method? [17:02:05] spdk_rpc_set_state(RPC_STATE_POST_SUBSYSTEM_INIT) [17:02:07] yes [17:02:24] so existing SPDK_RPC_REGISTER would use RPC_STATE_POST_SUBSYSTEM_INIT [17:02:59] maybe we add something like SPDK_RPC_REGISTER_SUBSYSTEM_INIT? this one would use RPC_STATE_POST_SUBSYSTEM_INIT [17:03:14] no! I meant RPC_STATE_PRE_SUBSYSTEM_INIT [17:03:21] the global state to filter RPCs is in lib/rpc/rpc.c? [17:03:28] exactly [17:03:43] lib/rpc/rpc.c just knows about some generic state bit mask [17:04:46] and ensures that (method->mask & current_state == method->mask) [17:05:15] event framework is responsible for setting up and changing that state mask [17:08:38] I added an API to include/spdk/rpc.h and it caused a linker error, https://review.gerrithub.io/#/c/401989/. [17:09:22] This was due to my lack of skill but this new API to change the global state of RPC was called from where? [17:09:33] In /event/subsystem.c? [17:10:01] currently there is no global state of RPC - but once that is added, then yes, you could change that RPC global state from event/subsystem.c [17:10:34] I got it and you don't have to track my failure. [17:10:36] i need to leave Shuhei - but please post any questions or issues you have and I'll respond tomorrow [17:10:51] Enough Thanks. [17:11:41] If I find any question, I'll put them in IRC. Thanks. [17:18:24] *** Quits: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) (Ping timeout: 260 seconds) [18:18:22] *** Joins: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) [18:33:39] *** Joins: dlw (~Thunderbi@114.255.44.143) [19:07:16] Hi Jim, Daniel, I put a new question to the Trello board. Will you check it tomorrow? [20:36:09] *** Quits: Shuhei (caf6fc61@gateway/web/freenode/ip.202.246.252.97) (Ping timeout: 260 seconds) [22:53:25] *** Quits: darsto (dstojacx@nat/intel/x-vjeirohyegddvcjz) (Ping timeout: 240 seconds) [22:53:36] *** Joins: darsto (dstojacx@nat/intel/x-vaxkapwalmtblprj) [22:53:55] *** Quits: pniedzwx (pniedzwx@nat/intel/x-fczixboszdsnwuso) (Ping timeout: 246 seconds) [22:54:00] *** darsto is now known as Guest9273 [22:54:06] *** Joins: pniedzwx (pniedzwx@nat/intel/x-vypxonzbaselhvwd) [22:54:09] *** Quits: lgalkax (lgalkax@nat/intel/x-eiurllapkeecnldt) (Ping timeout: 256 seconds) [22:54:35] *** Quits: pzedlews (pzedlews@nat/intel/x-tuowqstwqbqtrjqv) (Ping timeout: 240 seconds) [22:54:43] *** Quits: qdai2 (qdai2@nat/intel/x-tdtzzlxlbuiwtjmc) (Ping timeout: 256 seconds) [22:55:05] *** Quits: klateck (klateck@nat/intel/x-vwilmbjxhnwukfps) (Ping timeout: 240 seconds) [22:55:05] *** Quits: vermavis (vermavis@nat/intel/x-wibpbwltycmrncpa) (Ping timeout: 240 seconds) [22:55:17] *** Quits: pawelkax (pawelkax@nat/intel/x-havbmxqpymgaueqx) (Ping timeout: 256 seconds) [22:56:44] *** Joins: qdai2 (qdai2@nat/intel/x-cgzoimqeoglxyswr) [22:57:15] *** Joins: lgalkax (lgalkax@nat/intel/x-kkjrenoeekenbwtz) [23:01:18] *** Joins: pzedlews (pzedlews@nat/intel/x-zrkzqhzuenbjmzps) [23:02:14] *** Joins: pawelkax (pawelkax@nat/intel/x-qfhhtesrdgvzwixf) [23:02:49] *** Joins: klateck (klateck@nat/intel/x-aimtmenskktivsqd) [23:05:46] *** Joins: vermavis (vermavis@nat/intel/x-dgxrdcnfvzdiyooz) [23:34:51] *** Joins: alessio (~alessio@140.105.207.235) [23:48:05] *** Joins: tomzawadzki (~tomzawadz@192.55.54.40) [23:48:14] *** Quits: tomzawadzki (~tomzawadz@192.55.54.40) (Remote host closed the connection) [23:48:19] *** Joins: tzawadzki (~tomzawadz@134.134.139.76)