* [PATCH] bsg: Error print if device is not bidi capable when refusing a bidi command
@ 2009-01-20 14:13 Boaz Harrosh
2009-01-20 14:15 ` Jens Axboe
0 siblings, 1 reply; 9+ messages in thread
From: Boaz Harrosh @ 2009-01-20 14:13 UTC (permalink / raw)
To: FUJITA Tomonori, Jens Axboe; +Cc: linux-scsi, open-osd mailing-list
If a bidi command was issued to a request_queue not mark as
QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
an administrator would like to know about, which is otherwise
hard to detect.
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
---
block/bsg.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/block/bsg.c b/block/bsg.c
index 44a2a0f..977547a 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -270,6 +270,8 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
if (rw == WRITE && hdr->din_xfer_len) {
if (!test_bit(QUEUE_FLAG_BIDI, &q->queue_flags)) {
+ printk(KERN_ERR "bsg: Attempt to send a bidi command "
+ "to a none bidi device\n");
ret = -EOPNOTSUPP;
goto out;
}
--
1.6.0.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 14:13 [PATCH] bsg: Error print if device is not bidi capable when refusing a bidi command Boaz Harrosh
@ 2009-01-20 14:15 ` Jens Axboe
2009-01-20 14:38 ` [PATCH ver2 printk_ratelimit] " Boaz Harrosh
2009-01-20 14:41 ` [PATCH] " Boaz Harrosh
0 siblings, 2 replies; 9+ messages in thread
From: Jens Axboe @ 2009-01-20 14:15 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
On Tue, Jan 20 2009, Boaz Harrosh wrote:
>
> If a bidi command was issued to a request_queue not mark as
> QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
> an administrator would like to know about, which is otherwise
> hard to detect.
At the very least, put rate limit on that printk.
>
> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
> ---
> block/bsg.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/block/bsg.c b/block/bsg.c
> index 44a2a0f..977547a 100644
> --- a/block/bsg.c
> +++ b/block/bsg.c
> @@ -270,6 +270,8 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
>
> if (rw == WRITE && hdr->din_xfer_len) {
> if (!test_bit(QUEUE_FLAG_BIDI, &q->queue_flags)) {
> + printk(KERN_ERR "bsg: Attempt to send a bidi command "
> + "to a none bidi device\n");
> ret = -EOPNOTSUPP;
> goto out;
> }
> --
> 1.6.0.1
>
--
Jens Axboe
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH ver2 printk_ratelimit] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 14:15 ` Jens Axboe
@ 2009-01-20 14:38 ` Boaz Harrosh
2009-01-20 14:46 ` Jens Axboe
2009-01-20 23:10 ` FUJITA Tomonori
2009-01-20 14:41 ` [PATCH] " Boaz Harrosh
1 sibling, 2 replies; 9+ messages in thread
From: Boaz Harrosh @ 2009-01-20 14:38 UTC (permalink / raw)
To: Jens Axboe; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
If a bidi command was issued to a request_queue not mark as
QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
an administrator would like to know about, which is otherwise
hard to detect.
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
---
block/bsg.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/block/bsg.c b/block/bsg.c
index 44a2a0f..1da14fe 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -270,6 +270,11 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
if (rw == WRITE && hdr->din_xfer_len) {
if (!test_bit(QUEUE_FLAG_BIDI, &q->queue_flags)) {
+ if (printk_ratelimit()) {
+ printk(KERN_ERR
+ "bsg: Attempt to send a bidi command "
+ "to a none bidi device\n");
+ }
ret = -EOPNOTSUPP;
goto out;
}
--
1.6.0.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 14:15 ` Jens Axboe
2009-01-20 14:38 ` [PATCH ver2 printk_ratelimit] " Boaz Harrosh
@ 2009-01-20 14:41 ` Boaz Harrosh
1 sibling, 0 replies; 9+ messages in thread
From: Boaz Harrosh @ 2009-01-20 14:41 UTC (permalink / raw)
To: Jens Axboe; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
Jens Axboe wrote:
> On Tue, Jan 20 2009, Boaz Harrosh wrote:
>> If a bidi command was issued to a request_queue not mark as
>> QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
>> an administrator would like to know about, which is otherwise
>> hard to detect.
>
> At the very least, put rate limit on that printk.
>
Thanks, good catch it could be a DOS other wise. I did not know
of this facility. Please check if done right?
>> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
>> ---
>> block/bsg.c | 2 ++
>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>
Boaz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH ver2 printk_ratelimit] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 14:38 ` [PATCH ver2 printk_ratelimit] " Boaz Harrosh
@ 2009-01-20 14:46 ` Jens Axboe
2009-01-20 15:01 ` Boaz Harrosh
2009-01-20 23:10 ` FUJITA Tomonori
1 sibling, 1 reply; 9+ messages in thread
From: Jens Axboe @ 2009-01-20 14:46 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
On Tue, Jan 20 2009, Boaz Harrosh wrote:
>
> If a bidi command was issued to a request_queue not mark as
> QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
> an administrator would like to know about, which is otherwise
> hard to detect.
>
> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
> ---
> block/bsg.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/block/bsg.c b/block/bsg.c
> index 44a2a0f..1da14fe 100644
> --- a/block/bsg.c
> +++ b/block/bsg.c
> @@ -270,6 +270,11 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
>
> if (rw == WRITE && hdr->din_xfer_len) {
> if (!test_bit(QUEUE_FLAG_BIDI, &q->queue_flags)) {
> + if (printk_ratelimit()) {
> + printk(KERN_ERR
> + "bsg: Attempt to send a bidi command "
> + "to a none bidi device\n");
> + }
> ret = -EOPNOTSUPP;
> goto out;
> }
> --
> 1.6.0.1
Thanks, that works. But why isn't the -EOPNOTSUPP error return (which the
app can see and print info about) enough? Do we really need to put this
in the kernel log?
--
Jens Axboe
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH ver2 printk_ratelimit] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 14:46 ` Jens Axboe
@ 2009-01-20 15:01 ` Boaz Harrosh
2009-01-20 15:31 ` Boaz Harrosh
0 siblings, 1 reply; 9+ messages in thread
From: Boaz Harrosh @ 2009-01-20 15:01 UTC (permalink / raw)
To: Jens Axboe; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
Jens Axboe wrote:
> On Tue, Jan 20 2009, Boaz Harrosh wrote:
>> If a bidi command was issued to a request_queue not mark as
>> QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
>> an administrator would like to know about, which is otherwise
>> hard to detect.
>>
>> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
>> ---
>> block/bsg.c | 5 +++++
>> 1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/block/bsg.c b/block/bsg.c
>> index 44a2a0f..1da14fe 100644
>> --- a/block/bsg.c
>> +++ b/block/bsg.c
>> @@ -270,6 +270,11 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
>>
>> if (rw == WRITE && hdr->din_xfer_len) {
>> if (!test_bit(QUEUE_FLAG_BIDI, &q->queue_flags)) {
>> + if (printk_ratelimit()) {
>> + printk(KERN_ERR
>> + "bsg: Attempt to send a bidi command "
>> + "to a none bidi device\n");
>> + }
>> ret = -EOPNOTSUPP;
>> goto out;
>> }
>> --
>> 1.6.0.1
>
> Thanks, that works. But why isn't the -EOPNOTSUPP error return (which the
> app can see and print info about) enough? Do we really need to put this
> in the kernel log?
>
This is your call, I'm not very experienced with this things but ...
What I was thinking is in situations when things used to work fine, and
then later could stop working because of seemingly unrelated changes.
For example: The same iscsi target behind a new accelerated-iscsi-card like
cxgb3i, qla4xxx or iSER would stop working, since bidi is not enabled for
them.
But let me check I had problems with the return value. I'll try to detect
this condition from the application and report in the proper manner. Just
that I thought of the poor Admin that needs to fix that after the fact...
(me ;))
Thanks
Boaz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH ver2 printk_ratelimit] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 15:01 ` Boaz Harrosh
@ 2009-01-20 15:31 ` Boaz Harrosh
2009-01-21 7:53 ` Jens Axboe
0 siblings, 1 reply; 9+ messages in thread
From: Boaz Harrosh @ 2009-01-20 15:31 UTC (permalink / raw)
To: Jens Axboe; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
Boaz Harrosh wrote:
> Jens Axboe wrote:
>> Thanks, that works. But why isn't the -EOPNOTSUPP error return (which the
>> app can see and print info about) enough? Do we really need to put this
>> in the kernel log?
>>
>
>
> But let me check I had problems with the return value.
OK I found my problem, blush:
- ret = ioctl(fd, SG_IO, &sg);
+ ret = ioctl(fd, SG_IO, &sg) ? -errno : 0;
So if I do a print to stderr in the lowest-most library will
that be visible enough to an Admin. I have utils like
osd_format, mkfs.exofs, a FUSE filesystem ...
OK I can always redirect stderr to the dmsg log
Thanks
Boaz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH ver2 printk_ratelimit] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 14:38 ` [PATCH ver2 printk_ratelimit] " Boaz Harrosh
2009-01-20 14:46 ` Jens Axboe
@ 2009-01-20 23:10 ` FUJITA Tomonori
1 sibling, 0 replies; 9+ messages in thread
From: FUJITA Tomonori @ 2009-01-20 23:10 UTC (permalink / raw)
To: bharrosh; +Cc: jens.axboe, fujita.tomonori, linux-scsi, osd-dev
On Tue, 20 Jan 2009 16:38:38 +0200
Boaz Harrosh <bharrosh@panasas.com> wrote:
>
> If a bidi command was issued to a request_queue not mark as
> QUEUE_FLAG_BIDI. Issue an error report. This is a misconfiguration
> an administrator would like to know about, which is otherwise
> hard to detect.
>
> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
> ---
> block/bsg.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/block/bsg.c b/block/bsg.c
> index 44a2a0f..1da14fe 100644
> --- a/block/bsg.c
> +++ b/block/bsg.c
> @@ -270,6 +270,11 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
>
> if (rw == WRITE && hdr->din_xfer_len) {
> if (!test_bit(QUEUE_FLAG_BIDI, &q->queue_flags)) {
> + if (printk_ratelimit()) {
> + printk(KERN_ERR
> + "bsg: Attempt to send a bidi command "
> + "to a none bidi device\n");
> + }
> ret = -EOPNOTSUPP;
> goto out;
I don't think that we need this patch. Returning -EOPNOTSUPP should be
enough.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH ver2 printk_ratelimit] bsg: Error print if device is not bidi capable when refusing a bidi command
2009-01-20 15:31 ` Boaz Harrosh
@ 2009-01-21 7:53 ` Jens Axboe
0 siblings, 0 replies; 9+ messages in thread
From: Jens Axboe @ 2009-01-21 7:53 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: FUJITA Tomonori, linux-scsi, open-osd mailing-list
On Tue, Jan 20 2009, Boaz Harrosh wrote:
> Boaz Harrosh wrote:
> > Jens Axboe wrote:
> >> Thanks, that works. But why isn't the -EOPNOTSUPP error return (which the
> >> app can see and print info about) enough? Do we really need to put this
> >> in the kernel log?
> >>
> >
> >
> > But let me check I had problems with the return value.
>
> OK I found my problem, blush:
>
> - ret = ioctl(fd, SG_IO, &sg);
> + ret = ioctl(fd, SG_IO, &sg) ? -errno : 0;
>
> So if I do a print to stderr in the lowest-most library will
> that be visible enough to an Admin. I have utils like
> osd_format, mkfs.exofs, a FUSE filesystem ...
> OK I can always redirect stderr to the dmsg log
Goodie, that saves us that printk() :-)
--
Jens Axboe
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-01-21 7:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-20 14:13 [PATCH] bsg: Error print if device is not bidi capable when refusing a bidi command Boaz Harrosh
2009-01-20 14:15 ` Jens Axboe
2009-01-20 14:38 ` [PATCH ver2 printk_ratelimit] " Boaz Harrosh
2009-01-20 14:46 ` Jens Axboe
2009-01-20 15:01 ` Boaz Harrosh
2009-01-20 15:31 ` Boaz Harrosh
2009-01-21 7:53 ` Jens Axboe
2009-01-20 23:10 ` FUJITA Tomonori
2009-01-20 14:41 ` [PATCH] " Boaz Harrosh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox