public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Peter Menzebach <pm-mtd@mw-itcon.de>
To: Peter Menzebach <pm@mw-itcon.de>
Cc: "Artem B. Bityutskiy" <dedekind@yandex.ru>,
	linux-mtd@lists.infradead.org
Subject: Re: data  loss on jffs2 filesystem on dataflash
Date: Thu, 22 Sep 2005 19:09:40 +0200	[thread overview]
Message-ID: <4332E554.4020202@mw-itcon.de> (raw)
In-Reply-To: <4332D852.3060105@mw-itcon.de>

Peter Menzebach wrote:
forget the last patch, I made up my mind. If I do not find a good sector 
size, I should resize the size of flash for jffs2. See below.

The question is, if the call for jffs2_flash_setup should be moved 
before the size checks in jffs2_do_fill_super?

Best regards
Peter


--- /arm/src/mtd/fs/jffs2/wbuf.c	2005-09-22 13:33:42.000000000 +0200
+++ wbuf.c	2005-09-22 18:52:17.000000000 +0200
@@ -1200,18 +1193,37 @@
  }

  int jffs2_dataflash_setup(struct jffs2_sb_info *c) {
+	int min_sector_size;
  	c->cleanmarker_size = 0;		/* No cleanmarkers needed */
  	
  	/* Initialize write buffer */
  	init_rwsem(&c->wbuf_sem);
-	c->wbuf_pagesize = c->sector_size;
+	c->wbuf_pagesize = c->mtd->erasesize;
+
+	min_sector_size = ((JFFS2_MIN_SECTOR_SIZE + c->mtd->erasesize - 1) / 
c->mtd->erasesize) * c->mtd->erasesize;
+
+	c->sector_size = min_sector_size;
+
+	c->flash_size = c->mtd->size;
+	
+	while ((c->sector_size < (2 * min_sector_size)) && (c->flash_size % 
c->sector_size != 0)) {
+		c->sector_size+=c->mtd->erasesize;
+	}
+
+	if ((c->flash_size % c->sector_size) != 0) {
+		c->sector_size = min_sector_size;
+		c->flash_size = (c->flash_size / min_sector_size) * min_sector_size;
+		printk(KERN_INFO "JFFS2 flash size and erase size adjusted size %dKiB 
erasesize %dB\n", c->flash_size/1024, c->sector_size);
+	};
+	
+	
  	c->wbuf_ofs = 0xFFFFFFFF;

  	c->wbuf = kmalloc(c->wbuf_pagesize, GFP_KERNEL);
  	if (!c->wbuf)
  		return -ENOMEM;

-	printk(KERN_INFO "JFFS2 write-buffering enabled (%i)\n", 
c->wbuf_pagesize);
+	printk(KERN_INFO "JFFS2 write-buffering enabled (%i) erasesize 
(%i)\n", c->wbuf_pagesize, c->sector_size);

  	return 0;
  }

-- 
Peter Menzebach
Menzebach und Wolff IT-Consulting GbR
Phone +49 751 355 387 1

      reply	other threads:[~2005-09-22 17:09 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-14 12:09 data loss on jffs2 filesystem on dataflash Peter Menzebach
2005-09-14 12:30 ` Artem B. Bityuckiy
2005-09-14 13:43   ` Peter Menzebach
2005-09-15  7:48     ` Artem B. Bityuckiy
2005-09-15  7:39   ` Peter Menzebach
2005-09-15  7:49     ` Artem B. Bityuckiy
2005-09-15  7:53     ` Artem B. Bityuckiy
     [not found]       ` <43292AC6.40809@mw-itcon.de>
     [not found]         ` <43292E16.70401@yandex.ru>
     [not found]           ` <43292F91.9010302@mw-itcon.de>
2005-09-20 10:18             ` Artem B. Bityutskiy
     [not found]               ` <432FEF55.5090700@mw-itcon.de>
2005-09-20 11:21                 ` Artem B. Bityutskiy
2005-09-20 13:16                 ` Artem B. Bityutskiy
     [not found]                 ` <433006D8.4010502@yandex.ru>
2005-09-20 13:18                   ` Artem B. Bityutskiy
2005-09-20 13:38                     ` Peter Menzebach
2005-09-20 14:18                       ` Artem B. Bityutskiy
2005-09-20 15:01                         ` Peter Menzebach
2005-09-20 15:11                           ` Andrew Victor
2005-09-20 15:22                             ` Jörn Engel
2005-09-20 16:31                             ` Artem B. Bityutskiy
2005-09-21  7:21                               ` Andrew Victor
2005-09-21  9:25                                 ` Artem B. Bityutskiy
2005-09-21 10:27                                   ` Peter Menzebach
2005-09-21 13:36                                     ` Artem B. Bityutskiy
2005-09-21 13:41                                       ` Artem B. Bityutskiy
2005-09-21 15:44                                       ` Peter Menzebach
2005-09-21 15:59                                         ` Artem B. Bityutskiy
2005-09-21 16:10                                           ` Peter Menzebach
2005-09-21 16:19                                             ` Artem B. Bityutskiy
2005-09-21 17:10                                               ` Peter Menzebach
2005-09-22 10:38                                                 ` Peter Menzebach
2005-09-22 10:51                                                   ` Artem B. Bityutskiy
2005-09-20 15:11                           ` Artem B. Bityutskiy
2005-09-20 15:45                             ` Peter Menzebach
     [not found]                   ` <20050920133244.GC4634@wohnheim.fh-wedel.de>
     [not found]                     ` <43301877.3040306@yandex.ru>
2005-09-20 14:36                       ` Jörn Engel
2005-09-20 14:48                         ` Artem B. Bityutskiy
2005-09-15  8:02     ` Artem B. Bityuckiy
     [not found]       ` <43292E94.4020702@mw-itcon.de>
2005-09-15  8:26         ` Artem B. Bityuckiy
2005-09-15  8:33           ` Peter Menzebach
2005-09-15  8:47         ` Artem B. Bityuckiy
2005-09-15  9:14           ` Peter Menzebach
2005-09-15  9:25             ` Artem B. Bityuckiy
2005-09-21 13:55           ` Peter Menzebach
2005-09-21 13:59             ` Artem B. Bityutskiy
2005-09-15 10:32         ` Artem B. Bityuckiy
2005-09-22 12:30 ` Peter Menzebach
2005-09-22 12:44   ` Artem B. Bityutskiy
2005-09-22 13:31     ` Peter Menzebach
2005-09-22 14:06       ` Artem B. Bityutskiy
2005-09-22 14:32         ` Andrew Victor
2005-09-22 14:45           ` Artem B. Bityutskiy
2005-09-22 14:59           ` Peter Menzebach
2005-09-22 16:14           ` Peter Menzebach
2005-09-22 17:09             ` Peter Menzebach [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4332E554.4020202@mw-itcon.de \
    --to=pm-mtd@mw-itcon.de \
    --cc=dedekind@yandex.ru \
    --cc=linux-mtd@lists.infradead.org \
    --cc=pm@mw-itcon.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox