Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-11-30 Thread Konrad Rzeszutek Wilk
On Fri, Nov 30, 2012 at 02:42:14PM -0700, Bjorn Helgaas wrote:
> On Fri, Nov 30, 2012 at 11:41 AM, Bjorn Helgaas  wrote:
> > On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
> >  wrote:
> >> On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
> >>> From: David Vrabel 
> >>>
> >>> Backend drivers shouldn't transistion to CLOSED unless the frontend is
> >>> CLOSED.  If a backend does transition to CLOSED too soon then the
> >>> frontend may not see the CLOSING state and will not properly shutdown.
> >>>
> >>> So, treat an unexpected backend CLOSED state the same as CLOSING.
> >>>
> >>> Signed-off-by: David Vrabel 
> >>> Acked-by: Konrad Rzeszutek Wilk 
> >>> ---
> >>> Cc: linux-...@vger.kernel.org
> >>> Cc: Bjorn Helgaas 
> >>
> >> Bjorn, do you want me to prep a git pull with this patch
> >> or can I have your Ack to put it my tree and have it part of my
> >> git pull to Linus?
> >
> > Sorry, I missed this.  I can put it in my -next branch for the v3.8
> > merge window.  Would that work for you?
> 
> I put this in my -next branch, so we'll at least have a chance of
> making a linux-next cycle before v3.7 pops.

Great. Thx!
> 
> >>> ---
> >>>  drivers/pci/xen-pcifront.c |5 -
> >>>  1 files changed, 4 insertions(+), 1 deletions(-)
> >>>
> >>> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> >>> index 0aab85a..a0c7312 100644
> >>> --- a/drivers/pci/xen-pcifront.c
> >>> +++ b/drivers/pci/xen-pcifront.c
> >>> @@ -1068,13 +1068,16 @@ static void __init_refok 
> >>> pcifront_backend_changed(struct xenbus_device *xdev,
> >>>   case XenbusStateInitialising:
> >>>   case XenbusStateInitWait:
> >>>   case XenbusStateInitialised:
> >>> - case XenbusStateClosed:
> >>>   break;
> >>>
> >>>   case XenbusStateConnected:
> >>>   pcifront_try_connect(pdev);
> >>>   break;
> >>>
> >>> + case XenbusStateClosed:
> >>> + if (xdev->state == XenbusStateClosed)
> >>> + break;
> >>> + /* Missed the backend's CLOSING state -- fallthrough */
> >>>   case XenbusStateClosing:
> >>>   dev_warn(>dev, "backend going away!\n");
> >>>   pcifront_try_disconnect(pdev);
> >>> --
> >>> 1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-11-30 Thread Bjorn Helgaas
On Fri, Nov 30, 2012 at 11:41 AM, Bjorn Helgaas  wrote:
> On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
>  wrote:
>> On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
>>> From: David Vrabel 
>>>
>>> Backend drivers shouldn't transistion to CLOSED unless the frontend is
>>> CLOSED.  If a backend does transition to CLOSED too soon then the
>>> frontend may not see the CLOSING state and will not properly shutdown.
>>>
>>> So, treat an unexpected backend CLOSED state the same as CLOSING.
>>>
>>> Signed-off-by: David Vrabel 
>>> Acked-by: Konrad Rzeszutek Wilk 
>>> ---
>>> Cc: linux-...@vger.kernel.org
>>> Cc: Bjorn Helgaas 
>>
>> Bjorn, do you want me to prep a git pull with this patch
>> or can I have your Ack to put it my tree and have it part of my
>> git pull to Linus?
>
> Sorry, I missed this.  I can put it in my -next branch for the v3.8
> merge window.  Would that work for you?

I put this in my -next branch, so we'll at least have a chance of
making a linux-next cycle before v3.7 pops.

>>> ---
>>>  drivers/pci/xen-pcifront.c |5 -
>>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
>>> index 0aab85a..a0c7312 100644
>>> --- a/drivers/pci/xen-pcifront.c
>>> +++ b/drivers/pci/xen-pcifront.c
>>> @@ -1068,13 +1068,16 @@ static void __init_refok 
>>> pcifront_backend_changed(struct xenbus_device *xdev,
>>>   case XenbusStateInitialising:
>>>   case XenbusStateInitWait:
>>>   case XenbusStateInitialised:
>>> - case XenbusStateClosed:
>>>   break;
>>>
>>>   case XenbusStateConnected:
>>>   pcifront_try_connect(pdev);
>>>   break;
>>>
>>> + case XenbusStateClosed:
>>> + if (xdev->state == XenbusStateClosed)
>>> + break;
>>> + /* Missed the backend's CLOSING state -- fallthrough */
>>>   case XenbusStateClosing:
>>>   dev_warn(>dev, "backend going away!\n");
>>>   pcifront_try_disconnect(pdev);
>>> --
>>> 1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-11-30 Thread Bjorn Helgaas
On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
 wrote:
> On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
>> From: David Vrabel 
>>
>> Backend drivers shouldn't transistion to CLOSED unless the frontend is
>> CLOSED.  If a backend does transition to CLOSED too soon then the
>> frontend may not see the CLOSING state and will not properly shutdown.
>>
>> So, treat an unexpected backend CLOSED state the same as CLOSING.
>>
>> Signed-off-by: David Vrabel 
>> Acked-by: Konrad Rzeszutek Wilk 
>> ---
>> Cc: linux-...@vger.kernel.org
>> Cc: Bjorn Helgaas 
>
> Bjorn, do you want me to prep a git pull with this patch
> or can I have your Ack to put it my tree and have it part of my
> git pull to Linus?

Sorry, I missed this.  I can put it in my -next branch for the v3.8
merge window.  Would that work for you?

>> ---
>>  drivers/pci/xen-pcifront.c |5 -
>>  1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
>> index 0aab85a..a0c7312 100644
>> --- a/drivers/pci/xen-pcifront.c
>> +++ b/drivers/pci/xen-pcifront.c
>> @@ -1068,13 +1068,16 @@ static void __init_refok 
>> pcifront_backend_changed(struct xenbus_device *xdev,
>>   case XenbusStateInitialising:
>>   case XenbusStateInitWait:
>>   case XenbusStateInitialised:
>> - case XenbusStateClosed:
>>   break;
>>
>>   case XenbusStateConnected:
>>   pcifront_try_connect(pdev);
>>   break;
>>
>> + case XenbusStateClosed:
>> + if (xdev->state == XenbusStateClosed)
>> + break;
>> + /* Missed the backend's CLOSING state -- fallthrough */
>>   case XenbusStateClosing:
>>   dev_warn(>dev, "backend going away!\n");
>>   pcifront_try_disconnect(pdev);
>> --
>> 1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-11-30 Thread Bjorn Helgaas
On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
konrad.w...@oracle.com wrote:
 On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
 From: David Vrabel david.vra...@citrix.com

 Backend drivers shouldn't transistion to CLOSED unless the frontend is
 CLOSED.  If a backend does transition to CLOSED too soon then the
 frontend may not see the CLOSING state and will not properly shutdown.

 So, treat an unexpected backend CLOSED state the same as CLOSING.

 Signed-off-by: David Vrabel david.vra...@citrix.com
 Acked-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
 ---
 Cc: linux-...@vger.kernel.org
 Cc: Bjorn Helgaas bhelg...@google.com

 Bjorn, do you want me to prep a git pull with this patch
 or can I have your Ack to put it my tree and have it part of my
 git pull to Linus?

Sorry, I missed this.  I can put it in my -next branch for the v3.8
merge window.  Would that work for you?

 ---
  drivers/pci/xen-pcifront.c |5 -
  1 files changed, 4 insertions(+), 1 deletions(-)

 diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
 index 0aab85a..a0c7312 100644
 --- a/drivers/pci/xen-pcifront.c
 +++ b/drivers/pci/xen-pcifront.c
 @@ -1068,13 +1068,16 @@ static void __init_refok 
 pcifront_backend_changed(struct xenbus_device *xdev,
   case XenbusStateInitialising:
   case XenbusStateInitWait:
   case XenbusStateInitialised:
 - case XenbusStateClosed:
   break;

   case XenbusStateConnected:
   pcifront_try_connect(pdev);
   break;

 + case XenbusStateClosed:
 + if (xdev-state == XenbusStateClosed)
 + break;
 + /* Missed the backend's CLOSING state -- fallthrough */
   case XenbusStateClosing:
   dev_warn(xdev-dev, backend going away!\n);
   pcifront_try_disconnect(pdev);
 --
 1.7.2.5
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-11-30 Thread Bjorn Helgaas
On Fri, Nov 30, 2012 at 11:41 AM, Bjorn Helgaas bhelg...@google.com wrote:
 On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
 konrad.w...@oracle.com wrote:
 On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
 From: David Vrabel david.vra...@citrix.com

 Backend drivers shouldn't transistion to CLOSED unless the frontend is
 CLOSED.  If a backend does transition to CLOSED too soon then the
 frontend may not see the CLOSING state and will not properly shutdown.

 So, treat an unexpected backend CLOSED state the same as CLOSING.

 Signed-off-by: David Vrabel david.vra...@citrix.com
 Acked-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
 ---
 Cc: linux-...@vger.kernel.org
 Cc: Bjorn Helgaas bhelg...@google.com

 Bjorn, do you want me to prep a git pull with this patch
 or can I have your Ack to put it my tree and have it part of my
 git pull to Linus?

 Sorry, I missed this.  I can put it in my -next branch for the v3.8
 merge window.  Would that work for you?

I put this in my -next branch, so we'll at least have a chance of
making a linux-next cycle before v3.7 pops.

 ---
  drivers/pci/xen-pcifront.c |5 -
  1 files changed, 4 insertions(+), 1 deletions(-)

 diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
 index 0aab85a..a0c7312 100644
 --- a/drivers/pci/xen-pcifront.c
 +++ b/drivers/pci/xen-pcifront.c
 @@ -1068,13 +1068,16 @@ static void __init_refok 
 pcifront_backend_changed(struct xenbus_device *xdev,
   case XenbusStateInitialising:
   case XenbusStateInitWait:
   case XenbusStateInitialised:
 - case XenbusStateClosed:
   break;

   case XenbusStateConnected:
   pcifront_try_connect(pdev);
   break;

 + case XenbusStateClosed:
 + if (xdev-state == XenbusStateClosed)
 + break;
 + /* Missed the backend's CLOSING state -- fallthrough */
   case XenbusStateClosing:
   dev_warn(xdev-dev, backend going away!\n);
   pcifront_try_disconnect(pdev);
 --
 1.7.2.5
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-11-30 Thread Konrad Rzeszutek Wilk
On Fri, Nov 30, 2012 at 02:42:14PM -0700, Bjorn Helgaas wrote:
 On Fri, Nov 30, 2012 at 11:41 AM, Bjorn Helgaas bhelg...@google.com wrote:
  On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
  konrad.w...@oracle.com wrote:
  On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
  From: David Vrabel david.vra...@citrix.com
 
  Backend drivers shouldn't transistion to CLOSED unless the frontend is
  CLOSED.  If a backend does transition to CLOSED too soon then the
  frontend may not see the CLOSING state and will not properly shutdown.
 
  So, treat an unexpected backend CLOSED state the same as CLOSING.
 
  Signed-off-by: David Vrabel david.vra...@citrix.com
  Acked-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
  ---
  Cc: linux-...@vger.kernel.org
  Cc: Bjorn Helgaas bhelg...@google.com
 
  Bjorn, do you want me to prep a git pull with this patch
  or can I have your Ack to put it my tree and have it part of my
  git pull to Linus?
 
  Sorry, I missed this.  I can put it in my -next branch for the v3.8
  merge window.  Would that work for you?
 
 I put this in my -next branch, so we'll at least have a chance of
 making a linux-next cycle before v3.7 pops.

Great. Thx!
 
  ---
   drivers/pci/xen-pcifront.c |5 -
   1 files changed, 4 insertions(+), 1 deletions(-)
 
  diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
  index 0aab85a..a0c7312 100644
  --- a/drivers/pci/xen-pcifront.c
  +++ b/drivers/pci/xen-pcifront.c
  @@ -1068,13 +1068,16 @@ static void __init_refok 
  pcifront_backend_changed(struct xenbus_device *xdev,
case XenbusStateInitialising:
case XenbusStateInitWait:
case XenbusStateInitialised:
  - case XenbusStateClosed:
break;
 
case XenbusStateConnected:
pcifront_try_connect(pdev);
break;
 
  + case XenbusStateClosed:
  + if (xdev-state == XenbusStateClosed)
  + break;
  + /* Missed the backend's CLOSING state -- fallthrough */
case XenbusStateClosing:
dev_warn(xdev-dev, backend going away!\n);
pcifront_try_disconnect(pdev);
  --
  1.7.2.5
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-10-19 Thread Konrad Rzeszutek Wilk
On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
> From: David Vrabel 
> 
> Backend drivers shouldn't transistion to CLOSED unless the frontend is
> CLOSED.  If a backend does transition to CLOSED too soon then the
> frontend may not see the CLOSING state and will not properly shutdown.
> 
> So, treat an unexpected backend CLOSED state the same as CLOSING.
> 
> Signed-off-by: David Vrabel 
> Acked-by: Konrad Rzeszutek Wilk 
> ---
> Cc: linux-...@vger.kernel.org
> Cc: Bjorn Helgaas 

Bjorn, do you want me to prep a git pull with this patch
or can I have your Ack to put it my tree and have it part of my
git pull to Linus?

Thx.
> ---
>  drivers/pci/xen-pcifront.c |5 -
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> index 0aab85a..a0c7312 100644
> --- a/drivers/pci/xen-pcifront.c
> +++ b/drivers/pci/xen-pcifront.c
> @@ -1068,13 +1068,16 @@ static void __init_refok 
> pcifront_backend_changed(struct xenbus_device *xdev,
>   case XenbusStateInitialising:
>   case XenbusStateInitWait:
>   case XenbusStateInitialised:
> - case XenbusStateClosed:
>   break;
>  
>   case XenbusStateConnected:
>   pcifront_try_connect(pdev);
>   break;
>  
> + case XenbusStateClosed:
> + if (xdev->state == XenbusStateClosed)
> + break;
> + /* Missed the backend's CLOSING state -- fallthrough */
>   case XenbusStateClosing:
>   dev_warn(>dev, "backend going away!\n");
>   pcifront_try_disconnect(pdev);
> -- 
> 1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-10-19 Thread Konrad Rzeszutek Wilk
On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
 From: David Vrabel david.vra...@citrix.com
 
 Backend drivers shouldn't transistion to CLOSED unless the frontend is
 CLOSED.  If a backend does transition to CLOSED too soon then the
 frontend may not see the CLOSING state and will not properly shutdown.
 
 So, treat an unexpected backend CLOSED state the same as CLOSING.
 
 Signed-off-by: David Vrabel david.vra...@citrix.com
 Acked-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
 ---
 Cc: linux-...@vger.kernel.org
 Cc: Bjorn Helgaas bhelg...@google.com

Bjorn, do you want me to prep a git pull with this patch
or can I have your Ack to put it my tree and have it part of my
git pull to Linus?

Thx.
 ---
  drivers/pci/xen-pcifront.c |5 -
  1 files changed, 4 insertions(+), 1 deletions(-)
 
 diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
 index 0aab85a..a0c7312 100644
 --- a/drivers/pci/xen-pcifront.c
 +++ b/drivers/pci/xen-pcifront.c
 @@ -1068,13 +1068,16 @@ static void __init_refok 
 pcifront_backend_changed(struct xenbus_device *xdev,
   case XenbusStateInitialising:
   case XenbusStateInitWait:
   case XenbusStateInitialised:
 - case XenbusStateClosed:
   break;
  
   case XenbusStateConnected:
   pcifront_try_connect(pdev);
   break;
  
 + case XenbusStateClosed:
 + if (xdev-state == XenbusStateClosed)
 + break;
 + /* Missed the backend's CLOSING state -- fallthrough */
   case XenbusStateClosing:
   dev_warn(xdev-dev, backend going away!\n);
   pcifront_try_disconnect(pdev);
 -- 
 1.7.2.5
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-10-18 Thread David Vrabel
From: David Vrabel 

Backend drivers shouldn't transistion to CLOSED unless the frontend is
CLOSED.  If a backend does transition to CLOSED too soon then the
frontend may not see the CLOSING state and will not properly shutdown.

So, treat an unexpected backend CLOSED state the same as CLOSING.

Signed-off-by: David Vrabel 
Acked-by: Konrad Rzeszutek Wilk 
---
Cc: linux-...@vger.kernel.org
Cc: Bjorn Helgaas 
---
 drivers/pci/xen-pcifront.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 0aab85a..a0c7312 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -1068,13 +1068,16 @@ static void __init_refok 
pcifront_backend_changed(struct xenbus_device *xdev,
case XenbusStateInitialising:
case XenbusStateInitWait:
case XenbusStateInitialised:
-   case XenbusStateClosed:
break;
 
case XenbusStateConnected:
pcifront_try_connect(pdev);
break;
 
+   case XenbusStateClosed:
+   if (xdev->state == XenbusStateClosed)
+   break;
+   /* Missed the backend's CLOSING state -- fallthrough */
case XenbusStateClosing:
dev_warn(>dev, "backend going away!\n");
pcifront_try_disconnect(pdev);
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING

2012-10-18 Thread David Vrabel
From: David Vrabel david.vra...@citrix.com

Backend drivers shouldn't transistion to CLOSED unless the frontend is
CLOSED.  If a backend does transition to CLOSED too soon then the
frontend may not see the CLOSING state and will not properly shutdown.

So, treat an unexpected backend CLOSED state the same as CLOSING.

Signed-off-by: David Vrabel david.vra...@citrix.com
Acked-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
---
Cc: linux-...@vger.kernel.org
Cc: Bjorn Helgaas bhelg...@google.com
---
 drivers/pci/xen-pcifront.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 0aab85a..a0c7312 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -1068,13 +1068,16 @@ static void __init_refok 
pcifront_backend_changed(struct xenbus_device *xdev,
case XenbusStateInitialising:
case XenbusStateInitWait:
case XenbusStateInitialised:
-   case XenbusStateClosed:
break;
 
case XenbusStateConnected:
pcifront_try_connect(pdev);
break;
 
+   case XenbusStateClosed:
+   if (xdev-state == XenbusStateClosed)
+   break;
+   /* Missed the backend's CLOSING state -- fallthrough */
case XenbusStateClosing:
dev_warn(xdev-dev, backend going away!\n);
pcifront_try_disconnect(pdev);
-- 
1.7.2.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/