qemu-virtio9p: Implement TGETLOCK
commit8f35400358488ffa1147e9eab9e2c9cf0efd5e4e
authorM. Mohan Kumar <mohan@in.ibm.com>
Tue, 7 Sep 2010 21:06:52 +0000 (8 02:36 +0530)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 20 Oct 2010 17:10:58 +0000 (20 12:10 -0500)
treee605718005a05b35d5b215b882b1d0931156593c
parent82cc3ee88ba238ec3ba96f4673d8a184588b82a4
qemu-virtio9p: Implement TGETLOCK

Synopsis

    size[4] TGetlock tag[2] fid[4] getlock[n]
    size[4] RGetlock tag[2] getlock[n]

Description

TGetlock is used to test for the existence of byte range posix locks on
a file identified by given fid. The reply contains getlock structure. If
the lock could be placed it returns F_UNLCK in type field of getlock structure.
Otherwise it returns the details of the conflicting locks in the getlock
structure

    getlock structure:
      type[1] - Type of lock: F_RDLCK, F_WRLCK
      start[8] - Starting offset for lock
      length[8] - Number of bytes to lock
        If length is 0, lock all bytes starting at the location
        'start' through to the end of file
      proc_id[4] - process id that wants to take lock/owns the task
               in case of reply
      client[4] - Client id of the system that owns the process

Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
hw/virtio-9p-debug.c
hw/virtio-9p.c
hw/virtio-9p.h