* [patch 3/5] blktrace: add back conversion
@ 2009-12-15 17:47 Edward Shishkin
0 siblings, 0 replies; only message in thread
From: Edward Shishkin @ 2009-12-15 17:47 UTC (permalink / raw)
To: linux-btrace
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: blktrace-fix-502889.patch --]
[-- Type: text/plain, Size: 1184 bytes --]
Fixup for bz 502889.
Problem:
when executing with /dev/cciss/foo (long path names)
btreplay complains (No such file or directory).
Bug:
Missed back conversion of erscores to slashes.
Solution:
Convert underscores to slashes to restore device
names that have larger paths.
Signed-off-by: Edward Shishkin <edward@redhat.com>
---
btreplay/btreplay.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
--- blktrace.orig/btreplay/btreplay.c
+++ blktrace/btreplay/btreplay.c
@@ -1314,6 +1314,8 @@ static void reset_input_file(struct thr_
*/
static void *replay_sub(void *arg)
{
+ int i;
+ char *mdev;
char path[MAXPATHLEN];
struct io_bunch bunch;
struct thr_info *tip = arg;
@@ -1321,8 +1323,15 @@ static void *replay_sub(void *arg)
pin_to_cpu(tip);
- sprintf(path, "/dev/%s", map_dev(tip->devnm));
-
+ mdev = map_dev(tip->devnm);
+ sprintf(path, "/dev/%s", mdev);
+ /*
+ * convert underscores to slashes to
+ * restore device names that have larger paths
+ */
+ for (i = 0; i < strlen(mdev); i++)
+ if (path[strlen("/dev/") + i] == '_')
+ path[strlen("/dev/") + i] = '/';
#ifdef O_NOATIME
oflags = O_NOATIME;
#else
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-12-15 17:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-15 17:47 [patch 3/5] blktrace: add back conversion Edward Shishkin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.