• A
    net/9p: Implement TXATTRCREATE 9p call · eda25e46
    Aneesh Kumar K.V 提交于
    TXATTRCREATE:  Prepare a fid for setting xattr value on a file system object.
    
     size[4] TXATTRCREATE tag[2] fid[4] name[s] attr_size[8] flags[4]
     size[4] RXATTRCREATE tag[2]
    
    txattrcreate gets a fid pointing to xattr. This fid can later be
    used to set the xattr value.
    
    flag value is derived from set Linux setxattr. The manpage says
    "The flags parameter can be used to refine the semantics of the operation.
    XATTR_CREATE specifies a pure create, which fails if the named attribute
    exists already. XATTR_REPLACE specifies a pure replace operation, which
    fails if the named attribute does not already exist. By default (no flags),
    the extended attribute will be created if need be, or will simply replace
    the value if the attribute exists."
    
    The actual setxattr operation happens when the fid is clunked. At that point
    the written byte count and the attr_size specified in TXATTRCREATE should be
    same otherwise an error will be returned.
    Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: NVenkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
    Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
    eda25e46
client.c 40.4 KB