1. 07 5月, 2014 2 次提交
  2. 04 4月, 2014 1 次提交
    • J
      mm + fs: store shadow entries in page cache · 91b0abe3
      Johannes Weiner 提交于
      Reclaim will be leaving shadow entries in the page cache radix tree upon
      evicting the real page.  As those pages are found from the LRU, an
      iput() can lead to the inode being freed concurrently.  At this point,
      reclaim must no longer install shadow pages because the inode freeing
      code needs to ensure the page tree is really empty.
      
      Add an address_space flag, AS_EXITING, that the inode freeing code sets
      under the tree lock before doing the final truncate.  Reclaim will check
      for this flag before installing shadow pages.
      Signed-off-by: NJohannes Weiner <hannes@cmpxchg.org>
      Reviewed-by: NRik van Riel <riel@redhat.com>
      Reviewed-by: NMinchan Kim <minchan@kernel.org>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Bob Liu <bob.liu@oracle.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Greg Thelen <gthelen@google.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Jan Kara <jack@suse.cz>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Luigi Semenzato <semenzato@google.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Metin Doslu <metin@citusdata.com>
      Cc: Michel Lespinasse <walken@google.com>
      Cc: Ozgun Erdogan <ozgun@citusdata.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Roman Gushchin <klamm@yandex-team.ru>
      Cc: Ryan Mallon <rmallon@gmail.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      91b0abe3
  3. 13 9月, 2013 1 次提交
  4. 08 5月, 2013 1 次提交
  5. 02 5月, 2013 1 次提交
    • D
      jfs: fix a couple races · 73aaa22d
      Dave Kleikamp 提交于
      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: NMichael L. Semon <mlsemon35@gmail.com>
      Signed-off-by: NDave Kleikamp <dave.kleikamp@oracle.com>
      73aaa22d
  6. 21 12月, 2012 1 次提交
  7. 06 5月, 2012 1 次提交
  8. 21 7月, 2011 1 次提交
    • C
      fs: simplify the blockdev_direct_IO prototype · aacfc19c
      Christoph Hellwig 提交于
      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: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      aacfc19c
  9. 27 5月, 2011 1 次提交
    • C
      fs: pass exact type of data dirties to ->dirty_inode · aa385729
      Christoph Hellwig 提交于
      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: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      aa385729
  10. 10 3月, 2011 1 次提交
  11. 10 8月, 2010 3 次提交
  12. 16 4月, 2010 1 次提交
  13. 06 3月, 2010 1 次提交
  14. 05 3月, 2010 4 次提交
    • C
      dquot: cleanup dquot initialize routine · 871a2931
      Christoph Hellwig 提交于
      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: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      871a2931
    • C
      dquot: move dquot initialization responsibility into the filesystem · 907f4554
      Christoph Hellwig 提交于
      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: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      907f4554
    • C
      dquot: cleanup dquot drop routine · 9f754758
      Christoph Hellwig 提交于
      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: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      9f754758
    • C
      dquot: cleanup inode allocation / freeing routines · 63936dda
      Christoph Hellwig 提交于
      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: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      63936dda
  15. 26 3月, 2009 1 次提交
  16. 17 12月, 2008 1 次提交
  17. 08 2月, 2008 1 次提交
  18. 17 10月, 2007 2 次提交
  19. 25 4月, 2007 1 次提交
  20. 10 1月, 2007 1 次提交
  21. 02 10月, 2006 1 次提交
  22. 01 10月, 2006 1 次提交
  23. 27 7月, 2006 1 次提交
  24. 29 6月, 2006 1 次提交
  25. 27 3月, 2006 2 次提交
  26. 09 2月, 2006 1 次提交
    • H
      JFS: ext2 inode attributes for jfs · fa3241d2
      Herbert Poetzl 提交于
      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: NHerbert Poetzl <herbert@13thfloor.at>
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      fa3241d2
  27. 25 1月, 2006 1 次提交
  28. 16 9月, 2005 1 次提交
  29. 10 9月, 2005 1 次提交
  30. 31 8月, 2005 1 次提交
  31. 02 8月, 2005 1 次提交
  32. 05 5月, 2005 1 次提交