All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, stefanha@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH 1.1 19/22] block: implement is_allocated for raw
Date: Wed, 09 May 2012 16:05:15 +0200	[thread overview]
Message-ID: <4FAA799B.9090606@redhat.com> (raw)
In-Reply-To: <4FAA73D7.3030203@redhat.com>

Il 09/05/2012 15:40, Kevin Wolf ha scritto:
>> > +#ifndef SEEK_DATA
>> > +#define SEEK_DATA 3
>> > +#endif
>> > +#ifndef SEEK_HOLE
>> > +#define SEEK_HOLE 4
>> > +#endif
> How is that going to be portable? You assume that on non-Linux you'll
> get -EINVAL, but what does guarantee that 3 or 4 aren't already used for
> the standard SEEK_* constants or for a different non-standard extension?

While SEEK_* is not guaranteed by POSIX to be 0/1/2, the values is so
old that there may still exist programs that hard-code the values
(similar to O_RDONLY/O_WRONLY/O_RDWR, though probably not any other O_*
constant).  It would be quite unwise to define them to something else.
Even MS-DOS reused the values!

AFAIK this is the only extension of lseek that's ever been added.  It
was done on Solaris first and then in Linux and the BSDs.  It used 3/4
there too, see for example http://bugs.python.org/msg119551 (Solaris)
and http://mail-index.netbsd.org/tech-kern/2011/08/17/msg011231.html
(NetBSD).

Paolo

  reply	other threads:[~2012-05-09 14:05 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-08 14:51 [Qemu-devel] [PATCH 1.1 00/22] Rebased queue of block patches Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 01/22] block: fix snapshot on QED Paolo Bonzini
2012-05-09 12:15   ` Kevin Wolf
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 02/22] block: another bdrv_append fix Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 03/22] block: do not reuse the backing file across bdrv_close/bdrv_open Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 04/22] block: fully delete bs->file when closing Paolo Bonzini
2012-05-09 12:22   ` Kevin Wolf
2012-05-09 12:59     ` Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 05/22] block: add block_job_sleep_ns Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 06/22] block: wait for job callback in block_job_cancel_sync Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 07/22] block: simplify path_is_absolute Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 08/22] block: protect path_has_protocol from filenames with colons Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 09/22] block: move field reset from bdrv_open_common to bdrv_close Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 10/22] qemu-img: make "info" backing file output correct and easier to use Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 11/22] qemu-io: correctly print non-integer values as decimals Paolo Bonzini
2012-05-09 12:46   ` Kevin Wolf
2012-05-09 12:48     ` Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 12/22] qemu-io: fix the alloc command Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 13/22] stream: fix sectors not allocated test Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 14/22] stream: add testcase for partial streaming Paolo Bonzini
2012-05-09 12:59   ` Kevin Wolf
2012-05-09 13:05     ` [Qemu-devel] [PATCH 1.1 v2 " Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 15/22] stream: pass new base image format to bdrv_change_backing_file Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 16/22] stream: fix HMP block_job_set_speed Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 17/22] stream: fix ratelimiting corner case Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 18/22] stream: do not copy unallocated sectors from the base Paolo Bonzini
2012-05-08 14:51 ` [Qemu-devel] [PATCH 1.1 19/22] block: implement is_allocated for raw Paolo Bonzini
2012-05-09 13:40   ` Kevin Wolf
2012-05-09 14:05     ` Paolo Bonzini [this message]
2012-05-09 14:10       ` Kevin Wolf
2012-05-09 14:24         ` Paolo Bonzini
2012-05-09 14:49           ` [Qemu-devel] [PATCH next v2 " Paolo Bonzini
2012-05-08 14:52 ` [Qemu-devel] [PATCH 1.1 20/22] stream: tweak usage of bdrv_co_is_allocated Paolo Bonzini
2012-05-08 14:52 ` [Qemu-devel] [PATCH 1.1 21/22] stream: move is_allocated_above to block.c Paolo Bonzini
2012-05-08 14:52 ` [Qemu-devel] [PATCH 1.1 22/22] stream: move rate limiting to a separate header file Paolo Bonzini
2012-05-09 13:52   ` Kevin Wolf
2012-05-09 14:09     ` [Qemu-devel] [PATCH 1.1 v2 " Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FAA799B.9090606@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.