diff options
Diffstat (limited to 'drivers/md/md.h')
-rw-r--r-- | drivers/md/md.h | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/drivers/md/md.h b/drivers/md/md.h index b50eb4ac1b82..09db03455801 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h | |||
@@ -731,58 +731,4 @@ static inline void mddev_check_write_zeroes(struct mddev *mddev, struct bio *bio | |||
731 | !bdev_get_queue(bio->bi_bdev)->limits.max_write_zeroes_sectors) | 731 | !bdev_get_queue(bio->bi_bdev)->limits.max_write_zeroes_sectors) |
732 | mddev->queue->limits.max_write_zeroes_sectors = 0; | 732 | mddev->queue->limits.max_write_zeroes_sectors = 0; |
733 | } | 733 | } |
734 | |||
735 | /* Maximum size of each resync request */ | ||
736 | #define RESYNC_BLOCK_SIZE (64*1024) | ||
737 | #define RESYNC_PAGES ((RESYNC_BLOCK_SIZE + PAGE_SIZE-1) / PAGE_SIZE) | ||
738 | |||
739 | /* for managing resync I/O pages */ | ||
740 | struct resync_pages { | ||
741 | unsigned idx; /* for get/put page from the pool */ | ||
742 | void *raid_bio; | ||
743 | struct page *pages[RESYNC_PAGES]; | ||
744 | }; | ||
745 | |||
746 | static inline int resync_alloc_pages(struct resync_pages *rp, | ||
747 | gfp_t gfp_flags) | ||
748 | { | ||
749 | int i; | ||
750 | |||
751 | for (i = 0; i < RESYNC_PAGES; i++) { | ||
752 | rp->pages[i] = alloc_page(gfp_flags); | ||
753 | if (!rp->pages[i]) | ||
754 | goto out_free; | ||
755 | } | ||
756 | |||
757 | return 0; | ||
758 | |||
759 | out_free: | ||
760 | while (--i >= 0) | ||
761 | put_page(rp->pages[i]); | ||
762 | return -ENOMEM; | ||
763 | } | ||
764 | |||
765 | static inline void resync_free_pages(struct resync_pages *rp) | ||
766 | { | ||
767 | int i; | ||
768 | |||
769 | for (i = 0; i < RESYNC_PAGES; i++) | ||
770 | put_page(rp->pages[i]); | ||
771 | } | ||
772 | |||
773 | static inline void resync_get_all_pages(struct resync_pages *rp) | ||
774 | { | ||
775 | int i; | ||
776 | |||
777 | for (i = 0; i < RESYNC_PAGES; i++) | ||
778 | get_page(rp->pages[i]); | ||
779 | } | ||
780 | |||
781 | static inline struct page *resync_fetch_page(struct resync_pages *rp, | ||
782 | unsigned idx) | ||
783 | { | ||
784 | if (WARN_ON_ONCE(idx >= RESYNC_PAGES)) | ||
785 | return NULL; | ||
786 | return rp->pages[idx]; | ||
787 | } | ||
788 | #endif /* _MD_MD_H */ | 734 | #endif /* _MD_MD_H */ |