1. 02 11月, 2007 1 次提交
    • D
      [JFFS2] Improve getdents vs. f_pos handling on NOR flash. · 15953580
      David Woodhouse 提交于
      Commit a491486a started obliterating
      dirents directly on the medium, when jffs2_can_mark_obsolete(). Removing
      them immediately from the f->dents list, however, screws up handling of
      f_pos within a directory -- because the offset is equivalent to the
      number of entries through the list we are, and the existence of
      deletion dirents served to provide 'placeholders' for unlinked
      entries. Now, 'rm -r' doesn't even manage to unlink everything in the
      directory.
      
      Revert to keeping 'deletion' dirents in the list, at least in memory
      even though we no longer write anything to the medium.
      
      Spotted, debugged and mostly fixed by Joakim Tjernlund
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      15953580
  2. 26 4月, 2007 1 次提交
  3. 25 4月, 2007 2 次提交
    • D
      [JFFS2] Tidy up licensing/copyright boilerplate. · c00c310e
      David Woodhouse 提交于
      In particular, remove the bit in the LICENCE file about contacting
      Red Hat for alternative arrangements. Their errant IS department broke
      that arrangement a long time ago -- the policy of collecting copyright
      assignments from contributors came to an end when the plug was pulled on
      the servers hosting the project, without notice or reason.
      
      We do still dual-license it for use with eCos, with the GPL+exception
      licence approved by the FSF as being GPL-compatible. It's just that nobody
      has the right to license it differently.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      c00c310e
    • D
      [JFFS2] Improve read_inode memory usage, v2. · df8e96f3
      David Woodhouse 提交于
      We originally used to read every node and allocate a jffs2_tmp_dnode_info
      structure for each, before processing them in (reverse) version order
      and discarding the ones which are obsoleted by later nodes.
      
      With huge logfiles, this behaviour caused memory problems. For example, a
      file involved in OLPC trac #1292 has 1822391 nodes, and would cause the XO
      machine to run out of memory during the first stage of read_inode().
      
      Instead of just inserting nodes into a tree in version order as we find
      them, we now put them into a tree in order of their offset within the
      file, which allows us to immediately discard nodes which are completely
      obsoleted.
      
      We don't use a full tree with 'fragments' pointing to the real data
      structure, as we do in the normal fragtree. We sort only on the start
      address, and add an 'overlapped' flag to the tmp_dnode_info to indicate
      that the node in question is (partially) overlapped by another.
      
      When the scan is complete, we start at the end of the file, adding each
      node to a real fragtree as before. Where the node is non-overlapped, we
      just add it (it doesn't matter that it's not the latest version; there is
      no overlap). When the node at the end of the tree _is_ overlapped, we sort
      it and all its overlapping nodes into version order and then add them to
      the fragtree in that order.
      
      This 'early discard' reduces the peak allocation of tmp_dnode_info
      structures from 1.8M to a mere 62872 (3.5%) in the degenerate case
      referenced above.
      
      This version of the patch also correctly rememembers the highest node
      version# seen for an inode when it's scanned.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      df8e96f3
  4. 07 7月, 2006 1 次提交
  5. 27 6月, 2006 1 次提交
  6. 29 5月, 2006 1 次提交
  7. 27 5月, 2006 1 次提交
  8. 24 5月, 2006 2 次提交
  9. 22 5月, 2006 2 次提交
  10. 21 5月, 2006 3 次提交
  11. 16 5月, 2006 1 次提交
  12. 15 5月, 2006 1 次提交
    • 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
  13. 13 5月, 2006 1 次提交
    • K
      [JFFS2][XATTR] XATTR support on JFFS2 (version. 5) · aa98d7cf
      KaiGai Kohei 提交于
      This attached patches provide xattr support including POSIX-ACL and
      SELinux support on JFFS2 (version.5).
      
      There are some significant differences from previous version posted
      at last December.
      The biggest change is addition of EBS(Erase Block Summary) support.
      Currently, both kernel and usermode utility (sumtool) can recognize
      xattr nodes which have JFFS2_NODETYPE_XATTR/_XREF nodetype.
      
      In addition, some bugs are fixed.
      - A potential race condition was fixed.
      - Unexpected fail when updating a xattr by same name/value pair was fixed.
      - A bug when removing xattr name/value pair was fixed.
      
      The fundamental structures (such as using two new nodetypes and exclusion
      mechanism by rwsem) are unchanged. But most of implementation were reviewed
      and updated if necessary.
      Espacially, we had to change several internal implementations related to
      load_xattr_datum() to avoid a potential race condition.
      
      [1/2] xattr_on_jffs2.kernel.version-5.patch
      [2/2] xattr_on_jffs2.utils.version-5.patch
      Signed-off-by: NKaiGai Kohei <kaigai@ak.jp.nec.com>
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      aa98d7cf
  14. 10 3月, 2006 1 次提交
  15. 15 1月, 2006 1 次提交
  16. 07 11月, 2005 13 次提交
  17. 06 11月, 2005 1 次提交
  18. 13 7月, 2005 1 次提交
  19. 07 7月, 2005 1 次提交
  20. 06 7月, 2005 1 次提交
  21. 23 5月, 2005 3 次提交