kernel-ark/net/9p
M. Mohan Kumar a099027c77 9p: Implement TLOCK
Synopsis

    size[4] TLock tag[2] fid[4] flock[n]
    size[4] RLock tag[2] status[1]

Description

Tlock is used to acquire/release byte range posix locks on a file
identified by given fid. The reply contains status of the lock request

    flock structure:
        type[1] - Type of lock: F_RDLCK, F_WRLCK, F_UNLCK
        flags[4] - Flags could be either of
          P9_LOCK_FLAGS_BLOCK - Blocked lock request, if there is a
            conflicting lock exists, wait for that lock to be released.
          P9_LOCK_FLAGS_RECLAIM - Reclaim lock request, used when client is
            trying to reclaim a lock after a server restrart (due to crash)
        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
        pid[4] - PID of the process that wants to take lock
        client_id[4] - Unique client id

        status[1] - Status of the lock request, can be
          P9_LOCK_SUCCESS(0), P9_LOCK_BLOCKED(1), P9_LOCK_ERROR(2) or
          P9_LOCK_GRACE(3)
          P9_LOCK_SUCCESS - Request was successful
          P9_LOCK_BLOCKED - A conflicting lock is held by another process
          P9_LOCK_ERROR - Error while processing the lock request
          P9_LOCK_GRACE - Server is in grace period, it can't accept new lock
            requests in this period (except locks with
            P9_LOCK_FLAGS_RECLAIM flag set)

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>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2010-10-28 09:08:47 -05:00
..
client.c 9p: Implement TLOCK 2010-10-28 09:08:47 -05:00
error.c net/9p: insulate the client against an invalid error code sent by a 9p server 2009-08-17 16:39:54 -05:00
Kconfig 9p: disallow RDMA if RDMA CM isn't available 2009-01-15 16:39:42 -08:00
Makefile
mod.c
protocol.c 9p: Implement client side of setattr for 9P2000.L protocol. 2010-08-02 14:25:10 -05:00
protocol.h 9P2010.L handshake: Remove "dotu" variable 2010-03-05 15:04:42 -06:00
trans_fd.c net/9p/trans_fd.c: Fix unsigned return type 2010-09-06 18:48:42 -07:00
trans_rdma.c net/9p: fix memory handling/allocation in rdma_request() 2010-09-27 07:52:50 -05:00
trans_virtio.c net/9p: Mount only matching virtio channels 2010-09-27 15:54:44 -07:00
util.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00