1. 01 12月, 2008 3 次提交
    • C
      [XFS] allow inode64 mount option on 32 bit systems · 6c31b93a
      Christoph Hellwig 提交于
      Now that we've stopped using the Linux inode cache when can trivally
      support the inode64 mount option on 32bit architectures.  As far as the
      kernel and most userspace is concerned this works perfectly, but
      applications still using really old stat and readdir interfaces will get
      an EOVERFLOW error when hitting an inode number not fitting into 32
      bits (that problem of course also exists when using these applications
      on a 64bit kernel).
      
      Note that because inode64 is simply a mount option we can currently
      mount a filesystem having > 32 bit inode numbers and cause a variety of
      problems, all this is solved but this patch which enables XFS_BIG_INUMS,
      even when inode64 is not used.
      
      (First sent on October 18th)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NDave Chinner <david@fromorbit.com>
      Signed-off-by: NNiv Sardi <xaiki@sgi.com>
      6c31b93a
    • C
      [XFS] wire up ->open for directories · f999a5bf
      Christoph Hellwig 提交于
      Currently there's no ->open method set for directories on XFS.  That
      means we don't perform any check for opening too large directories
      without O_LARGEFILE, we don't check for shut down filesystems, and we
      don't actually do the readahead for the first block in the directory.
      
      Instead of just setting the directories open routine to xfs_file_open
      we merge the shutdown check directly into xfs_file_open and create
      a new xfs_dir_open that first calls xfs_file_open and then performs
      the readahead for block 0.
      
      (First sent on September 29th)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NDave Chinner <david@fromorbit.com>
      Signed-off-by: NNiv Sardi <xaiki@sgi.com>
      f999a5bf
    • C
      [XFS] fix NULL pointer dereference in xfs_log_force_umount · bac8dca9
      Christoph Hellwig 提交于
      xfs_log_force_umount may be called very early during log recovery where
      
      If we fail a buffer read in xlog_recover_do_inode_trans we abort the mount.
      But at that point log recovery has started delayed writeback of inode
      buffers.   As part of the aborted mount we try to flush out all delwri
      buffers, but at that point we have already freed the superblock, and set
      mp->m_sb_bp to NULL, and xfs_log_force_umount which gets called after
      the inode buffer writeback trips over it.
      
      Make xfs_log_force_umount a little more careful when accessing mp->m_sb_bp
      to avoid this.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NEric Sandeen <sandeen@sandeen.net>
      Signed-off-by: NNiv Sardi <xaiki@sgi.com>
      bac8dca9
  2. 28 11月, 2008 1 次提交
  3. 21 11月, 2008 25 次提交
  4. 20 11月, 2008 11 次提交