Whamcloud - gitweb
b=19400
[fs/lustre-release.git] / lustre / include / obd_class.h
index e65da9f..dba5e2d 100644 (file)
@@ -822,7 +822,7 @@ static inline struct obd_uuid *obd_get_uuid(struct obd_export *exp)
 }
 
 static inline int obd_connect(const struct lu_env *env,
-                              struct lustre_handle *conn,struct obd_device *obd,
+                              struct obd_export **exp,struct obd_device *obd,
                               struct obd_uuid *cluuid,
                               struct obd_connect_data *d,
                               void *localdata)
@@ -836,7 +836,7 @@ static inline int obd_connect(const struct lu_env *env,
         OBD_CHECK_DT_OP(obd, connect, -EOPNOTSUPP);
         OBD_COUNTER_INCREMENT(obd, connect);
 
-        rc = OBP(obd, connect)(env, conn, obd, cluuid, d, localdata);
+        rc = OBP(obd, connect)(env, exp, obd, cluuid, d, localdata);
         /* check that only subset is granted */
         LASSERT(ergo(d != NULL,
                      (d->ocd_connect_flags & ocf) == d->ocd_connect_flags));
@@ -990,6 +990,26 @@ static inline int obd_pool_rem(struct obd_device *obd, char *poolname, char *ost
         RETURN(rc);
 }
 
+static inline void obd_getref(struct obd_device *obd)
+{
+        ENTRY;
+        if (OBT(obd) && OBP(obd, getref)) {
+                OBD_COUNTER_INCREMENT(obd, getref);
+                OBP(obd, getref)(obd);
+        }
+        EXIT;
+}
+
+static inline void obd_putref(struct obd_device *obd)
+{
+        ENTRY;
+        if (OBT(obd) && OBP(obd, putref)) {
+                OBD_COUNTER_INCREMENT(obd, putref);
+                OBP(obd, putref)(obd);
+        }
+        EXIT;
+}
+
 static inline int obd_init_export(struct obd_export *exp)
 {
         int rc = 0;