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
..
2010-10-28 09:08:47 -05:00
2010-10-25 21:26:11 -04:00
2010-06-16 18:05:05 +02:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-08-18 01:01:33 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:13 -04:00
2010-10-27 18:03:17 -07:00
2010-10-25 21:24:16 -04:00
2010-10-25 21:26:11 -04:00
2010-10-26 16:52:12 -07:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:27:18 -04:00
2010-10-25 21:26:11 -04:00
2010-10-21 18:48:04 +02:00
2010-10-25 21:26:14 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:15 -04:00
2010-10-15 15:53:27 +02:00
2010-08-18 08:35:46 -04:00
2010-10-25 21:27:18 -04:00
2010-10-27 21:30:11 -04:00
2010-10-25 21:26:11 -04:00
2010-10-25 21:26:11 -04:00
2010-08-18 08:35:47 -04:00
2010-08-18 08:35:48 -04:00
2010-08-09 16:48:44 -04:00
2010-10-25 21:27:18 -04:00
2010-08-09 16:47:43 -04:00