pstore denominate dumped file as type-psname-id. it makes many file have
the same name if there are many entries in backend have the same id.
So adding a timestamp to file name.

Signed-off-by: Madper Xie <c...@redhat.com>
---
 fs/pstore/inode.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c
index 1282384..bf6ed3a 100644
--- a/fs/pstore/inode.c
+++ b/fs/pstore/inode.c
@@ -315,32 +315,38 @@ int pstore_mkfile(enum pstore_type_id type, char *psname, 
u64 id, int count,
 
        switch (type) {
        case PSTORE_TYPE_DMESG:
-               sprintf(name, "dmesg-%s-%lld%s", psname, id,
-                                               compressed ? ".enc.z" : "");
+               sprintf(name, "dmesg-%s-%lld-%lld%s", psname, id,
+                       timespec_to_ns(&time), compressed ? ".enc.z" : "");
                break;
        case PSTORE_TYPE_CONSOLE:
-               sprintf(name, "console-%s", psname);
+               sprintf(name, "console-%s-%lld", psname, timespec_to_ns(&time));
                break;
        case PSTORE_TYPE_FTRACE:
-               sprintf(name, "ftrace-%s", psname);
+               sprintf(name, "ftrace-%s-%lld", psname, timespec_to_ns(&time));
                break;
        case PSTORE_TYPE_MCE:
-               sprintf(name, "mce-%s-%lld", psname, id);
+               sprintf(name, "mce-%s-%lld-%lld", psname, id,
+                       timespec_to_ns(&time));
                break;
        case PSTORE_TYPE_PPC_RTAS:
-               sprintf(name, "rtas-%s-%lld", psname, id);
+               sprintf(name, "rtas-%s-%lld-%lld", psname, id,
+                       timespec_to_ns(&time));
                break;
        case PSTORE_TYPE_PPC_OF:
-               sprintf(name, "powerpc-ofw-%s-%lld", psname, id);
+               sprintf(name, "powerpc-ofw-%s-%lld-%lld", psname, id,
+                       timespec_to_ns(&time));
                break;
        case PSTORE_TYPE_PPC_COMMON:
-               sprintf(name, "powerpc-common-%s-%lld", psname, id);
+               sprintf(name, "powerpc-common-%s-%lld-%lld", psname, id,
+                       timespec_to_ns(&time));
                break;
        case PSTORE_TYPE_UNKNOWN:
-               sprintf(name, "unknown-%s-%lld", psname, id);
+               sprintf(name, "unknown-%s-%lld-%lld", psname, id,
+                       timespec_to_ns(&time));
                break;
        default:
-               sprintf(name, "type%d-%s-%lld", type, psname, id);
+               sprintf(name, "type%d-%s-%lld-%lld", type, psname, id,
+                       timespec_to_ns(&time));
                break;
        }
 
-- 
1.8.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to