]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/md/md.h
UBUNTU: Start new release
[mirror_ubuntu-artful-kernel.git] / drivers / md / md.h
index b50eb4ac1b8291444e1af5196b44f5c7da368842..60b09bea886b3a65e4872ed33d179dcc3bbeb491 100644 (file)
@@ -686,6 +686,7 @@ extern void md_stop_writes(struct mddev *mddev);
 extern int md_rdev_init(struct md_rdev *rdev);
 extern void md_rdev_clear(struct md_rdev *rdev);
 
+extern void md_handle_request(struct mddev *mddev, struct bio *bio);
 extern void mddev_suspend(struct mddev *mddev);
 extern void mddev_resume(struct mddev *mddev);
 extern struct bio *bio_alloc_mddev(gfp_t gfp_mask, int nr_iovecs,
@@ -731,58 +732,4 @@ static inline void mddev_check_write_zeroes(struct mddev *mddev, struct bio *bio
            !bdev_get_queue(bio->bi_bdev)->limits.max_write_zeroes_sectors)
                mddev->queue->limits.max_write_zeroes_sectors = 0;
 }
-
-/* Maximum size of each resync request */
-#define RESYNC_BLOCK_SIZE (64*1024)
-#define RESYNC_PAGES ((RESYNC_BLOCK_SIZE + PAGE_SIZE-1) / PAGE_SIZE)
-
-/* for managing resync I/O pages */
-struct resync_pages {
-       unsigned        idx;    /* for get/put page from the pool */
-       void            *raid_bio;
-       struct page     *pages[RESYNC_PAGES];
-};
-
-static inline int resync_alloc_pages(struct resync_pages *rp,
-                                    gfp_t gfp_flags)
-{
-       int i;
-
-       for (i = 0; i < RESYNC_PAGES; i++) {
-               rp->pages[i] = alloc_page(gfp_flags);
-               if (!rp->pages[i])
-                       goto out_free;
-       }
-
-       return 0;
-
-out_free:
-       while (--i >= 0)
-               put_page(rp->pages[i]);
-       return -ENOMEM;
-}
-
-static inline void resync_free_pages(struct resync_pages *rp)
-{
-       int i;
-
-       for (i = 0; i < RESYNC_PAGES; i++)
-               put_page(rp->pages[i]);
-}
-
-static inline void resync_get_all_pages(struct resync_pages *rp)
-{
-       int i;
-
-       for (i = 0; i < RESYNC_PAGES; i++)
-               get_page(rp->pages[i]);
-}
-
-static inline struct page *resync_fetch_page(struct resync_pages *rp,
-                                            unsigned idx)
-{
-       if (WARN_ON_ONCE(idx >= RESYNC_PAGES))
-               return NULL;
-       return rp->pages[idx];
-}
 #endif /* _MD_MD_H */