Whamcloud - gitweb
LU-1201 checksum: add libcfs crypto hash
[fs/lustre-release.git] / lustre / mds / mds_lov.c
index 49f4208..c2b58cb 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -259,7 +257,7 @@ int mds_lov_prepare_objids(struct obd_device *obd, struct lov_mds_md *lmm)
         }
 
 
-        cfs_mutex_down(&obd->obd_dev_sem);
+        cfs_mutex_lock(&obd->obd_dev_mutex);
         for (j = 0; j < count; j++) {
                 __u32 i = le32_to_cpu(data[j].l_ost_idx);
                 if (mds_lov_update_max_ost(&obd->u.mds, i)) {
@@ -267,7 +265,7 @@ int mds_lov_prepare_objids(struct obd_device *obd, struct lov_mds_md *lmm)
                         break;
                 }
         }
-        cfs_mutex_up(&obd->obd_dev_sem);
+        cfs_mutex_unlock(&obd->obd_dev_mutex);
 
         RETURN(rc);
 }
@@ -513,8 +511,8 @@ static int mds_lov_get_objid(struct obd_device * obd,
                 size = sizeof(lastid);
                 lastid.idx = idx;
                 lastid.data = &data[off];
-                rc = obd_get_info(lov_exp, sizeof(KEY_LAST_ID), KEY_LAST_ID,
-                                  &size, &lastid, NULL);
+                rc = obd_get_info(NULL, lov_exp, sizeof(KEY_LAST_ID),
+                                  KEY_LAST_ID, &size, &lastid, NULL);
                 if (rc)
                         GOTO(out, rc);
 
@@ -550,7 +548,7 @@ int mds_lov_clear_orphans(struct mds_obd *mds, struct obd_uuid *ost_uuid)
         if (ost_uuid != NULL)
                 oti.oti_ost_uuid = ost_uuid;
 
-        rc = obd_create(mds->mds_lov_exp, &oa, &empty_ea, &oti);
+        rc = obd_create(NULL, mds->mds_lov_exp, &oa, &empty_ea, &oti);
 
         RETURN(rc);
 }
@@ -567,7 +565,7 @@ static int mds_lov_set_one_nextid(struct obd_device *obd, __u32 idx, obd_id *id)
 
         info.idx = idx;
         info.data = id;
-        rc = obd_set_info_async(mds->mds_lov_exp, sizeof(KEY_NEXT_ID),
+        rc = obd_set_info_async(NULL, mds->mds_lov_exp, sizeof(KEY_NEXT_ID),
                                 KEY_NEXT_ID, sizeof(info), &info, NULL);
         if (rc)
                 CERROR ("%s: mds_lov_set_nextid failed (%d)\n",
@@ -590,8 +588,8 @@ static int mds_lov_update_desc(struct obd_device *obd, int idx,
         if (!ld)
                 RETURN(-ENOMEM);
 
-        rc = obd_get_info(mds->mds_lov_exp, sizeof(KEY_LOVDESC), KEY_LOVDESC,
-                          &valsize, ld, NULL);
+        rc = obd_get_info(NULL, mds->mds_lov_exp, sizeof(KEY_LOVDESC),
+                          KEY_LOVDESC, &valsize, ld, NULL);
         if (rc)
                 GOTO(out, rc);
 
@@ -601,9 +599,9 @@ static int mds_lov_update_desc(struct obd_device *obd, int idx,
         CDEBUG(D_CONFIG, "updated lov_desc, tgt_count: %d - idx %d / uuid %s\n",
                mds->mds_lov_desc.ld_tgt_count, idx, uuid->uuid);
 
-        cfs_mutex_down(&obd->obd_dev_sem);
+        cfs_mutex_lock(&obd->obd_dev_mutex);
         rc = mds_lov_update_max_ost(mds, idx);
-        cfs_mutex_up(&obd->obd_dev_sem);
+        cfs_mutex_unlock(&obd->obd_dev_mutex);
         if (rc != 0)
                 GOTO(out, rc );
 
@@ -691,9 +689,9 @@ int mds_lov_connect(struct obd_device *obd, char * lov_name)
                 RETURN(-ENOTCONN);
         }
 
-        cfs_mutex_down(&obd->obd_dev_sem);
+        cfs_mutex_lock(&obd->obd_dev_mutex);
         rc = mds_lov_read_objids(obd);
-        cfs_mutex_up(&obd->obd_dev_sem);
+        cfs_mutex_unlock(&obd->obd_dev_mutex);
         if (rc) {
                 CERROR("cannot read %s: rc = %d\n", "lov_objids", rc);
                 GOTO(err_exit, rc);
@@ -732,7 +730,7 @@ int mds_lov_connect(struct obd_device *obd, char * lov_name)
         /* send max bytes per rpc */
         data->ocd_brw_size = PTLRPC_MAX_BRW_PAGES << CFS_PAGE_SHIFT;
         /* send the list of supported checksum types */
-        data->ocd_cksum_types = cksum_types_supported();
+       data->ocd_cksum_types = cksum_types_supported_client();
         /* NB: lov_connect() needs to fill in .ocd_index for each OST */
         rc = obd_connect(NULL, &mds->mds_lov_exp, mds->mds_lov_obd, &obd->obd_uuid, data, NULL);
         OBD_FREE(data, sizeof(*data));
@@ -803,8 +801,9 @@ static int mds_propagate_capa_keys(struct mds_obd *mds, struct obd_uuid *uuid)
                 DEBUG_CAPA_KEY(D_SEC, key, "propagate");
 
                 info.capa = key;
-                rc = obd_set_info_async(mds->mds_lov_exp, sizeof(KEY_CAPA_KEY),
-                                        KEY_CAPA_KEY, sizeof(info), &info, NULL);
+                rc = obd_set_info_async(NULL, mds->mds_lov_exp,
+                                        sizeof(KEY_CAPA_KEY), KEY_CAPA_KEY,
+                                        sizeof(info), &info, NULL);
                 if (rc) {
                         DEBUG_CAPA_KEY(D_ERROR, key,
                                        "propagate failed (rc = %d) for", rc);
@@ -853,7 +852,7 @@ static int __mds_lov_synchronize(void *data)
         mgi.group = mdt_to_obd_objseq(mds->mds_id);
         mgi.uuid = uuid;
 
-        rc = obd_set_info_async(mds->mds_lov_exp, sizeof(KEY_MDS_CONN),
+        rc = obd_set_info_async(NULL, mds->mds_lov_exp, sizeof(KEY_MDS_CONN),
                                 KEY_MDS_CONN, sizeof(mgi), &mgi, NULL);
         if (rc != 0)
                 GOTO(out, rc);
@@ -898,7 +897,6 @@ static int __mds_lov_synchronize(void *data)
 #endif
         EXIT;
 out:
-        cfs_up_read(&mds->mds_notify_lock);
         if (rc) {
                 /* Deactivate it for safety */
                 CERROR("%s sync failed %d, deactivating\n", obd_uuid2str(uuid),
@@ -908,6 +906,7 @@ out:
                         obd_notify(mds->mds_lov_obd, watched,
                                    OBD_NOTIFY_INACTIVE, NULL);
         }
+       cfs_up_read(&mds->mds_notify_lock);
 
         class_decref(obd, "mds_lov_synchronize", obd);
         return rc;
@@ -1004,8 +1003,8 @@ int mds_notify(struct obd_device *obd, struct obd_device *watched,
         switch (ev) {
         /* We only handle these: */
         case OBD_NOTIFY_CREATE:
-                CWARN("MDS %s: add target %s\n",obd->obd_name,
-                      obd_uuid2str(&watched->u.cli.cl_target_uuid));
+                CDEBUG(D_CONFIG, "%s: add target %s\n", obd->obd_name,
+                       obd_uuid2str(&watched->u.cli.cl_target_uuid));
                 /* We still have to fix the lov descriptor for ost's */
                 LASSERT(data);
                 rc = mds_lov_update_desc(obd, *(__u32 *)data,
@@ -1023,9 +1022,10 @@ int mds_notify(struct obd_device *obd, struct obd_device *watched,
         }
 
         if (obd->obd_recovering) {
-                CWARN("MDS %s: in recovery, not resetting orphans on %s\n",
-                      obd->obd_name,
-                      obd_uuid2str(&watched->u.cli.cl_target_uuid));
+                CDEBUG(D_CONFIG, "%s: Is in recovery, "
+                       "not resetting orphans on %s\n",
+                       obd->obd_name,
+                       obd_uuid2str(&watched->u.cli.cl_target_uuid));
                 /* We still have to fix the lov descriptor for ost's added
                    after the mdt in the config log.  They didn't make it into
                    mds_lov_connect. */