blktrace: add back conversion
PATCH 3/5 blktrace: add back conversion
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 <[email protected]>
--- btreplay/btreplay.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
btreplay/btreplay.c +11 -2
@@ -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