Whamcloud - gitweb
LU-3536 lod: cancel update log after all committed
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_iam_lfix.c
index ac1a1be..db100f2 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012 Whamcloud, Inc.
+ * Copyright (c) 2012, 2014, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -175,7 +175,7 @@ static int iam_lfix_init(struct iam_leaf *l)
 
         ill = iam_get_head(l);
         count = le16_to_cpu(ill->ill_count);
-        if (ill->ill_magic == le16_to_cpu(IAM_LEAF_HEADER_MAGIC) &&
+       if (le16_to_cpu(ill->ill_magic) == IAM_LEAF_HEADER_MAGIC &&
             0 <= count && count <= leaf_count_limit(l)) {
                 l->il_at = l->il_entries = iam_get_lentries(l);
                 result = 0;
@@ -186,7 +186,7 @@ static int iam_lfix_init(struct iam_leaf *l)
                 CERROR("Wrong magic in node %llu (#%lu): %#x != %#x or "
                        "wrong count: %d (%d)\n",
                        (unsigned long long)l->il_bh->b_blocknr, obj->i_ino,
-                       ill->ill_magic, le16_to_cpu(IAM_LEAF_HEADER_MAGIC),
+                      le16_to_cpu(ill->ill_magic), IAM_LEAF_HEADER_MAGIC,
                        count, leaf_count_limit(l));
                 result = -EIO;
         }
@@ -206,7 +206,7 @@ static struct iam_lentry *iam_lfix_get_end(const struct iam_leaf *l)
         return ile;
 }
 
-struct iam_rec *iam_lfix_rec(const struct iam_leaf *l)
+static struct iam_rec *iam_lfix_rec(const struct iam_leaf *l)
 {
         void *e = l->il_at;
         assert_corr(iam_leaf_at_rec(l));
@@ -223,7 +223,6 @@ static void iam_lfix_next(struct iam_leaf *l)
  * Bug chasing.
  */
 int lfix_dump = 0;
-EXPORT_SYMBOL(lfix_dump);
 
 static char hdigit(char ch)
 {
@@ -241,31 +240,31 @@ static char *hex(char ch, char *area)
 
 static void l_print(struct iam_leaf *leaf, struct iam_lentry *entry)
 {
-        int i;
-        char *area;
-        char h[3];
+       int i;
+       char *area;
+       char h[3];
 
-        area = (char *)entry;
-        printk(CFS_KERN_EMERG "[");
-        for (i = iam_lfix_key_size(leaf); i > 0; --i, ++area)
-                printk("%s", hex(*area, h));
-        printk("]-(");
-        for (i = iam_leaf_descr(leaf)->id_rec_size; i > 0; --i, ++area)
-                printk("%s", hex(*area, h));
-        printk(")\n");
+       area = (char *)entry;
+       printk(KERN_EMERG "[");
+       for (i = iam_lfix_key_size(leaf); i > 0; --i, ++area)
+               printk("%s", hex(*area, h));
+       printk("]-(");
+       for (i = iam_leaf_descr(leaf)->id_rec_size; i > 0; --i, ++area)
+               printk("%s", hex(*area, h));
+       printk(")\n");
 }
 
 static void lfix_print(struct iam_leaf *leaf)
 {
-        struct iam_lentry *entry;
-        int count;
-        int i;
+       struct iam_lentry *entry;
+       int count;
+       int i;
 
-        entry = leaf->il_entries;
-        count = lentry_count_get(leaf);
-        printk(CFS_KERN_EMERG "lfix: %p %p %d\n", leaf, leaf->il_at, count);
-        for (i = 0; i < count; ++i, entry = iam_lfix_shift(leaf, entry, 1))
-                l_print(leaf, entry);
+       entry = leaf->il_entries;
+       count = lentry_count_get(leaf);
+       printk(KERN_EMERG "lfix: %p %p %d\n", leaf, leaf->il_at, count);
+       for (i = 0; i < count; ++i, entry = iam_lfix_shift(leaf, entry, 1))
+               l_print(leaf, entry);
 }
 
 static int iam_lfix_lookup(struct iam_leaf *l, const struct iam_key *k)
@@ -856,22 +855,23 @@ int iam_lfix_create(struct inode *obj,
         struct super_block *sb;
 
         u32 blknr;
-        int result;
+        int result = 0;
         unsigned long bsize;
 
         assert_corr(obj->i_size == 0);
 
         sb = obj->i_sb;
         bsize = sb->s_blocksize;
-        root_node = ldiskfs_append(handle, obj, &blknr, &result);
-        leaf_node = ldiskfs_append(handle, obj, &blknr, &result);
+        root_node = osd_ldiskfs_append(handle, obj, &blknr, &result);
+        leaf_node = osd_ldiskfs_append(handle, obj, &blknr, &result);
         if (root_node != NULL && leaf_node != NULL) {
                 lfix_root(root_node->b_data, bsize, keysize, ptrsize, recsize);
                 lfix_leaf(leaf_node->b_data, bsize, keysize, ptrsize, recsize);
                 ldiskfs_mark_inode_dirty(handle, obj);
-                result = ldiskfs_journal_dirty_metadata(handle, root_node);
-                if (result == 0)
-                        result = ldiskfs_journal_dirty_metadata(handle, leaf_node);
+               result = ldiskfs_handle_dirty_metadata(handle, NULL, root_node);
+               if (result == 0)
+                       result = ldiskfs_handle_dirty_metadata(handle, NULL,
+                                                              leaf_node);
                 if (result != 0)
                         ldiskfs_std_error(sb, result);
         }
@@ -879,4 +879,3 @@ int iam_lfix_create(struct inode *obj,
         brelse(root_node);
         return result;
 }
-EXPORT_SYMBOL(iam_lfix_create);