diff options
Diffstat (limited to 'fs/pstore/platform.c')
| -rw-r--r-- | fs/pstore/platform.c | 27 | 
1 files changed, 15 insertions, 12 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index b8e93a40a5d..0a9b72cdfec 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -18,6 +18,8 @@   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   */ +#define pr_fmt(fmt) "pstore: " fmt +  #include <linux/atomic.h>  #include <linux/types.h>  #include <linux/errno.h> @@ -224,14 +226,12 @@ static void allocate_buf_for_compression(void)  			zlib_inflate_workspacesize());  		stream.workspace = kmalloc(size, GFP_KERNEL);  		if (!stream.workspace) { -			pr_err("pstore: No memory for compression workspace; " -				"skipping compression\n"); +			pr_err("No memory for compression workspace; skipping compression\n");  			kfree(big_oops_buf);  			big_oops_buf = NULL;  		}  	} else { -		pr_err("No memory for uncompressed data; " -			"skipping compression\n"); +		pr_err("No memory for uncompressed data; skipping compression\n");  		stream.workspace = NULL;  	} @@ -443,8 +443,11 @@ int pstore_register(struct pstore_info *psi)  		pstore_get_records(0);  	kmsg_dump_register(&pstore_dumper); -	pstore_register_console(); -	pstore_register_ftrace(); + +	if ((psi->flags & PSTORE_FLAGS_FRAGILE) == 0) { +		pstore_register_console(); +		pstore_register_ftrace(); +	}  	if (pstore_update_ms >= 0) {  		pstore_timer.expires = jiffies + @@ -452,8 +455,7 @@ int pstore_register(struct pstore_info *psi)  		add_timer(&pstore_timer);  	} -	pr_info("pstore: Registered %s as persistent store backend\n", -		psi->name); +	pr_info("Registered %s as persistent store backend\n", psi->name);  	return 0;  } @@ -494,12 +496,13 @@ void pstore_get_records(int quiet)  							big_oops_buf_sz);  			if (unzipped_len > 0) { +				kfree(buf);  				buf = big_oops_buf;  				size = unzipped_len;  				compressed = false;  			} else { -				pr_err("pstore: decompression failed;" -					"returned %d\n", unzipped_len); +				pr_err("decompression failed;returned %d\n", +				       unzipped_len);  				compressed = true;  			}  		} @@ -520,8 +523,8 @@ out:  	mutex_unlock(&psi->read_mutex);  	if (failed) -		printk(KERN_WARNING "pstore: failed to load %d record(s) from '%s'\n", -		       failed, psi->name); +		pr_warn("failed to load %d record(s) from '%s'\n", +			failed, psi->name);  }  static void pstore_dowork(struct work_struct *work)  | 
