Whamcloud - gitweb
LU-1378 fid: Add console info for super seq allocation
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_iam_lvar.c
index 1051d4b..75068e5 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.
@@ -28,6 +26,8 @@
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
+ *
+ * Copyright (c) 2012 Whamcloud, Inc.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -408,7 +408,7 @@ static int lvar_init(struct iam_leaf *l)
 
                 obj = iam_leaf_container(l)->ic_object;
                 CERROR("Wrong magic in node %llu (#%lu): %#x != %#x or "
-                       "wrong used: %i",
+                       "wrong used: %d",
                        (unsigned long long)l->il_bh->b_blocknr, obj->i_ino,
                        head->vlh_magic, le16_to_cpu(IAM_LVAR_LEAF_MAGIC),
                        used);
@@ -573,6 +573,15 @@ static void lvar_rec_set(struct iam_leaf *l, const struct iam_rec *r)
         assert_inv(n_invariant(l));
 }
 
+static int lvar_rec_eq(const struct iam_leaf *l, const struct iam_rec *r)
+{
+       struct iam_rec *rec = e_rec(n_cur(l));
+
+       if (rec_size(rec) != rec_size(r))
+               return 0;
+       return !memcmp(rec, r, rec_size(r));
+}
+
 static void lvar_rec_get(const struct iam_leaf *l, struct iam_rec *r)
 {
         struct iam_rec *rec;
@@ -770,6 +779,7 @@ static struct iam_leaf_operations lvar_leaf_ops = {
         .key_eq         = lvar_key_eq,
         .key_size       = lvar_key_size,
         .rec_set        = lvar_rec_set,
+       .rec_eq         = lvar_rec_eq,
         .rec_get        = lvar_rec_get,
         .lookup         = lvar_lookup,
         .ilookup        = lvar_ilookup,