1. 24 5月, 2006 2 次提交
  2. 23 5月, 2006 5 次提交
  3. 22 5月, 2006 6 次提交
  4. 21 5月, 2006 13 次提交
  5. 20 5月, 2006 3 次提交
  6. 19 5月, 2006 1 次提交
    • D
      [JFFS2] Support new device nodes · aef9ab47
      David Woodhouse 提交于
      Device node major/minor numbers are just stored in the payload of a single
      data node. Just extend that to 4 bytes and use new_encode_dev() for it.
      
      We only use the 4-byte format if we _need_ to, if !old_valid_dev(foo).
      This preserves backwards compatibility with older code as much as
      possible. If we do make devices with major or minor numbers above 255, and
      then mount the file system with the old code, it'll just read the first
      two bytes and get the numbers wrong. If it comes to garbage-collect it,
      it'll then write back those wrong numbers. But that's about the best we
      can expect.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      aef9ab47
  7. 17 5月, 2006 1 次提交
  8. 16 5月, 2006 3 次提交
  9. 15 5月, 2006 2 次提交
    • A
      [JFFS2] Fix printk format in some error messages. · 184f5652
      Andrew Morton 提交于
      fs/jffs2/nodelist.c: In function `check_node_data':
      fs/jffs2/nodelist.c:441: warning: unsigned int format, different type arg (arg 4)
      fs/jffs2/nodelist.c:464: warning: int format, different type arg (arg 5)
      
      Modified from Andrew's original fix because while his terminal may indeed
      only have eighty columns, mine only has _TWENTYFOUR_ lines. So the
      cosmetic fluff is perfectly OK out past column 80 where it was -- the
      casual reader doesn't _care_ about anything more than the fact that it
      goes 'if (foo) JFFS2_WARNING...', and there's no point wasting a whole
      line to display the tail end of the printk which nobody actually cares
      about.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      184f5652
    • D
      [JFFS2] Don't pack on-medium structures, because GCC emits crappy code · 3e68fbb5
      David Woodhouse 提交于
      If we use __attribute__((packed)), GCC will _also_ assume that the
      structures aren't sensibly aligned, and it'll emit code to cope with
      that instead of straight word load/save. This can be _very_ suboptimal
      on architectures like ARM.
      
      Ideally, we want an attribute which just tells GCC not to do any
      padding, without the alignment side-effects. In the absense of that,
      we'll just drop the 'packed' attribute and hope that everything stays as
      it was (which to be fair is fairly much what we expect). And add some
      paranoia checks in the initialisation code, which should be optimised
      away completely in the normal case.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      3e68fbb5
  10. 14 5月, 2006 1 次提交
    • D
      [JFFS2] Reduce excessive node count for syslog files. · cf5eba53
      David Woodhouse 提交于
      We currently get fairly poor behaviour with files which get many short
      writes, such as system logs. This is because we end up with many tiny
      data nodes, and the rbtree gets massive. None of these nodes are
      actually obsolete, so they are counted as 'clean' space. Eraseblocks can
      be entirely full of these nodes (which are REF_NORMAL instead of
      REF_PRISTINE), and still they count entirely towards 'used_size' and the
      eraseblocks can sit on the clean_list for a long time without being
      picked for GC.
      
      One way to alleviate this in the long term is to account REF_NORMAL
      space separately from REF_PRISTINE space, rather than counting them both
      towards used_size. Then these eraseblocks can be picked for GC and the
      offending nodes will be garbage collected.
      
      The short-term fix, though -- which probably makes sense even if we do
      eventually implement the above -- is to merge these nodes as they're
      written. When we write the last byte in a page, write the _whole_ page.
      This obsoletes the earlier nodes in the page _immediately_ and we don't
      even need to wait for the garbage collection to do it.
      
      Original implementation from Ferenc Havasi <havasi@inf.u-szeged.hu>
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      cf5eba53
  11. 13 5月, 2006 3 次提交