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
|