Extended attribute operations.
*****************************************************************/
-static ssize_t cephwrap_getxattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name,
- void *value,
- size_t size)
-{
- int ret;
- DBG_DEBUG("[CEPH] getxattr(%p, %s, %s, %p, %llu)\n", handle,
- smb_fname->base_name, name, value, llu(size));
- ret = ceph_getxattr(handle->data,
- smb_fname->base_name, name, value, size);
- DBG_DEBUG("[CEPH] getxattr(...) = %d\n", ret);
- if (ret < 0) {
- WRAP_RETURN(ret);
- }
- return (ssize_t)ret;
-}
-
static ssize_t cephwrap_fgetxattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, void *value, size_t size)
{
int ret;
.connectpath_fn = cephwrap_connectpath,
/* EA operations. */
- .getxattr_fn = cephwrap_getxattr,
.getxattrat_send_fn = vfs_not_implemented_getxattrat_send,
.getxattrat_recv_fn = vfs_not_implemented_getxattrat_recv,
.fgetxattr_fn = cephwrap_fgetxattr,