Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package iscsitarget * Fixes ietadm not detecting inactive sessions (Closes: #687925). It is a release critical bug. The patch comes from the upstream repository and was checked by the author. Please find the debdiff between -10 and -10.1 attached to this mail. changelog | 8 +++ patches/inactive-sessions.patch | 83 ++++++++++++++++++++++++++++++++++++++++ patches/series | 1 3 files changed, 92 insertions(+) Note that this patch was also advocated by Ritesh Raj Sarraf <r...@debian.org> in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687925#65 Cheers
diff -Nru iscsitarget-1.4.20.2/debian/changelog iscsitarget-1.4.20.2/debian/changelog --- iscsitarget-1.4.20.2/debian/changelog 2012-03-13 20:36:56.000000000 +0100 +++ iscsitarget-1.4.20.2/debian/changelog 2012-09-17 10:42:29.000000000 +0200 @@ -1,3 +1,11 @@ +iscsitarget (1.4.20.2-10.1) unstable; urgency=low + + * Non-maintainer upload. + + * Fixes ietadm not detecting inactive sessions (Closes: #687925). + + -- Loic Dachary (OuoU) <l...@debian.org> Mon, 17 Sep 2012 10:42:29 +0200 + iscsitarget (1.4.20.2-10) unstable; urgency=low * [2bebbc2] don't prompt on modified conffiles. diff -Nru iscsitarget-1.4.20.2/debian/patches/inactive-sessions.patch iscsitarget-1.4.20.2/debian/patches/inactive-sessions.patch --- iscsitarget-1.4.20.2/debian/patches/inactive-sessions.patch 1970-01-01 01:00:00.000000000 +0100 +++ iscsitarget-1.4.20.2/debian/patches/inactive-sessions.patch 2012-09-17 10:29:12.000000000 +0200 @@ -0,0 +1,83 @@ +Description: ietadm not detecting inactive sessions + Once 1.4.20.3 is released, this patch can be dropped, it is commited at + http://iscsitarget.svn.sourceforge.net/viewvc/iscsitarget?revision=478&view=revision + . + Fix retrieval of ietd pid from netlink + . + The ietd pid was retrieved from the credentials in the netlink skb + which happened to work with kernels < 3.2. These days the credentials + are not sent by default anymore (and ietd doesn't fill them in) so + the pid needs to be determined from the netlink_skb_parms. + . + This fixes a bug reported by Clay Gerrard ("Can't delete target after + initiator logs out", caused by the session removal event not making it + to ietd). + . +Author: Arne Redlich <arne.redl...@googlemail.com> +Reviewed-by: Loic Dachary <l...@debian.org> +Last-Update: 2012-09-17 +Applied-Upstream: http://iscsitarget.svn.sourceforge.net/viewvc/iscsitarget?revision=478&view=revision +Bug-Debian: http://bugs.debian.org/687925 +Bug-Ubuntu: https://launchpad.net/bugs/967984 + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: <vendor|upstream|other>, <url of original patch> +Bug: <url in upstream bugtracker> +Bug-Debian: http://bugs.debian.org/<bugnumber> +Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> +Forwarded: <no|not-needed|url proving that it has been forwarded> +Reviewed-By: <name and email of someone who approved the patch> +Last-Update: <YYYY-MM-DD> + +--- trunk/kernel/event.c 2012/04/03 18:19:28 477 ++++ trunk/kernel/event.c 2012/04/06 21:58:31 478 +@@ -14,24 +14,8 @@ + static struct sock *nl; + static u32 ietd_pid; + +-static int event_recv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) +-{ +- u32 uid, pid, seq; +- char *data; +- +- pid = NETLINK_CREDS(skb)->pid; +- uid = NETLINK_CREDS(skb)->uid; +- seq = nlh->nlmsg_seq; +- data = NLMSG_DATA(nlh); +- +- ietd_pid = pid; +- +- return 0; +-} +- + static void event_recv_skb(struct sk_buff *skb) + { +- int err; + struct nlmsghdr *nlh; + u32 rlen; + +@@ -42,9 +26,9 @@ + rlen = NLMSG_ALIGN(nlh->nlmsg_len); + if (rlen > skb->len) + rlen = skb->len; +- if ((err = event_recv_msg(skb, nlh))) { +- netlink_ack(skb, nlh, -err); +- } else if (nlh->nlmsg_flags & NLM_F_ACK) ++ ietd_pid = NETLINK_CB(skb).pid; ++ WARN_ON(ietd_pid == 0); ++ if (nlh->nlmsg_flags & NLM_F_ACK) + netlink_ack(skb, nlh, 0); + skb_pull(skb, rlen); + } +@@ -59,6 +43,7 @@ + if (!(skb = alloc_skb(NLMSG_SPACE(len), gfp_mask))) + return -ENOMEM; + ++ WARN_ON(ietd_pid == 0); + nlh = __nlmsg_put(skb, ietd_pid, seq++, NLMSG_DONE, len - sizeof(*nlh), 0); + + memcpy(NLMSG_DATA(nlh), data, len); diff -Nru iscsitarget-1.4.20.2/debian/patches/series iscsitarget-1.4.20.2/debian/patches/series --- iscsitarget-1.4.20.2/debian/patches/series 2012-03-13 20:36:56.000000000 +0100 +++ iscsitarget-1.4.20.2/debian/patches/series 2012-09-17 10:13:01.000000000 +0200 @@ -1,2 +1,3 @@ fix-build-3-2.patch iscsitarget-prelim-1.4.20.3.patch +inactive-sessions.patch
<<attachment: loic.vcf>>
signature.asc
Description: OpenPGP digital signature