in my environment I see there is another call stack not listed in your
mail
Thanks,
BR
Zhu Lingshan
On 10/18/2016 03:11 AM, Robert LeBlanc wrote:
Sorry hit send too soon.
In addition, on the client we see:
# ps -aux | grep D | grep kworker
root 5583 0.0 0.0 0 0 ?D
I find anything new.
Thanks,
BR
Zhu Lingshan
On 10/30/2016 07:03 AM, Johannes Thumshirn wrote:
On Sat, Oct 29, 2016 at 03:53:25PM -0700, Nicholas A. Bellinger wrote:
Hi Johannes & Zhu,
On Tue, 2016-10-18 at 23:29 -0700, Nicholas A. Bellinger wrote:
On Tue, 2016-10-18 at 19:35 +
On 11/04/2016 02:52 PM, Nicholas A. Bellinger wrote:
Hi Zhu & Co,
Thanks for the detailed logs. Comments below.
On Mon, 2016-10-31 at 16:51 +0800, Zhu Lingshan wrote:
Hi Nicholas,
(sorry it would be a long mail)
Sorry for the delay, I spent some test and debug work. I find the patch
Hi experts,
I think these patches are great, and I am ready to help in user space.
Thanks,
BR
Zhu Lingshan
On 05/09/2016 09:17 AM, Lee Duncan wrote:
On 04/14/2016 06:18 PM, Lee Duncan wrote:
These patches make the location of "/var/target" configurable,
though it still defaul
Hi Zhangfei,
I am also interested in pscsi, you can try kvm, seems you can create a
virtualized pscsi device in kvm / virt-manager. I haven't tried that
yet, hope this can help.
Thanks,
BR
Zhu Lingshan
在 2016/7/4 15:32, Zhangfei Gao 写道:
I am testing with pscsi, but fail to find any
other
call statck with D status.
Thanks,
BR
Zhu Lingshan
在 2016/10/1 1:14, Robert LeBlanc 写道:
We are having a reoccurring problem where iscsi_trx is going into D
state. It seems like it is waiting for a session tear down to happen
or something, but keeps waiting. We have to reboot these targets on
use new netlink events helpers tcmu_netlink_init() and
tcmu_netlink_send() to refactor netlink event
TCMU_CMD_ADDED_DEVICE
Signed-off-by: Zhu Lingshan
---
Changes in V2:
- return tcmu_netlink_event_send() directly, instead of a ret value.
drivers/target/target_core_user.c | 17
itple attributes for different commands.
Signed-off-by: Zhu Lingshan
---
Changes in V2:
- Add new blank lines for better code style, easier to
scan the chunks
drivers/target/target_core_user.c | 59 +++
1 file changed, 59 insertions(+)
diff --git a/drivers/t
use new netlink events helpers tcmu_netlink_init() and
tcmu_netlink_send() to refactor netlink event attribute
TCMU_ATTR_DEV_SIZE(belongs to TCMU_CMD_RECONFIG_DEVICE)
which is also dev_size in configFS.
Signed-off-by: Zhu Lingshan
---
Changes in V2:
- return tcmu_netlink_event_send() directly
.
Signed-off-by: Zhu Lingshan
---
Changes in V2:
- return tcmu_netlink_event_send() directly, instead of a ret value.
drivers/target/target_core_user.c | 89 +--
1 file changed, 20 insertions(+), 69 deletions(-)
diff --git a/drivers/target/target_core_user.c
b
use new netlink events helpers tcmu_netlink_init() and
tcmu_netlink_send() to refactor netlink event attribute
TCMU_ATTR_DEV_CFG(belongs to TCMU_CMD_RECONFIG_DEVICE)
which is also dev_config in configFS.
Signed-off-by: Zhu Lingshan
---
Changes in V2:
- return tcmu_netlink_event_send() directly
use new netlink events helpers tcmu_netlink_init() and
tcmu_netlink_send() to refactor netlink event
TCMU_CMD_REMOVED_DEVICE
Signed-off-by: Zhu Lingshan
---
Changes in V2:
- return tcmu_netlink_event_send() directly, instead of a ret value.
drivers/target/target_core_user.c | 16
This patch added a struct tcmu_dev_pr_info, which can help
store the string buffer we got from a TCMU device record (for
example, for RBD devices, the records should be stored in
their metadata). So that we can decode / encode them.
Signed-off-by: Zhu Lingshan
---
drivers/target
This patch added a function tcmu_send_get_pr_info_event() to
get Persistent Reservation info from a TCMU device, added it's
wrapper function tcmu_get_dev_pr_info() as well.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 31 +++
1 file ch
This patch added two functions: tcmu_pr_info_gen_encode()
and tcmu_pr_info_gen_decode() to encode/decode the generations of
Persistent Reservations
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 34 +++
1 file changed, 34 insertions(+)
diff
This patch added two functions: tcmu_pr_info_scsi2_rsv_encode()
and tcmu_pr_info_scsi2_rsv_decode() to encode and decode SCSI2
Reservations.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 65 +++
1 file changed, 65 insertions(+)
diff --git a
This patch added three functions, tcmu_pr_info_vers_seq_encode()
to encode PR sequence and version into a string,
tcmu_pr_info_vers_decode() and tcmu_pr_info_seq_decode() used
to decode them.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 62
This patch added a function tcmu_execute_pr_register_new() which
can help to register an unregistered I_T Nexus.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 34 +++
1 file changed, 34 insertions(+)
diff --git a/drivers/target
This patch added a function tcmu_pr_info_append_reg() which can
help to append a new Persistent Reservation registration to
struct tcmu_pr_info.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 20
1 file changed, 20 insertions(+)
diff --git a/drivers
This patch added a function tcmu_pr_info_free() which can
help free struct tcmu_pr_info.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/drivers/target/target_core_user.c
b/drivers/target/target_core_user.c
This patch added two functions: tcmu_pr_info_num_regs_decode()
and tcmu_pr_info_num_regs_encode() to handle the number of
Persistent Reservation registrations.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 34 +++
1 file changed, 34 insertions
the functions above to unregister the registration.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 75 +++
1 file changed, 75 insertions(+)
diff --git a/drivers/target/target_core_user.c
b/drivers/target/target_core_user.c
index 5d0da54072cd
This patch added a struct tcmu_pr_reg which contain Persistent
Reservation registrations information, also added two functions
tcmu_pr_info_reg_decode() and tcmu_pr_info_reg_encode() to handle
it.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 51
This patch added a function tcmu_gen_it_nexus() which can help
generate a string contain IT_Nexus information from a session.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 44 +++
1 file changed, 44 insertions(+)
diff --git a/drivers/target
This patch added a function tcmu_send_set_pr_info_event() to
store Persistent Reservation information into a TCMU
device (for example, if we use a RBD device, the information
will be stored in it's metadata), added it's wrapper function
tcmu_set_dev_pr_info() as well.
Signed-off-by: Zh
This patch added a function tcmu_pr_info_decode() which can decode
Persistent Reservation info, from the string to a struct
tcmu_pr_info. This function will call the pervious added decoder
like tcmu_pr_info_reg_decode() to do it's work.
Signed-off-by: Zhu Lingshan
---
drivers/t
This patch add two functions: tcmu_pr_info_rsv_decode() and
tcmu_pr_info_rsv_encode() to handle Persistent Reservations type,
key and IT_Nexus. This patch added a struct tcmu_pr_rsv to
store such information as well.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 72
more than one
initiators sending multiple PR requests via multiple targets.
Signed-off-by: Zhu Lingshan
---
include/uapi/linux/target_core_user.h | 19 +++
1 file changed, 19 insertions(+)
diff --git a/include/uapi/linux/target_core_user.h
b/include/uapi/linux/target_core_us
This patch added a function tcmu_pr_info_get() which can help
get Persistent Reservation information from a TCMU device.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 51 +++
1 file changed, 51 insertions(+)
diff --git a/drivers/target
patch added a function tcmu_pr_info_init() to initialize
Persistent Reservation struct tcmu_pr_info, encode it to a
string, and store this string in the TCMU device records.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 48 +++
1 file changed, 48
d-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 133 ++
1 file changed, 133 insertions(+)
diff --git a/drivers/target/target_core_user.c
b/drivers/target/target_core_user.c
index 0f8eeed61c60..957e444d853b 100644
--- a/drivers/target/target_core_user.c
This patch added netlink support for passthrough Persistent
Reservation information.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 35 +++
1 file changed, 35 insertions(+)
diff --git a/drivers/target/target_core_user.c
b/drivers/target
gt;pr_ops->pr_reserve to passthrough data to
user space.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_pr.c | 11 ++-
drivers/target/target_core_user.c | 2 ++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/target/target_core_pr.c b/drivers/ta
This patch added a function tcmu_execute_pr_clear() which can
help perform Persistent Reservation clear operation,
this means clear reservations and registrations.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 108 ++
1 file changed, 108
gt;pr_ops->pr_release to passthrough PR release
request to user space
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_pr.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index d47ccbf05679..c668dfb84bf1
This patch added a function tcmu_execute_pr_read_keys() which
can help handle Persistent Reservation Read Keys.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 74 +++
1 file changed, 74 insertions(+)
diff --git a/drivers/target
This patch added a struct target_pr_ops contains TCMU
Persistent Reservation operation functions. Added a
"struct target_pr_ops" type pointer in target_backend_ops,
so that we can call TCMU PR functions from struct
target_backend_ops.
Signed-off-by: Zhu Lingshan
---
driv
_ops
and dev->transport->pr_ops->pr_register are not NULL,
core_scsi3_emulate_pro_register() will call
dev->transport->pr_ops->pr_register, this means call
tcmu_execute_pr_register(). It is the same way how
core_scsi3_pri_read_keys() can call tcmu_execute_pr_read_keys.
Signed-off-by: Zhu
->pr_ops->pr_clear to passthrough PR clear
request to user space
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_pr.c | 5 +
drivers/target/target_core_user.c | 1 +
2 files changed, 6 insertions(+)
diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index
This patch added functions to handle Persistent Reservation
Reserve against TCMU devices.
Function tcm_rbd_pr_info_rsv_set() will help set PR information
in struct tcmu_pr_info, function tcmu_execute_pr_reserve() will
help handle PR reserve requests against TCMU devices.
Signed-off-by: Zhu
from
tcmu_pr_info_init().
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/drivers/target/target_core_user.c
b/drivers/target/target_core_user.c
index c3adff826163..2fcdfc97ca75 100644
--- a/drivers/t
This patch added a function tcmu_execute_pr_release()
to handle SCSI3 Persistent Reservation Release
for TCMU devices.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 119 ++
1 file changed, 119 insertions(+)
diff --git a/drivers/target
This patch added a function tcmu_execute_pr_register() which
can help to handle Persistent Reservation register operation
for TCMU devices.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 138 ++
1 file changed, 138 insertions(+)
diff --git a
This patch added a function tcmu_execute_pr_register_existing()
which will handle Persistent Reservation registration for a
currently registered IT_Nexus.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 34 +++
1 file changed, 34 insertions
to RBD meatada.
Signed-off-by: Zhu Lingshan
---
drivers/target/target_core_user.c | 43 +++
1 file changed, 43 insertions(+)
diff --git a/drivers/target/target_core_user.c
b/drivers/target/target_core_user.c
index 4b426a9061b1..559e0d40d63b 100644
--- a/drivers
, we can implement it after kernel side
stabilized.
Thanks,
BR
Zhu Lingshan
On 2018/6/16 2:23, Zhu Lingshan wrote:
These commits and the following intend to implement Persistent
Reservation operations for TCMU devices.
This series of commits would implement such PR operations:
PR_Out_Register
ingle point that can help response to PR
requests. Yes, the code is a bit complex, but the logic is easy, just
exchange information with tcmu-runner via netlink, then tcmu-runner
handles read / write the metadata.
Thanks a lot for your help!
Thanks,
BR
Zhu Lingshan
On 2018/6/16 13:22, Chr
Hello Maged,
Thanks for your comment and help, please give me some time to process this.
Thanks,
BR
Zhu Lingshan
On 2018/6/16 19:04, Maged Mokhtar wrote:
Hi Zhu,
These are my comments for the patch set:
1) patches 18-24, 28, 30,32 (+ the yet to be implemented pr functions) :
instead of
On 2018/6/17 3:20, Mike Christie wrote:
Adding Bodo who is working on a alternative approach.
On 06/16/2018 12:22 AM, Christoph Hellwig wrote:
On Sat, Jun 16, 2018 at 02:23:10AM +0800, Zhu Lingshan wrote:
These commits and the following intend to implement Persistent
Reservation operations
On 2018/6/18 19:12, Christoph Hellwig wrote:
On Sun, Jun 17, 2018 at 12:40:56PM +0800, Zhu Lingshan wrote:
Hello Mike and Christoph,
Thanks Mike's comment inspired me, if I understand this correctly, it is
suggested to implement this whole solution in kernel, avoid
splitting PRG han
50 matches
Mail list logo