ia64/xen-unstable

changeset 16514:ebfb3b26010d

blkif interface: Add BLKIF_OP_FLUSH_DISKCACHE.

This disk operation, implemented on Solaris only so far, asks a
backend to flush the disk caches of the underlying storage if
possible, and is contigent upon the 'feature-flush-cache' xenstore
flag (although currently Solaris will always attempt to flush
anyway).

Signed-off-by: John Levon <john.levon@sun.com>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Dec 04 10:50:28 2007 +0000 (2007-12-04)
parents b1da8762f853
children 0c234da66b4a
files xen/include/public/io/blkif.h
line diff
     1.1 --- a/xen/include/public/io/blkif.h	Tue Dec 04 10:48:28 2007 +0000
     1.2 +++ b/xen/include/public/io/blkif.h	Tue Dec 04 10:50:28 2007 +0000
     1.3 @@ -54,7 +54,7 @@
     1.4  #define BLKIF_OP_WRITE             1
     1.5  /*
     1.6   * Recognised only if "feature-barrier" is present in backend xenbus info.
     1.7 - * The "feature_barrier" node contains a boolean indicating whether barrier
     1.8 + * The "feature-barrier" node contains a boolean indicating whether barrier
     1.9   * requests are likely to succeed or fail. Either way, a barrier request
    1.10   * may fail at any time with BLKIF_RSP_EOPNOTSUPP if it is unsupported by
    1.11   * the underlying block-device hardware. The boolean simply indicates whether
    1.12 @@ -63,6 +63,19 @@
    1.13   * create the "feature-barrier" node!
    1.14   */
    1.15  #define BLKIF_OP_WRITE_BARRIER     2
    1.16 +/*
    1.17 + * Recognised if "feature-flush-cache" is present in backend xenbus
    1.18 + * info.  A flush will ask the underlying storage hardware to flush its
    1.19 + * non-volatile caches as appropriate.  The "feature-flush-cache" node
    1.20 + * contains a boolean indicating whether flush requests are likely to
    1.21 + * succeed or fail. Either way, a flush request may fail at any time
    1.22 + * with BLKIF_RSP_EOPNOTSUPP if it is unsupported by the underlying
    1.23 + * block-device hardware. The boolean simply indicates whether or not it
    1.24 + * is worthwhile for the frontend to attempt flushes.  If a backend does
    1.25 + * not recognise BLKIF_OP_WRITE_FLUSH_CACHE, it should *not* create the
    1.26 + * "feature-flush-cache" node!
    1.27 + */
    1.28 +#define BLKIF_OP_FLUSH_DISKCACHE   3
    1.29  
    1.30  /*
    1.31   * Maximum scatter/gather segments per request.