1. 01 May, 2013 1 commit
    • Dave Kleikamp's avatar
      jfs: fix a couple races · 73aaa22d
      Dave Kleikamp authored
      
      
      This patch fixes races uncovered by xfstests testcase 068.
      
      One race is the result of jfs_sync() trying to write a sync point to the
      journal after it has been frozen (or possibly in the process). Since
      freezing sync's the journal, there is no need to write a sync point so
      we simply want to return.
      
      The second involves jfs_write_inode() being called on a deleted inode.
      It calls jfs_flush_journal which is held up by the jfs_commit thread
      doing the final iput on the same deleted inode, which itself is
      waiting for the I_SYNC flag to be cleared. jfs_write_inode need not
      do anything when i_nlink is zero, which is the easy fix.
      Reported-by: default avatarMichael L. Semon <mlsemon35@gmail.com>
      Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
      73aaa22d
  2. 20 Dec, 2012 1 commit
  3. 05 May, 2012 1 commit
  4. 20 Jul, 2011 1 commit
    • Christoph Hellwig's avatar
      fs: simplify the blockdev_direct_IO prototype · aacfc19c
      Christoph Hellwig authored
      
      
      Simple filesystems always pass inode->i_sb_bdev as the block device
      argument, and never need a end_io handler.  Let's simply things for
      them and for my grepping activity by dropping these arguments.  The
      only thing not falling into that scheme is ext4, which passes and
      end_io handler without needing special flags (yet), but given how
      messy the direct I/O code there is use of __blockdev_direct_IO
      in one instead of two out of three cases isn't going to make a large
      difference anyway.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      aacfc19c
  5. 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
  6. 10 Mar, 2011 1 commit
  7. 09 Aug, 2010 3 commits
  8. 16 Apr, 2010 1 commit
  9. 05 Mar, 2010 1 commit
  10. 04 Mar, 2010 4 commits
    • Christoph Hellwig's avatar
      dquot: cleanup dquot initialize routine · 871a2931
      Christoph Hellwig authored
      
      
      Get rid of the initialize dquot operation - it is now always called from
      the filesystem and if a filesystem really needs it's own (which none
      currently does) it can just call into it's own routine directly.
      
      Rename the now static low-level dquot_initialize helper to __dquot_initialize
      and vfs_dq_init to dquot_initialize to have a consistent namespace.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      871a2931
    • Christoph Hellwig's avatar
      dquot: move dquot initialization responsibility into the filesystem · 907f4554
      Christoph Hellwig authored
      
      
      Currently various places in the VFS call vfs_dq_init directly.  This means
      we tie the quota code into the VFS.  Get rid of that and make the
      filesystem responsible for the initialization.   For most metadata operations
      this is a straight forward move into the methods, but for truncate and
      open it's a bit more complicated.
      
      For truncate we currently only call vfs_dq_init for the sys_truncate case
      because open already takes care of it for ftruncate and open(O_TRUNC) - the
      new code causes an additional vfs_dq_init for those which is harmless.
      
      For open the initialization is moved from do_filp_open into the open method,
      which means it happens slightly earlier now, and only for regular files.
      The latter is fine because we don't need to initialize it for operations
      on special files, and we already do it as part of the namespace operations
      for directories.
      
      Add a dquot_file_open helper that filesystems that support generic quotas
      can use to fill in ->open.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      907f4554
    • Christoph Hellwig's avatar
      dquot: cleanup dquot drop routine · 9f754758
      Christoph Hellwig authored
      
      
      Get rid of the drop dquot operation - it is now always called from
      the filesystem and if a filesystem really needs it's own (which none
      currently does) it can just call into it's own routine directly.
      
      Rename the now static low-level dquot_drop helper to __dquot_drop
      and vfs_dq_drop to dquot_drop to have a consistent namespace.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      9f754758
    • Christoph Hellwig's avatar
      dquot: cleanup inode allocation / freeing routines · 63936dda
      Christoph Hellwig authored
      
      
      Get rid of the alloc_inode and free_inode dquot operations - they are
      always called from the filesystem and if a filesystem really needs
      their own (which none currently does) it can just call into it's
      own routine directly.
      
      Also get rid of the vfs_dq_alloc/vfs_dq_free wrappers and always
      call the lowlevel dquot_alloc_inode / dqout_free_inode routines
      directly, which now lose the number argument which is always 1.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      63936dda
  11. 25 Mar, 2009 1 commit
  12. 16 Dec, 2008 1 commit
  13. 07 Feb, 2008 1 commit
  14. 16 Oct, 2007 2 commits
  15. 25 Apr, 2007 1 commit
  16. 09 Jan, 2007 1 commit
  17. 02 Oct, 2006 1 commit
  18. 01 Oct, 2006 1 commit
  19. 26 Jul, 2006 1 commit
  20. 28 Jun, 2006 1 commit
  21. 26 Mar, 2006 2 commits
  22. 09 Feb, 2006 1 commit
    • Herbert Poetzl's avatar
      JFS: ext2 inode attributes for jfs · fa3241d2
      Herbert Poetzl authored
      
      
      ext2 inode attributes with relevance for jfs:
      
      'a' 	EXT2_APPEND_FL       -> append only
      'i' 	EXT2_IMMUTABLE_FL    -> immutable file
      's' 	EXT2_SECRM_FL	     -> zero file
      'u' 	EXT2_UNRM_FL	     -> allow for unrm
      'A' 	EXT2_NOATIME_FL      -> no access time
      'D' 	EXT2_DIRSYNC_FL      -> dirsync
      'S' 	EXT2_SYNC_FL	     -> sync
      
      overview of jfs flags (partially for OS/2)
      
      value	   (OS/2)	Linux	ext2 attrs
      ------------------------------------------------
      0x00010000 IFJOURNAL	-
      0x00020000 ISPARSE  	used
      0x00040000 INLINEEA 	used
      0x00080000 -	    	-	JFS_NOATIME_FL
      
      0x00100000 -	    	-	JFS_DIRSYNC_FL
      0x00200000 -	    	-	JFS_SYNC_FL
      0x00400000 -	    	-	JFS_SECRM_FL
      0x00800000 ISWAPFILE	-	JFS_UNRM_FL
      
      0x01000000 -	    	-	JFS_APPEND_FL
      0x02000000 IREADONLY	-	JFS_IMMUTABLE_FL
      0x04000000 IHIDDEN  	-	-
      0x08000000 ISYSTEM  	-	-
      
      0x10000000 -	    	-
      0x20000000 IDIRECTORY	used
      0x40000000 IARCHIVE 	-
      0x80000000 INEWNAME 	-
      
      the implementation is straight forward, except
      for the fact that the attributes have to be mapped
      to match with the ext2 ones to avoid a separate
      tool for manipulating them (this could be avoided
      when using a separate flag field in the on-disk
      representation, but the overhead is minimal)
      
      a special jfs_ioctl is added to allow for the new
      JFS_IOC_GETFLAGS and JFS_IOC_SETFLAGS calls.
      
      a helper function jfs_set_inode_flags() to transfer
      the flags from the on-disk version to the inode
      
      minor changes to allow flag inheritance on inode
      creation, as well as a cleanup of the on-disk
      flags (including the new ones)
      
      beforementioned helper to map between ext2 and jfs
      versions of the new flags ...
      
      the JFS_SECRM_FL and JFS_UNRM_FL are not done yet
      and I'm not 100% sure they are worth the effort,
      the rest seems to work out of the box ...
      Signed-off-by: default avatarHerbert Poetzl <herbert@13thfloor.at>
      Signed-off-by: default avatarDave Kleikamp <shaggy@austin.ibm.com>
      fa3241d2
  23. 24 Jan, 2006 1 commit
  24. 15 Sep, 2005 1 commit
  25. 09 Sep, 2005 1 commit
  26. 30 Aug, 2005 1 commit
  27. 01 Aug, 2005 1 commit
  28. 04 May, 2005 1 commit
  29. 02 May, 2005 2 commits
  30. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4