android_kernel_xiaomi_sm8350/drivers/md
Kiyoshi Ueda 45cbcd7983 [PATCH] dm: map and endio return code clarification
Tighten the use of return values from the target map and end_io functions.
Values of 2 and above are now explictly reserved for future use.  There are no
existing targets using such values.

The patch has no effect on existing behaviour.

o Reserve return values of 2 and above from target map functions.
  Any positive value currently indicates "mapping complete", but all
  existing drivers use the value 1.  We now make that a requirement
  so we can assign new meaning to higher values in future.

  The new definition of return values from target map functions is:
      < 0 : error
      = 0 : The target will handle the io (DM_MAPIO_SUBMITTED).
      = 1 : Mapping completed (DM_MAPIO_REMAPPED).
      > 1 : Reserved (undefined).  Previously this was the same as '= 1'.

o Reserve return values of 2 and above from target end_io functions
  for similar reasons.
  DM_ENDIO_INCOMPLETE is introduced for a return value of 1.

Test results:

  I have tested by using the multipath target.

  I/Os succeed when valid paths exist.

  I/Os are queued in the multipath target when there are no valid paths and
queue_if_no_path is set.

  I/Os fail when there are no valid paths and queue_if_no_path is not set.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: dm-devel@redhat.com
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-08 08:29:09 -08:00
..
raid6test
.gitignore
bitmap.c [PATCH] struct path: convert md 2006-12-08 08:28:47 -08:00
dm-bio-list.h
dm-bio-record.h
dm-crypt.c [PATCH] LOG2: Implement a general integer log2 facility in the kernel 2006-12-08 08:28:51 -08:00
dm-emc.c [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-exception-store.c
dm-hw-handler.c
dm-hw-handler.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-io.c [PATCH] dm io: fix bi_max_vecs 2006-12-08 08:29:08 -08:00
dm-io.h
dm-ioctl.c [PATCH] dm: suspend: parameter change 2006-12-08 08:29:09 -08:00
dm-linear.c [PATCH] struct path: convert md 2006-12-08 08:28:47 -08:00
dm-log.c
dm-log.h
dm-mpath.c [PATCH] struct path: convert md 2006-12-08 08:28:47 -08:00
dm-mpath.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-path-selector.c
dm-path-selector.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-raid1.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
dm-round-robin.c [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-snap.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
dm-snap.h
dm-stripe.c
dm-table.c
dm-target.c
dm-zero.c
dm.c [PATCH] dm: map and endio return code clarification 2006-12-08 08:29:09 -08:00
dm.h [PATCH] dm: map and endio return code clarification 2006-12-08 08:29:09 -08:00
faulty.c
Kconfig
kcopyd.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
kcopyd.h
linear.c
Makefile
md.c [PATCH] struct path: convert md 2006-12-08 08:28:47 -08:00
mktables.c
multipath.c [PATCH] md: fix up maintenance of ->degraded in multipath 2006-10-28 11:30:51 -07:00
raid0.c
raid1.c [PATCH] md: fix printk format warnings, seen on powerpc64: 2006-10-28 11:30:52 -07:00
raid5.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
raid6.h
raid6algos.c
raid6altivec.uc
raid6int.uc
raid6mmx.c
raid6recov.c
raid6sse1.c
raid6sse2.c
raid6x86.h
raid10.c [PATCH] md: fix printk format warnings, seen on powerpc64: 2006-10-28 11:30:52 -07:00
unroll.pl
xor.c