DOC_LAYOUT_PAGE_SIZE
buf += DOC_LAYOUT_PAGE_SIZE;
if (from % DOC_LAYOUT_PAGE_SIZE)
doc_write_page_putbytes(docg3, DOC_LAYOUT_PAGE_SIZE, buf);
if ((len % DOC_LAYOUT_PAGE_SIZE) || (ooblen % oobdelta) ||
(ofs % DOC_LAYOUT_PAGE_SIZE))
(len / DOC_LAYOUT_PAGE_SIZE) != (ooblen / oobdelta))
ofs += DOC_LAYOUT_PAGE_SIZE;
len -= DOC_LAYOUT_PAGE_SIZE;
buf += DOC_LAYOUT_PAGE_SIZE;
ops->retlen += DOC_LAYOUT_PAGE_SIZE;
mtd->writebufsize = mtd->writesize = DOC_LAYOUT_PAGE_SIZE;
8 * DOC_LAYOUT_PAGE_SIZE);
docg3->bbt = kcalloc(DOC_LAYOUT_PAGE_SIZE, bbt_nbpages, GFP_KERNEL);
if (!wear && (ofs < 2 * DOC_LAYOUT_PAGE_SIZE)) {
if (ofs < 2 * DOC_LAYOUT_PAGE_SIZE) {
if (offset >= DOC_LAYOUT_PAGE_SIZE * 2)
offset -= 2 * DOC_LAYOUT_PAGE_SIZE;
sector = from / DOC_LAYOUT_PAGE_SIZE;
skip = from % DOC_LAYOUT_PAGE_SIZE;
nbdata = min_t(size_t, len, DOC_LAYOUT_PAGE_SIZE - skip);
DOC_LAYOUT_PAGE_SIZE - nbdata - skip,
(nbdata == DOC_LAYOUT_PAGE_SIZE)) {
from += DOC_LAYOUT_PAGE_SIZE;
nbpages = DIV_ROUND_UP(docg3->max_block + 1, 8 * DOC_LAYOUT_PAGE_SIZE);
DOC_LAYOUT_PAGE_SIZE);
doc_read_page_getbytes(docg3, DOC_LAYOUT_PAGE_SIZE,
(DOC_LAYOUT_PAGE_SIZE + DOC_LAYOUT_OOB_SIZE)
(DOC_LAYOUT_PAGES_PER_BLOCK * DOC_LAYOUT_PAGE_SIZE)
(DOC_LAYOUT_PAGE_SIZE + DOC_LAYOUT_OOB_PAGEINFO_SZ + \