Lines Matching refs:ofs
14 #define PAGE_OFS(ofs) ((ofs) & (PAGE_SIZE-1)) argument
16 static int logfs_mtd_read(struct super_block *sb, loff_t ofs, size_t len, in logfs_mtd_read() argument
23 ret = mtd_read(mtd, ofs, len, &retlen, buf); in logfs_mtd_read()
35 static int loffs_mtd_write(struct super_block *sb, loff_t ofs, size_t len, in loffs_mtd_write() argument
47 BUG_ON((ofs >= mtd->size) || (len > mtd->size - ofs)); in loffs_mtd_write()
48 BUG_ON(ofs != (ofs >> super->s_writeshift) << super->s_writeshift); in loffs_mtd_write()
50 page_start = ofs & PAGE_CACHE_MASK; in loffs_mtd_write()
51 page_end = PAGE_CACHE_ALIGN(ofs + len) - 1; in loffs_mtd_write()
52 ret = mtd_write(mtd, ofs, len, &retlen, buf); in loffs_mtd_write()
72 static int logfs_mtd_erase_mapping(struct super_block *sb, loff_t ofs, in logfs_mtd_erase_mapping() argument
78 pgoff_t index = ofs >> PAGE_SHIFT; in logfs_mtd_erase_mapping()
80 for (index = ofs >> PAGE_SHIFT; index < (ofs + len) >> PAGE_SHIFT; index++) { in logfs_mtd_erase_mapping()
90 static int logfs_mtd_erase(struct super_block *sb, loff_t ofs, size_t len, in logfs_mtd_erase() argument
104 ei.addr = ofs; in logfs_mtd_erase()
115 return logfs_mtd_erase_mapping(sb, ofs, len); in logfs_mtd_erase()
148 static struct page *logfs_mtd_find_first_sb(struct super_block *sb, u64 *ofs) in logfs_mtd_find_first_sb() argument
155 *ofs = 0; in logfs_mtd_find_first_sb()
156 while (mtd_block_isbad(mtd, *ofs)) { in logfs_mtd_find_first_sb()
157 *ofs += mtd->erasesize; in logfs_mtd_find_first_sb()
158 if (*ofs >= mtd->size) in logfs_mtd_find_first_sb()
161 BUG_ON(*ofs & ~PAGE_MASK); in logfs_mtd_find_first_sb()
162 return read_cache_page(mapping, *ofs >> PAGE_SHIFT, filler, sb); in logfs_mtd_find_first_sb()
165 static struct page *logfs_mtd_find_last_sb(struct super_block *sb, u64 *ofs) in logfs_mtd_find_last_sb() argument
172 *ofs = mtd->size - mtd->erasesize; in logfs_mtd_find_last_sb()
173 while (mtd_block_isbad(mtd, *ofs)) { in logfs_mtd_find_last_sb()
174 *ofs -= mtd->erasesize; in logfs_mtd_find_last_sb()
175 if (*ofs <= 0) in logfs_mtd_find_last_sb()
178 *ofs = *ofs + mtd->erasesize - 0x1000; in logfs_mtd_find_last_sb()
179 BUG_ON(*ofs & ~PAGE_MASK); in logfs_mtd_find_last_sb()
180 return read_cache_page(mapping, *ofs >> PAGE_SHIFT, filler, sb); in logfs_mtd_find_last_sb()
183 static int __logfs_mtd_writeseg(struct super_block *sb, u64 ofs, pgoff_t index, in __logfs_mtd_writeseg() argument
205 static void logfs_mtd_writeseg(struct super_block *sb, u64 ofs, size_t len) in logfs_mtd_writeseg() argument
220 head = ofs & (PAGE_SIZE - 1); in logfs_mtd_writeseg()
222 ofs -= head; in logfs_mtd_writeseg()
226 __logfs_mtd_writeseg(sb, ofs, ofs >> PAGE_SHIFT, len >> PAGE_SHIFT); in logfs_mtd_writeseg()
234 static int logfs_mtd_can_write_buf(struct super_block *sb, u64 ofs) in logfs_mtd_can_write_buf() argument
243 err = logfs_mtd_read(sb, ofs, super->s_writesize, buf); in logfs_mtd_can_write_buf()