[dm-devel] 2.6.5-udm3

Kevin Corry kevcorry at us.ibm.com
Thu Apr 8 16:11:35 UTC 2004


While Joe's on vacation, I'll keep updated versions of -udm on our website so 
we don't lose any patches before he gets back.

Here's 2.6.5-udm3.
- Update to 2.6.5-mm2 (which includes patch 6 from -udm2).
- Add the three patches from Joe and Alasdair from this morning.

Download: http://evms.sourceforge.net/dm/2.6.5/2.6.5-udm3.tar.bz2
Browse: http://evms.sourceforge.net/dm/2.6.5/2.6.5-udm3/

-- 
Kevin Corry
kevcorry at us.ibm.com
http://evms.sourceforge.net/



Revision 1:
  -mm2

Revision 2:
  Fix 64/32 bit ioctl problems.

Revision 3:
  Check the uptodate flag in sub-bios to see if there was an error.
  [Mike Christie]

Revision 4:
  Handle interrupts within suspend.

Revision 5:
  dm.c: Use wake_up() rather than wake_up_interruptible() with the
  eventq.

Revision 6:
  Log an error if the target has unknown target type, or zero length.

Revision 7:
  Correctly align the dm_target_spec structures during retrieve_status().
  
  This patch applies to both 2.4 and 2.6 kernels.

Revision 8:
  Clarify the comment regarding the "next" field in struct dm_target_spec. The
  "next" field has different behavior if you're performing a DM_TABLE_STATUS
  command than it does if you're performing a DM_TABLE_LOAD command.
  
  See populate_table() and retrieve_status() in drivers/md/dm-ioctl.c for more
  details on how this field is used.

Revision 9:
  dm-ioctl(): In retrieve_status(), make sure we don't overrun the ioctl
  buffer.  [Kevin Corry]

Revision 10:
  Documentation for the linear target.  The last 2 scripts still need
  testing.

Revision 11:
  VFS lock patch [Chris Mason]

Revision 12:
  Fix XFS to work with the new VFS-lock patch.

Revision 13:
  Lock the filesystem while a device is suspended.
  [Kevin Corry, Joe Thornber]

Revision 14:
  Multipath target

Revision 15:
  Multipath: move the path failure decision to the path                                 
  selector. Some ps's may want to select paths that have a couple                                   
  failures over one that has N failures. If a ps has to track this info                             
  there didn't seem to be a compelling reason to also do it in                                      
  dm-mpath.c. Well code duplication and sharing is a good reason to do                              
  it in dm-mpath. It would be nice if I could just add an init function                             
  to any ps and leach off other people's work :) but is that too modular?                           
                                                                                                    
  Additionally, if a ps fails to activate a path or cannot use it                                   
  during initialization it may want to fail it.  [Mike Christie]

Revision 16:
  Multipath: exports the register and unregister ps functions.
  [Mike Christie]

Revision 17:
  Multipath: makes priority group / path-selector initialization
  possible. Remapping failed bios from end_io was not nice becuase you
  couldn't choose a path until you knew a group was activated and what
  paths in that group were still functional.  Plus, incoming IO needed
  to be mapped while failures were coming in.
  
  I guess you could just make map_io sleep or do some internal queueing.
  
  I choose the former, so I had to move the remap map_io call to
  dispatch_failed_ios and add a get_mapinfo accessor function.
  
  I think queueing incoming io while you finish the failed may be better,
  but targets calling dm's queueing mechanism didn't seem right, and
  reimplementing it didn't either. Well, I do not know if it is better
  or not. While paths are failing performance is going to take a hit
  so io ordering may only be a problem if you are concerned with
  journaling or barrier type stuff (but as we end up sending IO down
  multiple queues we cannot gaurantee ordering on the normal IO code
  path anyways).  [Mike Christie]

Revision 18:
  Multipath: adds another accessor so path-selectors can access a path's
  bdev. This is necessary for devices which need to send commands down
  to the device. (see rdac-test-support.patch)  [Mike Christie]

Revision 19:
  Multipath: dispatch_failed_ios can sleep. It should not                                  
  disrupt other users of the default work queue. Under heavy load                                   
  or group/ps initializations on a single processor machine, this                                   
  conflict becomes painful.  [Mike Christie]

Revision 20:
  Multipath: attached patch initializes current_count correctly.
  [Mike Christie]

Revision 21:
  dm-io

Revision 22:
  kcopyd

Revision 23:
  snapshot target.

Revision 24:
  mirror target

Revision 25:
  Flakey target

Revision 26:
  dm-zero

Revision 27:
  mirror: Use an EMIT macro in the status fn.

Revision 28:
  Striped: Use an EMIT macro in the status function.

Revision 29:
  dm-ioctl: change so that the target status function is never
  called with a buffer size limit of zero.  [Alasdair Kergon]




More information about the dm-devel mailing list