I still don't see any point in having the ENOSPC flushing moved to a different context. Just add a mutex and flush inline, e.g. void xfs_flush_inodes( struct xfs_inode *ip) { struct xfs_mount *mp = ip->i_mount; if (!mutex_trylock(&xfs_syncd_lock)) return; /* someone else is flushing right now */ xfs_sync_data(mp, SYNC_TRYLOCK); xfs_sync_data(mp, SYNC_TRYLOCK | SYNC_WAIT); xfs_log_force(mp, XFS_LOG_SYNC); mutex_unlock(&xfs_syncd_lock); } _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs