Hi Artem, Today's linux-next merge of the l2-mtd tree got a conflict in fs/logfs/dev_mtd.c between commit d1cc3ad397f2 ("Logfs: Allow NULL block_isbad() methods") from the tree and commit 22aed0c2578c ("mtd: introduce mtd_block_isbad interface") from the l2-mtd tree. I fixed it up (see below) and can carry the fix as necessary. I am a little worried that the block_isbad member of struct mtd_info may be hidden in the future and so break the NULL checks here. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc fs/logfs/dev_mtd.c index d054d7e,136c736..0000000 --- a/fs/logfs/dev_mtd.c +++ b/fs/logfs/dev_mtd.c @@@ -147,16 -150,17 +150,16 @@@ static struct page *logfs_mtd_find_firs { struct logfs_super *super = logfs_super(sb); struct address_space *mapping = super->s_mapping_inode->i_mapping; - filler_t *filler = mtd_readpage; + filler_t *filler = logfs_mtd_readpage; struct mtd_info *mtd = super->s_mtd; - if (!mtd->block_isbad) - return NULL; - *ofs = 0; - while (mtd_block_isbad(mtd, *ofs)) { - *ofs += mtd->erasesize; - if (*ofs >= mtd->size) - return NULL; + if (mtd->block_isbad) { - while (mtd->block_isbad(mtd, *ofs)) { ++ while (mtd_block_isbad(mtd, *ofs)) { + *ofs += mtd->erasesize; + if (*ofs >= mtd->size) + return NULL; + } } BUG_ON(*ofs & ~PAGE_MASK); return read_cache_page(mapping, *ofs >> PAGE_SHIFT, filler, sb); @@@ -166,16 -170,17 +169,16 @@@ static struct page *logfs_mtd_find_last { struct logfs_super *super = logfs_super(sb); struct address_space *mapping = super->s_mapping_inode->i_mapping; - filler_t *filler = mtd_readpage; + filler_t *filler = logfs_mtd_readpage; struct mtd_info *mtd = super->s_mtd; - if (!mtd->block_isbad) - return NULL; - *ofs = mtd->size - mtd->erasesize; - while (mtd_block_isbad(mtd, *ofs)) { - *ofs -= mtd->erasesize; - if (*ofs <= 0) - return NULL; + if (mtd->block_isbad) { - while (mtd->block_isbad(mtd, *ofs)) { ++ while (mtd_block_isbad(mtd, *ofs)) { + *ofs -= mtd->erasesize; + if (*ofs <= 0) + return NULL; + } } *ofs = *ofs + mtd->erasesize - 0x1000; BUG_ON(*ofs & ~PAGE_MASK);
Attachment:
pgpayk6r4X6uH.pgp
Description: PGP signature