1. 21 Sep, 2012 1 commit
  2. 31 May, 2012 1 commit
    • Artem Bityutskiy's avatar
      jffs2: get rid of jffs2_sync_super · 8bdc81c5
      Artem Bityutskiy authored
      Currently JFFS2 file-system maps the VFS "superblock" abstraction to the
      write-buffer. Namely, it uses VFS services to synchronize the write-buffer
      periodically.
      
      The whole "superblock write-out" VFS infrastructure is served by the
      'sync_supers()' kernel thread, which wakes up every 5 (by default) seconds and
      writes out all dirty superblock using the '->write_super()' call-back. But the
      problem with this thread is that it wastes power by waking up the system every
      5 seconds no matter what. So we want to kill it completely and thus, we need to
      make file-systems to stop using the '->write_super' VFS service, and then
      remove it together with the kernel thread.
      
      This patch switches the JFFS2 write-buffer management from
      '->write_super()'/'->s_dirt' to a delayed work. Instead of setting the 's_dirt'
      flag we just schedule a delayed work for synchronizing the write-buffer.
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      8bdc81c5
  3. 14 May, 2012 1 commit
    • Artem Bityutskiy's avatar
      jffs2: get rid of jffs2_sync_super · 208b14e5
      Artem Bityutskiy authored
      Currently JFFS2 file-system maps the VFS "superblock" abstraction to the
      write-buffer. Namely, it uses VFS services to synchronize the write-buffer
      periodically.
      
      The whole "superblock write-out" VFS infrastructure is served by the
      'sync_supers()' kernel thread, which wakes up every 5 (by default) seconds and
      writes out all dirty superblock using the '->write_super()' call-back. But the
      problem with this thread is that it wastes power by waking up the system every
      5 seconds no matter what. So we want to kill it completely and thus, we need to
      make file-systems to stop using the '->write_super' VFS service, and then
      remove it together with the kernel thread.
      
      This patch switches the JFFS2 write-buffer management from
      '->write_super()'/'->s_dirt' to a delayed work. Instead of setting the 's_dirt'
      flag we just schedule a delayed work for synchronizing the write-buffer.
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      208b14e5
  4. 26 Mar, 2012 1 commit
  5. 19 Oct, 2011 1 commit
    • Andres Salomon's avatar
      jffs2: implement mount option parsing and compression overriding · 92abc475
      Andres Salomon authored
      Currently jffs2 has compile-time constants (and .config options)
      controlling whether or not the various compression/decompression
      drivers are built in and enabled.  This is fine for embedded
      systems, but it clashes with distribution kernels.  Distro kernels
      tend to turn on everything; this causes OpenFirmware to fall
      over, as it understands ZLIB-compressed inodes.  Booting a kernel
      that has LZO compression enabled, writing to the boot partition,
      and then rebooting causes OFW to fail to read the kernel from
      the filesystem.  This is because LZO compression has priority
      when writing new data to jffs2, if LZO is enabled.
      
      This patch adds mount option parsing, and a single supported
      option ("compr=none").  This adds the flexibility of being
      able to specify which compressor overrides on a per-superblock
      basis.  For now, we can simply disable compression;
      additional flexibility coming soon.
      
      v2: kill some printks, and implement show_options as suggested
      by Artem Bityutskiy.
      Signed-off-by: default avatarAndres Salomon <dilinger@queued.net>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@intel.com>
      92abc475
  6. 01 Aug, 2011 1 commit
  7. 24 Jul, 2011 1 commit
  8. 21 Jul, 2011 1 commit
    • Josef Bacik's avatar
      fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers · 02c24a82
      Josef Bacik authored
      Btrfs needs to be able to control how filemap_write_and_wait_range() is called
      in fsync to make it less of a painful operation, so push down taking i_mutex and
      the calling of filemap_write_and_wait() down into the ->fsync() handlers.  Some
      file systems can drop taking the i_mutex altogether it seems, like ext3 and
      ocfs2.  For correctness sake I just pushed everything down in all cases to make
      sure that we keep the current behavior the same for everybody, and then each
      individual fs maintainer can make up their mind about what to do from there.
      Thanks,
      Acked-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      02c24a82
  9. 27 May, 2011 1 commit
    • Christoph Hellwig's avatar
      fs: pass exact type of data dirties to ->dirty_inode · aa385729
      Christoph Hellwig authored
      Tell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or
      anything else, so that the filesystem can track internally if it
      needs to push out a transaction for fdatasync or not.
      
      This is just the prototype change with no user for it yet.  I plan
      to push large XFS changes for the next merge window, and getting
      this trivial infrastructure in this window would help a lot to avoid
      tree interdependencies.
      
      Also remove incorrect comments that ->dirty_inode can't block.  That
      has been changed a long time ago, and many implementations rely on it.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      aa385729
  10. 09 Aug, 2010 1 commit
  11. 28 May, 2010 1 commit
  12. 19 May, 2010 1 commit
  13. 24 Jun, 2009 1 commit
  14. 12 Jun, 2009 1 commit
  15. 11 Jul, 2008 1 commit
  16. 01 May, 2008 1 commit
  17. 07 Feb, 2008 1 commit
  18. 20 Oct, 2007 1 commit
    • KaiGai Kohei's avatar
      [JFFS2] Tidy up fix for ACL/permissions problem. · cfc8dc6f
      KaiGai Kohei authored
      [In commit 9ed437c5 we fixed a problem 
      with standard permissions on newly-created inodes, when POSIX ACLs are 
      enabled. This cleans it up...]
      
      The attached patch separate jffs2_init_acl() into two parts.
      
      The one is jffs2_init_acl_pre() called from jffs2_new_inode().
      It compute ACL oriented inode->i_mode bits, and allocate in-memory ACL
      objects associated with the new inode just before when inode meta
      infomation is written to the medium.
      
      The other is jffs2_init_acl_post() called from jffs2_symlink(),
      jffs2_mkdir(), jffs2_mknod() and jffs2_do_create().
      It actually writes in-memory ACL objects into the medium next to
      the success of writing meta-information.
      
      In the current implementation, we have to write a same inode meta
      infomation twice when inode->i_mode is updated by the default ACL.
      However, we can avoid the behavior by putting an updated i_mode
      before it is written at first, as jffs2_init_acl_pre() doing.
      Signed-off-by: default avatarKaiGai Kohei <kaigai@ak.jp.nec.com>
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      cfc8dc6f
  19. 22 Aug, 2007 1 commit
  20. 27 Apr, 2007 1 commit
  21. 25 Apr, 2007 1 commit
    • David Woodhouse's avatar
      [JFFS2] Tidy up licensing/copyright boilerplate. · c00c310e
      David Woodhouse authored
      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: default avatarDavid Woodhouse <dwmw2@infradead.org>
      c00c310e
  22. 12 Feb, 2007 1 commit
  23. 28 Jun, 2006 1 commit
  24. 23 Jun, 2006 1 commit
  25. 26 May, 2006 1 commit
  26. 22 May, 2006 2 commits
    • Joern Engel's avatar
      [MTD] Introduce MTD_BIT_WRITEABLE · 5fa43394
      Joern Engel authored
      o Add a flag MTD_BIT_WRITEABLE for devices that allow single bits to be
        cleared.
      o Replace MTD_PROGRAM_REGIONS with a cleared MTD_BIT_WRITEABLE flag for
        STMicro and Intel Sibley flashes with internal ECC.  Those flashes
        disallow clearing of single bits, unlike regular NOR flashes, so the
        new flag models their behaviour better.
      o Remove MTD_ECC.  After the STMicro/Sibley merge, this flag is only set
        and never checked.
      Signed-off-by: default avatarJoern Engel <joern@wh.fh-wedel.de>
      5fa43394
    • Joern Engel's avatar
      [MTD] Merge STMicro NOR_ECC code with Intel Sibley code · c8b229de
      Joern Engel authored
      In 2002, STMicro started producing NOR flashes with internal ECC protection
      for small blocks (8 or 16 bytes).  Support for those flashes was added by me.
      In 2005, Intel Sibley flashes copied this strategy and Nico added support for
      those.  Merge the code for both.
      Signed-off-by: default avatarJoern Engel <joern@wh.fh-wedel.de>
      c8b229de
  27. 18 May, 2006 1 commit
    • David Woodhouse's avatar
      [JFFS2] Support new device nodes · aef9ab47
      David Woodhouse authored
      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: default avatarDavid Woodhouse <dwmw2@infradead.org>
      aef9ab47
  28. 13 May, 2006 1 commit
    • KaiGai Kohei's avatar
      [JFFS2][XATTR] XATTR support on JFFS2 (version. 5) · aa98d7cf
      KaiGai Kohei authored
      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: default avatarKaiGai Kohei <kaigai@ak.jp.nec.com>
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      aa98d7cf
  29. 28 Mar, 2006 1 commit
  30. 07 Nov, 2005 1 commit
  31. 06 Nov, 2005 5 commits
  32. 12 Jul, 2005 1 commit
  33. 06 Jul, 2005 1 commit
  34. 23 May, 2005 2 commits