Lines Matching full:sector

47  * Look up and return a brd's page for a given sector.
49 static struct page *brd_lookup_page(struct brd_device *brd, sector_t sector) in brd_lookup_page() argument
51 return xa_load(&brd->brd_pages, sector >> PAGE_SECTORS_SHIFT); in brd_lookup_page()
55 * Insert a new page for a given sector, if one does not already exist.
57 static int brd_insert_page(struct brd_device *brd, sector_t sector, gfp_t gfp) in brd_insert_page() argument
59 pgoff_t idx = sector >> PAGE_SECTORS_SHIFT; in brd_insert_page()
63 page = brd_lookup_page(brd, sector); in brd_insert_page()
105 static int copy_to_brd_setup(struct brd_device *brd, sector_t sector, size_t n, in copy_to_brd_setup() argument
108 unsigned int offset = (sector & (PAGE_SECTORS-1)) << SECTOR_SHIFT; in copy_to_brd_setup()
113 ret = brd_insert_page(brd, sector, gfp); in copy_to_brd_setup()
117 sector += copy >> SECTOR_SHIFT; in copy_to_brd_setup()
118 ret = brd_insert_page(brd, sector, gfp); in copy_to_brd_setup()
124 * Copy n bytes from src to the brd starting at sector. Does not sleep.
127 sector_t sector, size_t n) in copy_to_brd() argument
131 unsigned int offset = (sector & (PAGE_SECTORS-1)) << SECTOR_SHIFT; in copy_to_brd()
135 page = brd_lookup_page(brd, sector); in copy_to_brd()
144 sector += copy >> SECTOR_SHIFT; in copy_to_brd()
146 page = brd_lookup_page(brd, sector); in copy_to_brd()
156 * Copy n bytes to dst from the brd starting at sector. Does not sleep.
159 sector_t sector, size_t n) in copy_from_brd() argument
163 unsigned int offset = (sector & (PAGE_SECTORS-1)) << SECTOR_SHIFT; in copy_from_brd()
167 page = brd_lookup_page(brd, sector); in copy_from_brd()
177 sector += copy >> SECTOR_SHIFT; in copy_from_brd()
179 page = brd_lookup_page(brd, sector); in copy_from_brd()
194 sector_t sector) in brd_do_bvec() argument
206 err = copy_to_brd_setup(brd, sector, len, gfp); in brd_do_bvec()
213 copy_from_brd(mem + off, brd, sector, len); in brd_do_bvec()
217 copy_to_brd(brd, mem + off, sector, len); in brd_do_bvec()
225 static void brd_do_discard(struct brd_device *brd, sector_t sector, u32 size) in brd_do_discard() argument
227 sector_t aligned_sector = (sector + PAGE_SECTORS) & ~PAGE_SECTORS; in brd_do_discard()
230 size -= (aligned_sector - sector) * SECTOR_SIZE; in brd_do_discard()
247 sector_t sector = bio->bi_iter.bi_sector; in brd_submit_bio() local
252 brd_do_discard(brd, sector, bio->bi_iter.bi_size); in brd_submit_bio()
266 bio->bi_opf, sector); in brd_submit_bio()
275 sector += len >> SECTOR_SHIFT; in brd_submit_bio()