summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel.spec11
-rw-r--r--pstore-Create-a-convenient-mount-point-for-pstore.patch85
2 files changed, 95 insertions, 1 deletions
diff --git a/kernel.spec b/kernel.spec
index 3cf1a7b48..ecc5d7d50 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -62,7 +62,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 1
+%global baserelease 2
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -752,6 +752,9 @@ Patch21247: ath9k_rx_dma_stop_check.patch
Patch21248: pid-unlock_irq-when-alloc_pid-fails-because-init.patch
+#rhbz 910126
+Patch21249: pstore-Create-a-convenient-mount-point-for-pstore.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1453,6 +1456,9 @@ ApplyPatch ath9k_rx_dma_stop_check.patch
ApplyPatch pid-unlock_irq-when-alloc_pid-fails-because-init.patch
+#rhbz 910126
+ApplyPatch pstore-Create-a-convenient-mount-point-for-pstore.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2308,6 +2314,9 @@ fi
# ||----w |
# || ||
%changelog
+* Tue Feb 12 2013 Josh Boyer <jwboyer@redhat.com>
+- Add patch to create a convenient mount point for pstore (rhbz 910126)
+
* Tue Feb 12 2013 Josh Boyer <jwboyer@redhat.com> - 3.8.0-0.rc7.git1.1
- Linux v3.8-rc7-6-g211b0cd
- Reenable debugging options.
diff --git a/pstore-Create-a-convenient-mount-point-for-pstore.patch b/pstore-Create-a-convenient-mount-point-for-pstore.patch
new file mode 100644
index 000000000..15a1db2ec
--- /dev/null
+++ b/pstore-Create-a-convenient-mount-point-for-pstore.patch
@@ -0,0 +1,85 @@
+From 575f0918313d593d24c40cf1839b97d7fcfebd0f Mon Sep 17 00:00:00 2001
+From: Josh Boyer <jwboyer@redhat.com>
+Date: Mon, 11 Feb 2013 18:07:48 -0500
+Subject: [PATCH] pstore: Create a convenient mount point for pstore
+
+Using /dev/pstore as a mount point for the pstore filesystem is slightly
+awkward. We don't normally mount filesystems in /dev/ and the /dev/pstore
+file isn't created automatically by anything. While this method will
+still work, we can create a persistent mount point in sysfs. This will
+put pstore on par with things like cgroups and efivarfs.
+
+Signed-off-by: Josh Boyer <jwboyer@redhat.com>
+---
+ Documentation/ABI/testing/pstore | 10 +++++-----
+ fs/pstore/inode.c | 18 +++++++++++++++++-
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+diff --git a/Documentation/ABI/testing/pstore b/Documentation/ABI/testing/pstore
+index ff1df4e..5fca9f5 100644
+--- a/Documentation/ABI/testing/pstore
++++ b/Documentation/ABI/testing/pstore
+@@ -1,4 +1,4 @@
+-Where: /dev/pstore/...
++Where: /sys/fs/pstore/... (or /dev/pstore/...)
+ Date: March 2011
+ Kernel Version: 2.6.39
+ Contact: tony.luck@intel.com
+@@ -11,9 +11,9 @@ Description: Generic interface to platform dependent persistent storage.
+ of the console log is captured, but other interesting
+ data can also be saved.
+
+- # mount -t pstore -o kmsg_bytes=8000 - /dev/pstore
++ # mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore
+
+- $ ls -l /dev/pstore
++ $ ls -l /sys/fs/pstore/
+ total 0
+ -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1
+
+@@ -27,9 +27,9 @@ Description: Generic interface to platform dependent persistent storage.
+ the file will signal to the underlying persistent storage
+ device that it can reclaim the space for later re-use.
+
+- $ rm /dev/pstore/dmesg-erst-1
++ $ rm /sys/fs/pstore/dmesg-erst-1
+
+- The expectation is that all files in /dev/pstore
++ The expectation is that all files in /sys/fs/pstore/
+ will be saved elsewhere and erased from persistent store
+ soon after boot to free up space ready for the next
+ catastrophe.
+diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c
+index 67de74c..e4bcb2c 100644
+--- a/fs/pstore/inode.c
++++ b/fs/pstore/inode.c
+@@ -418,9 +418,25 @@ static struct file_system_type pstore_fs_type = {
+ .kill_sb = pstore_kill_sb,
+ };
+
++static struct kobject *pstore_kobj;
++
+ static int __init init_pstore_fs(void)
+ {
+- return register_filesystem(&pstore_fs_type);
++ int err = 0;
++
++ /* Create a convenient mount point for people to access pstore */
++ pstore_kobj = kobject_create_and_add("pstore", fs_kobj);
++ if (!pstore_kobj) {
++ err = -ENOMEM;
++ goto out;
++ }
++
++ err = register_filesystem(&pstore_fs_type);
++ if (err < 0)
++ kobject_put(pstore_kobj);
++
++out:
++ return err;
+ }
+ module_init(init_pstore_fs)
+
+--
+1.8.1.2
+