Merge commit 'v3.4.9' into android-t114-3.4
[linux-2.6.git] / fs / exofs / exofs.h
index c09d5a7..ca9d496 100644 (file)
 /* u64 has problems with printk this will cast it to unsigned long long */
 #define _LLU(x) (unsigned long long)(x)
 
+struct exofs_dev {
+       struct ore_dev ored;
+       unsigned did;
+};
 /*
  * our extension to the in-memory superblock
  */
@@ -66,13 +70,9 @@ struct exofs_sb_info {
        u32             s_next_generation;      /* next gen # to use          */
        atomic_t        s_curr_pending;         /* number of pending commands */
 
-       struct pnfs_osd_data_map data_map;      /* Default raid to use
-                                                * FIXME: Needed ?
-                                                */
        struct ore_layout       layout;         /* Default files layout       */
        struct ore_comp one_comp;               /* id & cred of partition id=0*/
        struct ore_components oc;               /* comps for the partition    */
-       struct osd_dev  *_min_one_dev[1];       /* Place holder for one dev   */
 };
 
 /*
@@ -154,7 +154,7 @@ int exofs_write_begin(struct file *file, struct address_space *mapping,
                loff_t pos, unsigned len, unsigned flags,
                struct page **pagep, void **fsdata);
 extern struct inode *exofs_iget(struct super_block *, unsigned long);
-struct inode *exofs_new_inode(struct inode *, int);
+struct inode *exofs_new_inode(struct inode *, umode_t);
 extern int exofs_write_inode(struct inode *, struct writeback_control *wbc);
 extern void exofs_evict_inode(struct inode *);
 
@@ -217,13 +217,15 @@ static inline void exofs_init_comps(struct ore_components *oc,
        one_comp->obj.id = oid;
        exofs_make_credential(one_comp->cred, &one_comp->obj);
 
-       oc->numdevs = sbi->oc.numdevs;
+       oc->first_dev = 0;
+       oc->numdevs = sbi->layout.group_width * sbi->layout.mirrors_p1 *
+                                                       sbi->layout.group_count;
        oc->single_comp = EC_SINGLE_COMP;
        oc->comps = one_comp;
 
        /* Round robin device view of the table */
        first_dev = (dev_mod * sbi->layout.mirrors_p1) % sbi->oc.numdevs;
-       oc->ods = sbi->oc.ods + first_dev;
+       oc->ods = &sbi->oc.ods[first_dev];
 }
 
 #endif