FUJITA Tomonori wrote: > I created a git tree for makeshift sg version 4 tools: > > http://www.kernel.org/git/?p=linux/kernel/git/tomo/sgv4-tools.git;a=summary > > # not synchronized yet. > > The interface has changed continuously (and will do). After mainline > inclusion, Doug's sg tools support sg v4, I think. Until then, I put > tools that I use for sg v4 development. > > Currently, there is only one tool, sgv4_dd, which can read/write > from/to a device via the bsg interface (both ioctl and the read/write > interfaces are supported). > > Here are some examples: > > # ./sgv4_dd -i /dev/sdb -o /dev/null --count 2 > succeeded (read/write interface) > > # ./sgv4_dd -i /dev/sdb -o /dev/null --count 2 --sgio > succeeded (SG_IO) > > # ./sgv4_dd -i /dev/zero -o /dev/sdb --count 3 --sgio > succeeded (SG_IO) > > # ./sgv4_dd -i /dev/zero -o /dev/sdb --count 3 > succeeded (read/write interface) Tomo, Just a few points. While the sgv4_dd command line interface (cli) looks sensible, it diverges from the dd command (which is non-unix like but reasonably "fit for service" for the function that dd performs). So even though the Unix dd command syntax takes a while to get used to, other testers will be most likely to be comfortable with existing dd syntax. Of the 41 utilities in (the main directory of) sg3_utils, 29 are ported to FreeBSD and Windows. This is done by putting a generic pass-through layer between those 29 utilities and the OS specific pass-throughs ***. The remaining 12 utilities are either: a) linux specific (e.g. sg_reset and sg_map26) b) or a bit too complicated due to other system calls (e.g. sg_dd) to convert c) both a) and b) (e.g. sgm_dd) The generic pass through layer is defined with bi-directional in mind. It also should be relatively easy to allow for two linux specific pass-throughs (i.e. sgv3 and sgv4) so that the common 29 utilities "just work" on either pass-through (by compile or run time switch). In summary, I don't think that there needs to be a sg4_utils. As you suggest, sgv4_dd can be incorporated into the existing sg3_utils at a convenient time. sg v4 represents an alternate interface for a linux pass-through and the bulk of sg3_utils already supports 4 pass-throughs via a common code base. [The four are linux (sg v3), FreeBSD, Tru64, Windows (from NT forward).] *** smartmontools takes the same approach and it supports several pass-thoughs for Windows. Doug Gilbert - 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