Condensed Project List I have tried to capture the prioritizations people had (one line per person per topic) for your information. Mn means maintainability ranking, Nn means new feature ranking, and An means combined ranking where someone did not split them. We finally must come up with overall judgments about what to do. We will need to bear in mind the schedule & resource constraints, and the external pressures. For example, clusters and storage are pressing for "big ID" support. We also need to try to facilitate dealing with QARs and CLDs in the future. Glenn 1. "Extended SCSI Address Space" Modify driver structures and code to support big SCSI IDs. Since it makes little sense to change data structures several times, incorporate data structure cleanup here also, documenting SCSI data structures consistent with high level doc & defining access rules for at least the most frequently used fields. (It should be added that if we have to edit data structures for some other reason first, we need to do the cleanup then, though code to use all new areas added may not be done for a while.) N1 M6 A2 N1 N1 M2 2. "SCSI Feature Control" Add set/sensemode interface to the drivers. Allow control with it of: * SDTR (includes control & enabling incl. fast) * WDTR (includes control and enabling msg send) * TCQ * timeout values * Use of 10-bit modesense * Diagnostic ring buffers (with the idea that eventually the registry can be made to feed this at boot time to deal with specific devices) M5 M2 M13 M14 M9 A3 A4 M1 M1 M1 M2 N2 M3 M7 M8 3. "SCSI Doc set" Have driver maintainers write up an intro/internals document describing how the driver works. What documents are needed & what release each is for needs to be planned; this involves 2 sets of manuals: 1. A quick set (the cheat sheets about current drivers) 2. A slow set (full design docs for drivers A template design doc would be helpful. M1 M1 M1 4. "Enhanced Diagnostic Features & Tools" Add the following features * Make error log entries informative & consistent (including unique type/subtype) * Make bugchecks unique so one can find where they come from * Add diagnose interface to port drivers M2 M3 M4 A1 M4 5. "Common routines" Create common routines to: * Construct SCSI commands (so class drivers don't have each to "know" how) * Handle memory management functions (Per Buzzy's section in the high level doc) M15 M17 6. "Utility Application" Write a utility to issue SCSI commands, collect ring buffer info, output from commands, etc. Depends on IO$_DIAGNOSE for function. M8 M5 7. "Gentler Error Recovery" Implement command cancel via Abort Tag, Abort, Bus Device Reset, Bus Reset stopping at the first success. Also allow I/O cancel to cancel operations more promptly, especially long commands. This may involve a rework of flow control and so should address adding some externally specified quotas, runtime tunable, to better regulate flow if so. (If not, anything else which alters flow control will need to do this.) N4 N6 N10 M3 8. "Target Mode" Implement target mode/AEN code needed for clusters in other port drivers as needed. Implement a complete target mode either using a new class driver or keeping things in port driver common code. N7 N11 9. "Flow Issues" Make the queue manager optional so ports not needing it will not get it. This will make considering flow control necessary and should be the occasion for adding externally controllable flow control in if not done already. While handling these issues, remaining known problems with reset and flow control issues for power management should be addressed. N10 N9 N8 N1 10. "Restructure Drivers" Restructure drivers to: * Have more common code * Isolate unique device support cases better * Adapt as appropriate to device SCSI capabilities M17 M16 M9 11. "Larger I/Os" Remove port limitations so that I/O requests larger than 64K can be enabled if ports support them. Add control via control interface to allow this. (This is useful for firmware loading etc., but may impact timeouts and the like if default is to allow very large transfers. Thus make it an exception.) N3 12. "Skip files" Sue probably has this one done now; it involves using skipfile to move tape. N2 N1 13. "External Requirements" Find out if SCSI drivers need to do anything special to support shadowing or mount verify, see that they do, and document the interface. M11 M12