Re: [PATCH] libata: provide the ability to disable a disk via the params.

2013-12-13 Thread Tejun Heo
On Thu, Dec 12, 2013 at 09:36:55PM +0100, Levente Kurusa wrote:
> >1.
> >Countering your nodisable comment, would it be valid to do:
> >libata.force=2:disable libata.force=2.02:nodisable
> >To disable all of port 2 except device 2?
> 
> I think that makes sense and I support having 'nodisable'.

I really don't want to.  Let's please add whatever is necessary for
fringe use cases but no more.  It's not like this thing is generally
useful.

> >2. One of my friends wondered if it would be worthwhile to add force
> >keywords for other HORKAGE bits, and if so, should the
> >ata_lflag/ata_link force bits also be presented?
> 
> I don't think so. Most of the other HORKAGEs are automatically
> recognized and applied by the code. I think the only ones
> which can cause trouble if not detected at first are the ones that are
> currently in the list.

Again, just whatever is immediately necessary, please.

Thanks.

-- 
tejun
--
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] libata: provide the ability to disable a disk via the params.

2013-12-13 Thread Tejun Heo
On Thu, Dec 12, 2013 at 09:36:55PM +0100, Levente Kurusa wrote:
 1.
 Countering your nodisable comment, would it be valid to do:
 libata.force=2:disable libata.force=2.02:nodisable
 To disable all of port 2 except device 2?
 
 I think that makes sense and I support having 'nodisable'.

I really don't want to.  Let's please add whatever is necessary for
fringe use cases but no more.  It's not like this thing is generally
useful.

 2. One of my friends wondered if it would be worthwhile to add force
 keywords for other HORKAGE bits, and if so, should the
 ata_lflag/ata_link force bits also be presented?
 
 I don't think so. Most of the other HORKAGEs are automatically
 recognized and applied by the code. I think the only ones
 which can cause trouble if not detected at first are the ones that are
 currently in the list.

Again, just whatever is immediately necessary, please.

Thanks.

-- 
tejun
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Robin H. Johnson
On Thu, Dec 12, 2013 at 09:36:55PM +0100, Levente Kurusa wrote:
> > 2. One of my friends wondered if it would be worthwhile to add force
> > keywords for other HORKAGE bits, and if so, should the
> > ata_lflag/ata_link force bits also be presented?
> I don't think so. Most of the other HORKAGEs are automatically
> recognized and applied by the code. I think the only ones
> which can cause trouble if not detected at first are the ones that are
> currently in the list.
His logic was thinking that it will aid debugging/testing on new buggy
devices if the options are available at boot.

I'd think of the following as candidates for that:
ATA_HORKAGE_NODMA
ATA_HORKAGE_MAX_SEC_128
ATA_HORKAGE_DIAGNOSTIC
ATA_HORKAGE_BROKEN_HPA
ATA_HORKAGE_DISABLE
ATA_HORKAGE_HPA_SIZE
ATA_HORKAGE_IVB
ATA_HORKAGE_STUCK_ERR (only set by code presently, not by blacklist)
ATA_HORKAGE_BRIDGE_OK
ATA_HORKAGE_ATAPI_MOD16_DMA
ATA_HORKAGE_NOSETXFER
ATA_HORKAGE_MAX_SEC_LBA48

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Levente Kurusa

Hi, Robin.

2013-12-12 21:22, Robin H. Johnson:

On Thu, Dec 12, 2013 at 08:39:35AM -0500, Tejun Heo wrote:

Hello, Robin.

On Sat, Dec 07, 2013 at 04:56:27PM -0800, Robin H. Johnson wrote:

+   { "disable",  .horkage_on = ATA_HORKAGE_DISABLE },
+   { "nodisable",.horkage_off= ATA_HORKAGE_DISABLE },

Given the current usage of ATA_HORKAGE_DISABLE, I don't think we need
"nodisable".  Let's just add "disable" for now.  Can you please update
the patch and resend?

Before I do so, I have two questions:
1.
Countering your nodisable comment, would it be valid to do:
libata.force=2:disable libata.force=2.02:nodisable
To disable all of port 2 except device 2?


I think that makes sense and I support having 'nodisable'.


2. One of my friends wondered if it would be worthwhile to add force
keywords for other HORKAGE bits, and if so, should the
ata_lflag/ata_link force bits also be presented?


I don't think so. Most of the other HORKAGEs are automatically
recognized and applied by the code. I think the only ones
which can cause trouble if not detected at first are the ones that are
currently in the list.

--
Regards,
Levente Kurusa
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Robin H. Johnson
On Thu, Dec 12, 2013 at 08:39:35AM -0500, Tejun Heo wrote:
> Hello, Robin.
> 
> On Sat, Dec 07, 2013 at 04:56:27PM -0800, Robin H. Johnson wrote:
> > +   { "disable",.horkage_on = ATA_HORKAGE_DISABLE },
> > +   { "nodisable",  .horkage_off= ATA_HORKAGE_DISABLE },
> Given the current usage of ATA_HORKAGE_DISABLE, I don't think we need
> "nodisable".  Let's just add "disable" for now.  Can you please update
> the patch and resend?
Before I do so, I have two questions:
1.
Countering your nodisable comment, would it be valid to do:
libata.force=2:disable libata.force=2.02:nodisable
To disable all of port 2 except device 2?

2. One of my friends wondered if it would be worthwhile to add force
keywords for other HORKAGE bits, and if so, should the
ata_lflag/ata_link force bits also be presented?

There are only 3 HORKAGE bits presently available in libata.force:
ATA_HORKAGE_NONCQ
ATA_HORKAGE_DUMP_ID
ATA_HORKAGE_ATAPI_DMADIR

And 3 ata_link flags:
ATA_LFLAG_NO_HRST
ATA_LFLAG_NO_SRST
ATA_LFLAG_RST_ONCE

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Tejun Heo
Hello, Robin.

On Sat, Dec 07, 2013 at 04:56:27PM -0800, Robin H. Johnson wrote:
> + { "disable",.horkage_on = ATA_HORKAGE_DISABLE },
> + { "nodisable",  .horkage_off= ATA_HORKAGE_DISABLE },

Given the current usage of ATA_HORKAGE_DISABLE, I don't think we need
"nodisable".  Let's just add "disable" for now.  Can you please update
the patch and resend?

Thanks.

-- 
tejun
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Robin H. Johnson
This was posted by a user on StackExchange, who has a failing SSD that's
soldered directly onto the motherboard of his system. The BIOS does not
give any option to disable it at all, so he can't just hide it that way.

The old IDE layer had hdX=noprobe override for situations like this, but
that was never ported to the libata layer.

Signed-off-by: Robin H. Johnson 
X-URL: 
http://unix.stackexchange.com/questions/102648/how-to-tell-linux-kernel-3-0-to-completely-ignore-a-failing-disk
X-URL: 
http://askubuntu.com/questions/352836/how-can-i-tell-linux-kernel-to-completely-ignore-a-disk-as-if-it-was-not-even-co
X-URL: 
http://superuser.com/questions/599333/how-to-disable-kernel-probing-for-drive
---
 Documentation/kernel-parameters.txt | 2 ++
 drivers/ata/libata-core.c   | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/Documentation/kernel-parameters.txt 
b/Documentation/kernel-parameters.txt
index 50680a5..40bf5ff 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1529,6 +1529,8 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
 
* atapi_dmadir: Enable ATAPI DMADIR bridge support
 
+   * [no]disable: Enable or disable this device.
+
If there are multiple matching configurations changing
the same attribute, the last one is used.
 
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 75b9367..5069a96 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6519,6 +6519,8 @@ static int __init ata_parse_force_one(char **cur,
{ "norst",  .lflags = ATA_LFLAG_NO_HRST | 
ATA_LFLAG_NO_SRST },
{ "rstonce",.lflags = ATA_LFLAG_RST_ONCE },
{ "atapi_dmadir", .horkage_on   = ATA_HORKAGE_ATAPI_DMADIR },
+   { "disable",.horkage_on = ATA_HORKAGE_DISABLE },
+   { "nodisable",  .horkage_off= ATA_HORKAGE_DISABLE },
};
char *start = *cur, *p = *cur;
char *id, *val, *endp;
-- 
1.8.4.3

--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Robin H. Johnson
This was posted by a user on StackExchange, who has a failing SSD that's
soldered directly onto the motherboard of his system. The BIOS does not
give any option to disable it at all, so he can't just hide it that way.

The old IDE layer had hdX=noprobe override for situations like this, but
that was never ported to the libata layer.

Signed-off-by: Robin H. Johnson robb...@gentoo.org
X-URL: 
http://unix.stackexchange.com/questions/102648/how-to-tell-linux-kernel-3-0-to-completely-ignore-a-failing-disk
X-URL: 
http://askubuntu.com/questions/352836/how-can-i-tell-linux-kernel-to-completely-ignore-a-disk-as-if-it-was-not-even-co
X-URL: 
http://superuser.com/questions/599333/how-to-disable-kernel-probing-for-drive
---
 Documentation/kernel-parameters.txt | 2 ++
 drivers/ata/libata-core.c   | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/Documentation/kernel-parameters.txt 
b/Documentation/kernel-parameters.txt
index 50680a5..40bf5ff 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1529,6 +1529,8 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
 
* atapi_dmadir: Enable ATAPI DMADIR bridge support
 
+   * [no]disable: Enable or disable this device.
+
If there are multiple matching configurations changing
the same attribute, the last one is used.
 
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 75b9367..5069a96 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6519,6 +6519,8 @@ static int __init ata_parse_force_one(char **cur,
{ norst,  .lflags = ATA_LFLAG_NO_HRST | 
ATA_LFLAG_NO_SRST },
{ rstonce,.lflags = ATA_LFLAG_RST_ONCE },
{ atapi_dmadir, .horkage_on   = ATA_HORKAGE_ATAPI_DMADIR },
+   { disable,.horkage_on = ATA_HORKAGE_DISABLE },
+   { nodisable,  .horkage_off= ATA_HORKAGE_DISABLE },
};
char *start = *cur, *p = *cur;
char *id, *val, *endp;
-- 
1.8.4.3

--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Tejun Heo
Hello, Robin.

On Sat, Dec 07, 2013 at 04:56:27PM -0800, Robin H. Johnson wrote:
 + { disable,.horkage_on = ATA_HORKAGE_DISABLE },
 + { nodisable,  .horkage_off= ATA_HORKAGE_DISABLE },

Given the current usage of ATA_HORKAGE_DISABLE, I don't think we need
nodisable.  Let's just add disable for now.  Can you please update
the patch and resend?

Thanks.

-- 
tejun
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Robin H. Johnson
On Thu, Dec 12, 2013 at 08:39:35AM -0500, Tejun Heo wrote:
 Hello, Robin.
 
 On Sat, Dec 07, 2013 at 04:56:27PM -0800, Robin H. Johnson wrote:
  +   { disable,.horkage_on = ATA_HORKAGE_DISABLE },
  +   { nodisable,  .horkage_off= ATA_HORKAGE_DISABLE },
 Given the current usage of ATA_HORKAGE_DISABLE, I don't think we need
 nodisable.  Let's just add disable for now.  Can you please update
 the patch and resend?
Before I do so, I have two questions:
1.
Countering your nodisable comment, would it be valid to do:
libata.force=2:disable libata.force=2.02:nodisable
To disable all of port 2 except device 2?

2. One of my friends wondered if it would be worthwhile to add force
keywords for other HORKAGE bits, and if so, should the
ata_lflag/ata_link force bits also be presented?

There are only 3 HORKAGE bits presently available in libata.force:
ATA_HORKAGE_NONCQ
ATA_HORKAGE_DUMP_ID
ATA_HORKAGE_ATAPI_DMADIR

And 3 ata_link flags:
ATA_LFLAG_NO_HRST
ATA_LFLAG_NO_SRST
ATA_LFLAG_RST_ONCE

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Levente Kurusa

Hi, Robin.

2013-12-12 21:22, Robin H. Johnson:

On Thu, Dec 12, 2013 at 08:39:35AM -0500, Tejun Heo wrote:

Hello, Robin.

On Sat, Dec 07, 2013 at 04:56:27PM -0800, Robin H. Johnson wrote:

+   { disable,  .horkage_on = ATA_HORKAGE_DISABLE },
+   { nodisable,.horkage_off= ATA_HORKAGE_DISABLE },

Given the current usage of ATA_HORKAGE_DISABLE, I don't think we need
nodisable.  Let's just add disable for now.  Can you please update
the patch and resend?

Before I do so, I have two questions:
1.
Countering your nodisable comment, would it be valid to do:
libata.force=2:disable libata.force=2.02:nodisable
To disable all of port 2 except device 2?


I think that makes sense and I support having 'nodisable'.


2. One of my friends wondered if it would be worthwhile to add force
keywords for other HORKAGE bits, and if so, should the
ata_lflag/ata_link force bits also be presented?


I don't think so. Most of the other HORKAGEs are automatically
recognized and applied by the code. I think the only ones
which can cause trouble if not detected at first are the ones that are
currently in the list.

--
Regards,
Levente Kurusa
--
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] libata: provide the ability to disable a disk via the params.

2013-12-12 Thread Robin H. Johnson
On Thu, Dec 12, 2013 at 09:36:55PM +0100, Levente Kurusa wrote:
  2. One of my friends wondered if it would be worthwhile to add force
  keywords for other HORKAGE bits, and if so, should the
  ata_lflag/ata_link force bits also be presented?
 I don't think so. Most of the other HORKAGEs are automatically
 recognized and applied by the code. I think the only ones
 which can cause trouble if not detected at first are the ones that are
 currently in the list.
His logic was thinking that it will aid debugging/testing on new buggy
devices if the options are available at boot.

I'd think of the following as candidates for that:
ATA_HORKAGE_NODMA
ATA_HORKAGE_MAX_SEC_128
ATA_HORKAGE_DIAGNOSTIC
ATA_HORKAGE_BROKEN_HPA
ATA_HORKAGE_DISABLE
ATA_HORKAGE_HPA_SIZE
ATA_HORKAGE_IVB
ATA_HORKAGE_STUCK_ERR (only set by code presently, not by blacklist)
ATA_HORKAGE_BRIDGE_OK
ATA_HORKAGE_ATAPI_MOD16_DMA
ATA_HORKAGE_NOSETXFER
ATA_HORKAGE_MAX_SEC_LBA48

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
--
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/