Skip to content

Commit

Permalink
[DLM] break from snprintf loop
Browse files Browse the repository at this point in the history
When the debug buffer has filled up, break from the loop and return the
correct number of bytes that have been written.

Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
David Teigland authored and Steven Whitehouse committed Aug 9, 2006
1 parent f6db1b8 commit 0644244
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions fs/dlm/debug_fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,16 +310,19 @@ static ssize_t waiters_read(struct file *file, char __user *userbuf,
{
struct dlm_ls *ls = file->private_data;
struct dlm_lkb *lkb;
size_t len = DLM_DEBUG_BUF_LEN, pos = 0, rv;
size_t len = DLM_DEBUG_BUF_LEN, pos = 0, ret, rv;

mutex_lock(&debug_buf_lock);
mutex_lock(&ls->ls_waiters_mutex);
memset(debug_buf, 0, sizeof(debug_buf));

list_for_each_entry(lkb, &ls->ls_waiters, lkb_wait_reply) {
pos += snprintf(debug_buf + pos, len - pos, "%x %d %d %s\n",
lkb->lkb_id, lkb->lkb_wait_type,
lkb->lkb_nodeid, lkb->lkb_resource->res_name);
ret = snprintf(debug_buf + pos, len - pos, "%x %d %d %s\n",
lkb->lkb_id, lkb->lkb_wait_type,
lkb->lkb_nodeid, lkb->lkb_resource->res_name);
if (ret >= len - pos)
break;
pos += ret;
}
mutex_unlock(&ls->ls_waiters_mutex);

Expand Down

0 comments on commit 0644244

Please sign in to comment.