Example #1
0
def testLock(t, env):
    """REPLAY a LOCK command

    FLAGS: replay all
    DEPEND: MKFILE
    CODE: RPLY5
    """
    c = env.c1
    c.init_connection()
    # Create a file and partially lock it
    fh, stateid = c.create_confirm(t.code)
    res = c.lock_file(t.code, fh, stateid, 20, 100)
    check(res, msg="Locking file %s" % t.code)
    # Create and replay LOCK ops
    ops = c.use_obj(fh)
    lock_owner = exist_lock_owner4(res.lockid, 1)
    locker = locker4(FALSE, lock_owner=lock_owner)
    ops += [c.lock_op(WRITE_LT, FALSE, 0, 10, locker)]
    _replay(c, ops)
Example #2
0
def testLock(t, env):
    """REPLAY a LOCK command

    FLAGS: replay all
    DEPEND: MKFILE
    CODE: RPLY5
    """
    c = env.c1
    c.init_connection()
    # Create a file and partially lock it
    fh, stateid = c.create_confirm(t.code)
    res = c.lock_file(t.code, fh, stateid, 20, 100)
    check(res, msg="Locking file %s" % t.code)
    # Create and replay LOCK ops
    ops = c.use_obj(fh)
    lock_owner = exist_lock_owner4(res.lockid, 1)
    locker = locker4(FALSE, lock_owner=lock_owner)
    ops += [c.lock_op(WRITE_LT, FALSE, 0, 10, locker)]
    _replay(c, ops)
Example #3
0
def testLockDenied(t, env):
    """REPLAY a LOCK command that fails

    FLAGS: replay all
    DEPEND: MKFILE
    CODE: RPLY6
    """
    c = env.c1
    c.init_connection()
    # Create a file and lock it
    fh, stateid = c.create_confirm(t.code)
    res1 = c.lock_file(t.code, fh, stateid, 20, 100)
    check(res1, msg="Locking file %s for first owner" % t.code)
    res2 = c.lock_file(t.code, fh, stateid, 0, 10)
    check(res2, msg="Locking file %s for second owner" % t.code)
    # Create and replay LOCK ops
    ops = c.use_obj(fh)
    lock_owner = exist_lock_owner4(res1.lockid, 1)
    locker = locker4(FALSE, lock_owner=lock_owner)
    ops += [c.lock_op(WRITE_LT, FALSE, 0, 10, locker)]
    _replay(c, ops, NFS4ERR_DENIED)
Example #4
0
def testLockDenied(t, env):
    """REPLAY a LOCK command that fails

    FLAGS: replay all
    DEPEND: MKFILE
    CODE: RPLY6
    """
    c = env.c1
    c.init_connection()
    # Create a file and lock it
    fh, stateid = c.create_confirm(t.code)
    res1 = c.lock_file(t.code, fh, stateid, 20, 100)
    check(res1, msg="Locking file %s for first owner" % t.code)
    res2 = c.lock_file(t.code, fh, stateid, 0, 10)
    check(res2, msg="Locking file %s for second owner" % t.code)
    # Create and replay LOCK ops
    ops = c.use_obj(fh)
    lock_owner = exist_lock_owner4(res1.lockid, 1)
    locker = locker4(FALSE, lock_owner=lock_owner)
    ops += [c.lock_op(WRITE_LT, FALSE, 0, 10, locker)]
    _replay(c, ops, NFS4ERR_DENIED)