#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS
+#ifndef LIBCEPHFS_VERSION
+#define LIBCEPHFS_VERSION(maj, min, extra) ((maj << 16) + (min << 8) + extra)
+#define LIBCEPHFS_VERSION_CODE LIBCEPHFS_VERSION(0, 0, 0)
+#endif
+
/*
* Use %llu whenever we have a 64bit unsigned int, and cast to (long long unsigned)
*/
{
int ret;
DEBUG(10, ("[CEPH] fgetxattr(%p, %p, %s, %p, %llu)\n", handle, fsp, name, value, llu(size)));
+#if LIBCEPHFS_VERSION_CODE >= LIBCEPHFS_VERSION(0, 94, 0)
+ ret = ceph_fgetxattr(handle->data, fsp->fh->fd, name, value, size);
+#else
ret = ceph_getxattr(handle->data, fsp->fsp_name->base_name, name, value, size);
+#endif
DEBUG(10, ("[CEPH] fgetxattr(...) = %d\n", ret));
if (ret < 0) {
WRAP_RETURN(ret);
{
int ret;
DEBUG(10, ("[CEPH] flistxattr(%p, %p, %s, %llu)\n", handle, fsp, list, llu(size)));
+#if LIBCEPHFS_VERSION_CODE >= LIBCEPHFS_VERSION(0, 94, 0)
+ ret = ceph_flistxattr(handle->data, fsp->fh->fd, list, size);
+#else
ret = ceph_listxattr(handle->data, fsp->fsp_name->base_name, list, size);
+#endif
DEBUG(10, ("[CEPH] flistxattr(...) = %d\n", ret));
if (ret < 0) {
WRAP_RETURN(ret);
{
int ret;
DEBUG(10, ("[CEPH] fremovexattr(%p, %p, %s)\n", handle, fsp, name));
+#if LIBCEPHFS_VERSION_CODE >= LIBCEPHFS_VERSION(0, 94, 0)
+ ret = ceph_fremovexattr(handle->data, fsp->fh->fd, name);
+#else
ret = ceph_removexattr(handle->data, fsp->fsp_name->base_name, name);
+#endif
DEBUG(10, ("[CEPH] fremovexattr(...) = %d\n", ret));
WRAP_RETURN(ret);
}
{
int ret;
DEBUG(10, ("[CEPH] fsetxattr(%p, %p, %s, %p, %llu, %d)\n", handle, fsp, name, value, llu(size), flags));
+#if LIBCEPHFS_VERSION_CODE >= LIBCEPHFS_VERSION(0, 94, 0)
+ ret = ceph_fsetxattr(handle->data, fsp->fh->fd,
+ name, value, size, flags);
+#else
ret = ceph_setxattr(handle->data, fsp->fsp_name->base_name, name, value, size, flags);
+#endif
DEBUG(10, ("[CEPH] fsetxattr(...) = %d\n", ret));
WRAP_RETURN(ret);
}