linux-next: manual merge of the l2-mtd tree with the logfs tree

From: Stephen Rothwell
Date: Tue Dec 27 2011 - 20:49:08 EST


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: pgp00000.pgp
Description: PGP signature