[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TAKE - Fix nfs refcache superblock dirty timer



The nfs refcache uses a timer to mark the superblock as
dirty whenever items are left in the refcache, to ensure
that on the next sync, more items will be purged.

The previous implementation had 2 problems - the timer
was not deleted on unmount, so it could go off and 
cause an oops if the superblock pointer had gone away
after an unmount.  Also, we really needed a timer per
filesystem, not one global timer.

This mod adds the timer to the xfs_mount_t struct, so
there is 1 per fs, and also deletes the timer on unmount.

Date:  Sun Apr  7 07:12:06 PDT 2002
Workarea:  stout.americas.sgi.com:/localhome/src/sandeen/2.4.x-xfs/workarea-refcache

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


Modid:  xfs-cmds:slinx:115908a
cmd/xfsprogs/include/xfs_mount.h - 1.13
	- add m_sbdirty_timer to mount struct




Modid:  2.4.x-xfs:slinx:115908b
linux/fs/xfs/xfs_rw.c - 1.354
	- use a per-fs sbdirty timer rather than one global timer

linux/fs/xfs/xfs_vfsops.c - 1.340
	- delete sbdirty timer on unmount

linux/fs/xfs/xfs_mount.h - 1.138
	- add m_sbdirty_timer to mount struct

linux/fs/xfs/xfs_mount.c - 1.278
	- set up sbdirty timer in xfs_mountfs