[sheepdog] [Qemu-devel] [PATCH v5] sheepdog: add discard/trim support for sheepdog

Kevin Wolf kwolf at redhat.com
Tue Apr 16 10:47:20 CEST 2013


Am 16.04.2013 um 10:18 hat Stefan Hajnoczi geschrieben:
> On Tue, Apr 16, 2013 at 12:15:04AM +0800, Liu Yuan wrote:
> > @@ -727,6 +730,20 @@ static void coroutine_fn aio_read_response(void *opaque)
> >              rsp.result = SD_RES_SUCCESS;
> >          }
> >          break;
> > +    case AIOCB_DISCARD_OBJ:
> > +        switch (rsp.result) {
> > +        case SD_RES_INVALID_PARMS:
> > +            error_report("you are running the old sheep that doesn't support "
> > +                         "discard command.\n");
> 
> error_report() does not need '\n'.
> 
> The recently added ssh block driver has a similar case when the server
> does not support fsync.  It does the following:
> 
> 1. Print the error message once only per volume, avoid filling up logs
>    on the host.
> 2. Include details of the volume/server in case the users is connected
>    to multiple volumes/servers.  This allows them to figure out which
>    server is outdated.
> 
> This makes the error messages safe from denial-of-service and includes
> more useful information.

Or if we can check whether discard works during bdrv_open(), we could
already fail there for discard=on.

Kevin



More information about the sheepdog mailing list