]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/nilfs2/page.c
nilfs2: add routines to roll back state of DAT file
[net-next-2.6.git] / fs / nilfs2 / page.c
index aab11db2cb083cbf2d45fc258b0de5315d598cf3..6384ac14c0c88117d17c38a987a5df8ffc31b50e 100644 (file)
@@ -513,6 +513,31 @@ unsigned nilfs_page_count_clean_buffers(struct page *page,
        }
        return nc;
 }
+void nilfs_mapping_init_once(struct address_space *mapping)
+{
+       memset(mapping, 0, sizeof(*mapping));
+       INIT_RADIX_TREE(&mapping->page_tree, GFP_ATOMIC);
+       spin_lock_init(&mapping->tree_lock);
+       INIT_LIST_HEAD(&mapping->private_list);
+       spin_lock_init(&mapping->private_lock);
+
+       spin_lock_init(&mapping->i_mmap_lock);
+       INIT_RAW_PRIO_TREE_ROOT(&mapping->i_mmap);
+       INIT_LIST_HEAD(&mapping->i_mmap_nonlinear);
+}
+
+void nilfs_mapping_init(struct address_space *mapping,
+                       struct backing_dev_info *bdi,
+                       const struct address_space_operations *aops)
+{
+       mapping->host = NULL;
+       mapping->flags = 0;
+       mapping_set_gfp_mask(mapping, GFP_NOFS);
+       mapping->assoc_mapping = NULL;
+       mapping->backing_dev_info = bdi;
+       mapping->a_ops = aops;
+}
 
 /*
  * NILFS2 needs clear_page_dirty() in the following two cases: