On Wed, 05/04 14:46, Richard W.M. Jones wrote:
> On Thu, Apr 28, 2016 at 08:57:27PM +0800, Fam Zheng wrote:
> > They are wrappers of POSIX fcntl file locking, with the additional
> > interception of open/close (through qemu_open and qemu_close) to offer a
> > better semantics that preserves the locks across multiple life cycles of
> > different fds on the same file. The reason to make this semantics
> > change over the fcntl locks is to make the API cleaner for QEMU
> > subsystems.
> >
> > More precisely, we remove this "feature" of fcntl lock:
> >
> > If a process closes any file descriptor referring to a file, then
> > all of the process's locks on that file are released, regardless of
> > the file descriptor(s) on which the locks were obtained.
> >
> > as long as the fd is always open/closed through qemu_open and
> > qemu_close.
>
> > + ret = qemu_lock_do(fd, start, len, readonly ? F_RDLCK : F_WRLCK);
> > + if (ret == -1) {
> > + return -errno;
> > + }
>
> It still appears this patch would break libguestfs's valid use case.
>
> How about addressing what Dan wrote here:
>
> https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg02927.html
OK. It means we then don't lock ro images at all. Fair enough and I will
respin.
Fam