X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fobdclass%2Fllog_test.c;h=00678c25f7fc31bc82c290035789939fe1e345a9;hp=82bc3d7ea551e56bff7ef02729962ac1c24f307b;hb=e2af7fb3c91dfb13d34d8e1b2f2df8c09621f768;hpb=5ab23f67f151d09f4b642a212989e7d2e4692bc0 diff --git a/lustre/obdclass/llog_test.c b/lustre/obdclass/llog_test.c index 82bc3d7..00678c2 100644 --- a/lustre/obdclass/llog_test.c +++ b/lustre/obdclass/llog_test.c @@ -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. @@ -26,7 +24,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -38,9 +36,6 @@ * Author: Phil Schwan */ -#ifndef EXPORT_SYMTAB -# define EXPORT_SYMTAB -#endif #define DEBUG_SUBSYSTEM S_CLASS #include @@ -184,7 +179,7 @@ static int llog_test_3(struct obd_device *obd, struct llog_handle *llh) struct llog_create_rec lcr; int rc, i; int num_recs = 1; /* 1 for the header */ - ENTRY; + ENTRY; lcr.lcr_hdr.lrh_len = lcr.lcr_tail.lrt_len = sizeof(lcr); lcr.lcr_hdr.lrh_type = OST_SZ_REC; @@ -236,8 +231,8 @@ static int llog_test_3(struct obd_device *obd, struct llog_handle *llh) if ((rc = verify_handle("3c", llh, num_recs))) RETURN(rc); - - CWARN("3d: write log more than BITMAP_SIZE, return -ENOSPC\n"); + + CWARN("3d: write log more than BITMAP_SIZE, return -ENOSPC\n"); for (i = 0; i < LLOG_BITMAP_SIZE(llh->lgh_hdr) + 1; i++) { struct llog_rec_hdr hdr; char buf_even[24]; @@ -245,30 +240,30 @@ static int llog_test_3(struct obd_device *obd, struct llog_handle *llh) memset(buf_odd, 0, sizeof buf_odd); memset(buf_even, 0, sizeof buf_even); - if ((i % 2) == 0) { - hdr.lrh_len = 24; - hdr.lrh_type = OBD_CFG_REC; - rc = llog_write_rec(llh, &hdr, NULL, 0, buf_even, -1); - } else { - hdr.lrh_len = 32; - hdr.lrh_type = OBD_CFG_REC; - rc = llog_write_rec(llh, &hdr, NULL, 0, buf_odd, -1); - } + if ((i % 2) == 0) { + hdr.lrh_len = 24; + hdr.lrh_type = OBD_CFG_REC; + rc = llog_write_rec(llh, &hdr, NULL, 0, buf_even, -1); + } else { + hdr.lrh_len = 32; + hdr.lrh_type = OBD_CFG_REC; + rc = llog_write_rec(llh, &hdr, NULL, 0, buf_odd, -1); + } if (rc) { - if (rc == -ENOSPC) { - break; - } else { - CERROR("3c: write 8k recs failed at #%d: %d\n", - i + 1, rc); - RETURN(rc); - } + if (rc == -ENOSPC) { + break; + } else { + CERROR("3c: write recs failed at #%d: %d\n", + i + 1, rc); + RETURN(rc); + } } num_recs++; } - if (rc != -ENOSPC) { - CWARN("3d: write record more than BITMAP size!\n"); - RETURN(-EINVAL); - } + if (rc != -ENOSPC) { + CWARN("3d: write record more than BITMAP size!\n"); + RETURN(-EINVAL); + } if ((rc = verify_handle("3d", llh, num_recs))) RETURN(rc); @@ -449,7 +444,7 @@ static int llog_test_5(struct obd_device *obd) } CWARN("5c: Cancel 40000 records, see one log zapped\n"); - rc = llog_cat_process(llh, llog_cancel_rec_cb, "foobar"); + rc = llog_cat_process(llh, llog_cancel_rec_cb, "foobar", 0, 0); if (rc != -4711) { CERROR("5c: process with cat_cancel_cb failed: %d\n", rc); GOTO(out, rc); @@ -471,7 +466,7 @@ static int llog_test_5(struct obd_device *obd) } CWARN("5e: print plain log entries.. expect 6\n"); - rc = llog_cat_process(llh, plain_print_cb, "foobar"); + rc = llog_cat_process(llh, plain_print_cb, "foobar", 0, 0); if (rc) { CERROR("5e: process with plain_print_cb failed: %d\n", rc); GOTO(out, rc); @@ -501,7 +496,6 @@ static int llog_test_6(struct obd_device *obd, char *name) struct obd_device *mgc_obd; struct llog_ctxt *ctxt = llog_get_context(obd, LLOG_TEST_ORIG_CTXT); struct obd_uuid *mgs_uuid = &ctxt->loc_exp->exp_obd->obd_uuid; - struct lustre_handle exph = {0, }; struct obd_export *exp; struct obd_uuid uuid = {"LLOG_TEST6_UUID"}; struct llog_handle *llh = NULL; @@ -516,13 +510,15 @@ static int llog_test_6(struct obd_device *obd, char *name) GOTO(ctxt_release, rc = -ENOENT); } - rc = obd_connect(NULL, &exph, mgc_obd, &uuid, + rc = obd_connect(NULL, &exp, mgc_obd, &uuid, NULL /* obd_connect_data */, NULL); - if (rc) { - CERROR("6: failed to connect to MGC: %s\n", mgc_obd->obd_name); - GOTO(ctxt_release, rc); + if (rc != -EALREADY) { + CERROR("6: connect on connected MDC (%s) failed to return" + " -EALREADY", mgc_obd->obd_name); + if (rc == 0) + obd_disconnect(exp); + GOTO(ctxt_release, rc = -EINVAL); } - exp = class_conn2export(&exph); nctxt = llog_get_context(mgc_obd, LLOG_CONFIG_REPL_CTXT); rc = llog_create(nctxt, &llh, NULL, name); @@ -552,7 +548,6 @@ parse_out: if (rc) { CERROR("6: llog_close failed: rc = %d\n", rc); } - rc = obd_disconnect(exp); ctxt_release: llog_ctxt_put(ctxt); RETURN(rc); @@ -658,8 +653,7 @@ static int llog_run_tests(struct obd_device *obd) static int llog_test_llog_init(struct obd_device *obd, struct obd_llog_group *olg, - struct obd_device *tgt, int count, - struct llog_catid *logid, struct obd_uuid *uuid) + struct obd_device *tgt, int *index) { int rc; ENTRY; @@ -715,6 +709,7 @@ static int llog_test_setup(struct obd_device *obd, struct lustre_cfg *lcfg) RETURN(-EINVAL); } + /* disk obd */ tgt = class_name2obd(lustre_cfg_string(lcfg, 1)); if (!tgt || !tgt->obd_attached || !tgt->obd_set_up) { CERROR("target device not attached or not set up (%s)\n", @@ -722,11 +717,11 @@ static int llog_test_setup(struct obd_device *obd, struct lustre_cfg *lcfg) RETURN(-EINVAL); } - rc = obd_llog_init(obd, OBD_LLOG_GROUP, tgt, 0, NULL, NULL); + rc = obd_llog_init(obd, NULL, tgt, NULL); if (rc) RETURN(rc); - llog_test_rand = ll_rand(); + llog_test_rand = cfs_rand(); rc = llog_run_tests(obd); if (rc)