xfs
[Top] [All Lists]

TAKE - merge Steve's sync changes over to 2.5

To: undisclosed-recipients:;
Subject: TAKE - merge Steve's sync changes over to 2.5
From: Christoph Hellwig <hch@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 5 May 2003 23:34:08 +0200
Resent-date: Mon, 5 May 2003 23:57:58 -0400
Resent-from: hch@xxxxxxx
Resent-message-id: <200305060357.h463vxj01695@xxxxxxxxxxxxxxxxxxxxxxx>
Resent-to: linux-xfs@xxxxxxxxxxx
Sender: linux-xfs-bounce@xxxxxxxxxxx
Date:  Mon May  5 14:36:47 PDT 2003
Workarea:  lab343.munich.sgi.com:/home/hch/repo/slinx/2.5.x-xfs
Merged by:  hch
Merged mods:  
2.4.x-xfs:slinx:147673a,2.4.x-xfs:slinx:147679a,2.4.x-xfs:slinx:147897a

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.5.x-xfs


Modid:  2.5.x-xfs:slinx:147932a
linux/fs/xfs/linux/xfs_syncd.c - 1.1
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          New syncd thread which does metadata flushing periodically
          Merge of 2.4.x-xfs:slinx:147897a originally by hch on 05/05/03
          small fixes for the sync changes
          - use wait_event instead of sleep_on
          - use wmb() to protect lockless pointer assignments
          - handle kernel_thread() failure in  linvfs_start_syncd
          - some cruft is gone

linux/fs/xfs/xfs_rw.c - 1.380
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          remove timer associated with refcache purging

linux/fs/xfs/xfs_vnodeops.c - 1.591
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          Change flush flags used in the write_inode path, if an inode is in
          the log, start the write immediately, if not, do a delayed write.
          Add a new list the i_reclaim list to hold inodes being reclaimed.

linux/fs/xfs/Makefile - 1.171
linux/fs/xfs/xfs_vfsops.c - 1.412
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          restructure xfs_syncsub so it is a little easier to
          read. Move the inode flush component used from various places into
          its own function. In the SYNC_BDFLUSH no longer walk the inode
          chain, just the deleted inode list. Control refcache purging
          with a different flag. When writing a dummy record into an
          idle log, start it off to disk right away rather than waiting
          for the next sync to come along and find it.

linux/fs/xfs/xfs_iget.c - 1.184
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          process the i_reclaim list of unlinked inodes 
          Merge of 2.4.x-xfs:slinx:147897a originally by hch on 05/05/03
          small fixes for the sync changes
          remove racy list_empty check

linux/fs/xfs/xfs_mount.h - 1.170
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          add m_del_inodes list and remove m_sbdirty_timer from xfs_mount_t

linux/fs/xfs/xfs_mount.c - 1.329
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          no need for timers to dirty the super block anymore

linux/fs/xfs/xfs_inode.c - 1.371
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          when an inode gets unpinned, mark it dirty so write_inode will
          be called.

linux/fs/xfs/xfs_inode.h - 1.181
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          add i_reclaim list

linux/fs/xfs/linux/xfs_vfs.c - 1.48
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          new vfs fields for the syncd thread need initializing

linux/fs/xfs/linux/xfs_globals.c - 1.47
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          add new sync_interval to the xfs_params, controls rate of
          operation of the xfs_syncd thread.

linux/fs/xfs/linux/xfs_super.h - 1.44
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          prototypes for linvfs_start_syncd and linvfs_stop_syncd
          Merge of 2.4.x-xfs:slinx:147897a originally by hch on 05/05/03
          small fixes for the sync changes
          linvfs_start_syncd returns int now

linux/fs/xfs/linux/xfs_super.c - 1.266
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          stop and start the syncd thread on mount and unmount,
          clear s_dirt after write_super calls into xfs rather than
          before, do not set the sb_dirt flag if write_inode fails to
          flush an inode.
          Merge of 2.4.x-xfs:slinx:147897a originally by hch on 05/05/03
          small fixes for the sync changes
          check linvfs_start_syncd retval

linux/fs/xfs/linux/xfs_iops.c - 1.200
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          remove all mark_inode_dirty_sync calls, they were all on inodes
          which were being logged, the inode is only flushable after the
          log hits the disk.

linux/fs/xfs/linux/xfs_vnode.h - 1.82
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          VMODIFY no longer marks the inode dirty

linux/fs/xfs/linux/xfs_vfs.h - 1.38
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          new vfs fields for the syncd thread 

linux/fs/xfs/linux/xfs_sysctl.h - 1.12
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          add XFS_SYNC_INTERVAL

linux/fs/xfs/linux/xfs_sysctl.c - 1.17
        - Merge of 2.4.x-xfs:slinx:147673a originally by lord on 05/01/03
          Rework of how xfs syncs metadata to disk. This has a number of
          benefits: We no longer walk the list of all the inodes in the
          filesystem everytime the write_super is called. If you type
          sync and then reset the box then everything is definitely
          recovered afterwards. We remove a lot of calls to
          mark_inode_dirty which did not really do us any good, and
          replace them with a single one which does. kupdated does
          less work in xfs now, freeing it to do other things.
          Finally, get the dummy log record code working, this
          means that after a period of inactivity with everything
          on disk, we clean the log so that recovery does not 
          have any work to do.
          add new XFS_SYNC_INTERVAL to sysctl tables
          Merge of 2.4.x-xfs:slinx:147679a originally by lord on 05/01/03
          fix array index used for sync_interval in sysctl table


<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - merge Steve's sync changes over to 2.5, Christoph Hellwig <=