aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/dbg.c
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2008-05-05 04:20:04 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-05 04:20:04 -0400
commit025adbe8e58290798001b472aec3eb618d8fc930 (patch)
treeb9d49cd2f7be5b9e214d6e36306bceb077081256 /net/tipc/dbg.c
parentf74d505b58d36ceeef10e459094f0eb760681165 (diff)
tipc: Simplify log buffer resizing
This patch simplifies & standardizes the way TIPC's print buffer log is resized. Code to terminate use of the log buffer is eliminated by simply setting the log buffer size to 0 bytes. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/dbg.c')
-rw-r--r--net/tipc/dbg.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/net/tipc/dbg.c b/net/tipc/dbg.c
index e809d2a2ce06..1a8d0a24d9e3 100644
--- a/net/tipc/dbg.c
+++ b/net/tipc/dbg.c
@@ -350,43 +350,31 @@ void tipc_dump(struct print_buf *pb, const char *fmt, ...)
350} 350}
351 351
352/** 352/**
353 * tipc_log_stop - free up TIPC log print buffer 353 * tipc_log_resize - change the size of the TIPC log buffer
354 * @log_size: print buffer size to use
354 */ 355 */
355 356
356void tipc_log_stop(void) 357void tipc_log_resize(int log_size)
357{ 358{
358 spin_lock_bh(&print_lock); 359 spin_lock_bh(&print_lock);
359 if (TIPC_LOG->buf) { 360 if (TIPC_LOG->buf) {
360 kfree(TIPC_LOG->buf); 361 kfree(TIPC_LOG->buf);
361 TIPC_LOG->buf = NULL; 362 TIPC_LOG->buf = NULL;
362 } 363 }
363 spin_unlock_bh(&print_lock);
364}
365
366/**
367 * tipc_log_reinit - (re)initialize TIPC log print buffer
368 * @log_size: print buffer size to use
369 */
370
371void tipc_log_reinit(int log_size)
372{
373 tipc_log_stop();
374
375 if (log_size) { 364 if (log_size) {
376 if (log_size < TIPC_PB_MIN_SIZE) 365 if (log_size < TIPC_PB_MIN_SIZE)
377 log_size = TIPC_PB_MIN_SIZE; 366 log_size = TIPC_PB_MIN_SIZE;
378 spin_lock_bh(&print_lock);
379 tipc_printbuf_init(TIPC_LOG, kmalloc(log_size, GFP_ATOMIC), 367 tipc_printbuf_init(TIPC_LOG, kmalloc(log_size, GFP_ATOMIC),
380 log_size); 368 log_size);
381 spin_unlock_bh(&print_lock);
382 } 369 }
370 spin_unlock_bh(&print_lock);
383} 371}
384 372
385/** 373/**
386 * tipc_log_resize - reconfigure size of TIPC log buffer 374 * tipc_log_resize_cmd - reconfigure size of TIPC log buffer
387 */ 375 */
388 376
389struct sk_buff *tipc_log_resize(const void *req_tlv_area, int req_tlv_space) 377struct sk_buff *tipc_log_resize_cmd(const void *req_tlv_area, int req_tlv_space)
390{ 378{
391 u32 value; 379 u32 value;
392 380
@@ -397,7 +385,7 @@ struct sk_buff *tipc_log_resize(const void *req_tlv_area, int req_tlv_space)
397 if (value != delimit(value, 0, 32768)) 385 if (value != delimit(value, 0, 32768))
398 return tipc_cfg_reply_error_string(TIPC_CFG_INVALID_VALUE 386 return tipc_cfg_reply_error_string(TIPC_CFG_INVALID_VALUE
399 " (log size must be 0-32768)"); 387 " (log size must be 0-32768)");
400 tipc_log_reinit(value); 388 tipc_log_resize(value);
401 return tipc_cfg_reply_none(); 389 return tipc_cfg_reply_none();
402} 390}
403 391