Re: [PATCH]: add debug flag parameter for SCSI tape driver - 2nd request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 19.10.2014, at 16.44, Laurence Oberman <loberman@xxxxxxxxxx> wrote:
> 
> Hello Kai
> 
> Thanks. 
> 
> Here is v3
> 
> This patch adds a debug_flag parameter that can be set on module load, and allows the DEBUG facility without a module recompile.
> Note that now DEBUG 1 is the default with this patch.
> 
> Usage: modprobe st debug_flag=1
> 
> Signed-off-by: Laurence Oberman <loberman@xxxxxxxxxx>
Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx>

Thanks,
Kai

> 
> diff -Nur a/Documentation/scsi/st.txt b/Documentation/scsi/st.txt
> --- a/Documentation/scsi/st.txt	2014-10-19 09:36:52.243863716 -0400
> +++ b/Documentation/scsi/st.txt	2014-10-19 09:43:19.222863447 -0400
> @@ -506,9 +506,11 @@
> 
> DEBUGGING HINTS
> 
> -To enable debugging messages, edit st.c and #define DEBUG 1. As seen
> -above, debugging can be switched off with an ioctl if debugging is
> -compiled into the driver. The debugging output is not voluminous.
> +Debugging code is now compiled in by default but debugging is turned off with 
> +the kernel module parameter debug_flag defaulting to 0.
> +Debugging can still be switched on and off with an ioctl.
> +To enable debug at module load time add debug_flag=1 to the module load 
> +options, the debugging output is not voluminous.
> 
> If the tape seems to hang, I would be very interested to hear where
> the driver is waiting. With the command 'ps -l' you can see the state
> 
> diff -Nur a/drivers/scsi/st.c b/drivers/scsi/st.c
> --- a/drivers/scsi/st.c	2014-10-19 09:35:45.673863756 -0400
> +++ b/drivers/scsi/st.c	2014-10-19 09:35:30.621863483 -0400
> @@ -56,7 +56,8 @@
> 
> /* The driver prints some debugging information on the console if DEBUG
>    is defined and non-zero. */
> -#define DEBUG 0
> +#define DEBUG 1
> +#define NO_DEBUG 0
> 
> #define ST_DEB_MSG  KERN_NOTICE
> #if DEBUG
> @@ -80,6 +81,7 @@
> static int try_direct_io = TRY_DIRECT_IO;
> static int try_rdio = 1;
> static int try_wdio = 1;
> +static int debug_flag = 0;
> 
> static struct class st_sysfs_class;
> static const struct attribute_group *st_dev_groups[];
> @@ -100,6 +102,9 @@
> MODULE_PARM_DESC(max_sg_segs, "Maximum number of scatter/gather segments to use (256)");
> module_param_named(try_direct_io, try_direct_io, int, 0);
> MODULE_PARM_DESC(try_direct_io, "Try direct I/O between user buffer and tape drive (1)");
> +module_param_named(debug_flag, debug_flag, int, 0);
> +MODULE_PARM_DESC(debug_flag, "Enable DEBUG, same as setting debugging=1");
> +
> 
> /* Extra parameters for testing */
> module_param_named(try_rdio, try_rdio, int, 0);
> @@ -124,6 +129,9 @@
> 	},
> 	{
> 		"try_direct_io", &try_direct_io
> +        },
> +        {
> +                "debug_flag", &debug_flag
> 	}
> };
> #endif
> @@ -4309,6 +4317,10 @@
> 	printk(KERN_INFO "st: Version %s, fixed bufsize %d, s/g segs %d\n",
> 		verstr, st_fixed_buffer_size, st_max_sg_segs);
> 
> +        debugging = (debug_flag > 0) ? debug_flag : NO_DEBUG;
> +         if (debugging)
> +                printk(KERN_INFO "st: Debugging enabled debug_flag = %d\n",debugging);
> +
> 	err = class_register(&st_sysfs_class);
> 	if (err) {
> 		pr_err("Unable register sysfs class for SCSI tapes\n");

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux