diff options
Diffstat (limited to 'runtime/transport')
-rw-r--r-- | runtime/transport/ChangeLog | 6 | ||||
-rw-r--r-- | runtime/transport/procfs.c | 2 | ||||
-rw-r--r-- | runtime/transport/transport.c | 2 | ||||
-rw-r--r-- | runtime/transport/transport_msgs.h | 1 |
4 files changed, 11 insertions, 0 deletions
diff --git a/runtime/transport/ChangeLog b/runtime/transport/ChangeLog index 83ccda7d..71fc2fdb 100644 --- a/runtime/transport/ChangeLog +++ b/runtime/transport/ChangeLog @@ -1,3 +1,9 @@ +2006-09-25 Tom Zanussi <zanussi@us.ibm.com> + + * procfs.c (_stp_proc_read): Set buf_info flushing flag. + * transport.c (_stp_cleanup_and_exit): Remove braces. + * transport_msgs.h: Add flushing flag to buf_info. + 2006-09-22 Martin Hunt <hunt@redhat.com> * transport.c (_stp_work_queue): Reenable some cleanup diff --git a/runtime/transport/procfs.c b/runtime/transport/procfs.c index 90ceb58b..b0b03a73 100644 --- a/runtime/transport/procfs.c +++ b/runtime/transport/procfs.c @@ -18,6 +18,7 @@ spinlock_t _stp_pool_lock = SPIN_LOCK_UNLOCKED; spinlock_t _stp_ready_lock = SPIN_LOCK_UNLOCKED; #ifdef STP_RELAYFS +extern int _stp_relay_flushing; /* handle the per-cpu subbuf info read for relayfs */ static ssize_t _stp_proc_read (struct file *file, char __user *buf, size_t count, loff_t *ppos) @@ -38,6 +39,7 @@ _stp_proc_read (struct file *file, char __user *buf, size_t count, loff_t *ppos) out.produced = atomic_read(&_stp_chan->buf[cpu]->subbufs_produced); out.consumed = atomic_read(&_stp_chan->buf[cpu]->subbufs_consumed); #endif /* RELAYFS_CHANNEL_VERSION >= 4 || CONFIG_RELAY */ + out.flushing = _stp_relay_flushing; num = sizeof(out); if (copy_to_user(buf, &out, num)) diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c index 9277afca..c0684ae4 100644 --- a/runtime/transport/transport.c +++ b/runtime/transport/transport.c @@ -22,6 +22,7 @@ #include "relayfs.c" static struct rchan *_stp_chan; static struct dentry *_stp_dir; +int _stp_relay_flushing = 0; #endif static atomic_t _stp_start_finished = ATOMIC_INIT (0); @@ -144,6 +145,7 @@ static void _stp_cleanup_and_exit (int dont_rmmod) #ifdef STP_RELAYFS if (_stp_transport_mode == STP_TRANSPORT_RELAYFS) { + _stp_relay_flushing = 1; relay_flush(_stp_chan); } #endif diff --git a/runtime/transport/transport_msgs.h b/runtime/transport/transport_msgs.h index a060b414..6d0b2c34 100644 --- a/runtime/transport/transport_msgs.h +++ b/runtime/transport/transport_msgs.h @@ -24,6 +24,7 @@ struct buf_info int cpu; unsigned produced; unsigned consumed; + int flushing; }; struct consumed_info |