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 +- Add patch to create a convenient mount point for pstore (rhbz 910126) + * Tue Feb 12 2013 Josh Boyer - 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 +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 +--- + 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 +