#include <obd_support.h>
#include <obd_class.h>
-#include <lustre_debug.h>
#include <lustre_dlm.h>
#include <lprocfs_status.h>
static inline struct echo_srv_device *echo_srv_dev(struct lu_device *d)
{
- return container_of0(d, struct echo_srv_device, esd_dev);
+ return container_of_safe(d, struct echo_srv_device, esd_dev);
}
static inline struct obd_device *echo_srv_obd(struct echo_srv_device *esd)
RETURN(0);
}
-static u64 echo_next_id(struct obd_device *obddev)
+static u64 echo_next_id(struct obd_device *obd)
{
u64 id;
- spin_lock(&obddev->u.echo.eo_lock);
- id = ++obddev->u.echo.eo_lastino;
- spin_unlock(&obddev->u.echo.eo_lock);
+ spin_lock(&obd->u.echo.eo_lock);
+ id = ++obd->u.echo.eo_lastino;
+ spin_unlock(&obd->u.echo.eo_lock);
return id;
}
POSTID(&obj->ioo_oid));
return -ENOMEM;
}
+ /* set mapping so page is not considered encrypted */
+ res->lnb_page->mapping = ECHO_MAPPING_UNENCRYPTED;
}
CDEBUG(D_PAGE, "$$$$ get page %p @ %llu for %d\n",
{ NULL }
};
-struct obd_ops echo_obd_ops = {
+const struct obd_ops echo_obd_ops = {
.o_owner = THIS_MODULE,
.o_connect = echo_connect,
.o_disconnect = echo_disconnect,
LDLM_NAMESPACE_SERVER,
LDLM_NAMESPACE_MODEST,
LDLM_NS_TYPE_OST);
- if (!obd->obd_namespace)
- RETURN(-ENOMEM);
+ if (IS_ERR(obd->obd_namespace)) {
+ rc = PTR_ERR(obd->obd_namespace);
+ CERROR("%s: unable to create server namespace: rc = %d\n",
+ obd->obd_name, rc);
+ obd->obd_namespace = NULL;
+ RETURN(rc);
+ }
obd->obd_vars = lprocfs_echo_obd_vars;
if (!lprocfs_obd_setup(obd, true) &&
memset(kmap(pg), 0, PAGE_SIZE);
kunmap(pg);
+ /* set mapping so page is not considered encrypted */
+ pg->mapping = ECHO_MAPPING_UNENCRYPTED;
echo_persistent_pages[i] = pg;
}