RETURN(rc);
}
-char dbgcksum_file_name[PATH_MAX];
-
static void dump_all_bulk_pages(struct obdo *oa, __u32 page_count,
struct brw_page **pga, __u32 server_cksum,
__u32 client_cksum)
{
+ char *dbgcksum_file_name;
struct file *filp;
unsigned int len;
int rc, i;
char *buf;
+ OBD_ALLOC(dbgcksum_file_name, PATH_MAX);
+ if (!dbgcksum_file_name)
+ return;
+
/* will only keep dump of pages on first error for the same range in
* file/fid, not during the resends/retries.
*/
- snprintf(dbgcksum_file_name, sizeof(dbgcksum_file_name),
+ snprintf(dbgcksum_file_name, PATH_MAX,
"%s-checksum_dump-osc-"DFID":[%llu-%llu]-%x-%x",
(strncmp(libcfs_debug_file_path, "NONE", 4) != 0 ?
libcfs_debug_file_path : LIBCFS_DEBUG_FILE_PATH_DEFAULT),
else
CERROR("%s: can't open to dump pages with checksum error: rc = %d\n",
dbgcksum_file_name, rc);
+ OBD_FREE(dbgcksum_file_name, PATH_MAX);
return;
}
filp_close(filp, NULL);
libcfs_debug_dumplog();
+ OBD_FREE(dbgcksum_file_name, PATH_MAX);
}
static int
return 0;
}
-char dbgcksum_file_name[PATH_MAX];
-
static void dump_all_bulk_pages(struct obdo *oa, int count,
struct niobuf_local *local_nb,
__u32 server_cksum, __u32 client_cksum)
{
+ char *dbgcksum_file_name;
struct file *filp;
int rc, i;
unsigned int len;
char *buf;
+ OBD_ALLOC(dbgcksum_file_name, PATH_MAX);
+ if (!dbgcksum_file_name)
+ return;
+
/* will only keep dump of pages on first error for the same range in
* file/fid, not during the resends/retries. */
- snprintf(dbgcksum_file_name, sizeof(dbgcksum_file_name),
+ snprintf(dbgcksum_file_name, PATH_MAX,
"%s-checksum_dump-ost-"DFID":[%llu-%llu]-%x-%x",
(strncmp(libcfs_debug_file_path, "NONE", 4) != 0 ?
libcfs_debug_file_path : LIBCFS_DEBUG_FILE_PATH_DEFAULT),
else
CERROR("%s: can't open to dump pages with checksum "
"error: rc = %d\n", dbgcksum_file_name, rc);
+ OBD_FREE(dbgcksum_file_name, PATH_MAX);
return;
}
filp_close(filp, NULL);
libcfs_debug_dumplog();
+ OBD_FREE(dbgcksum_file_name, PATH_MAX);
}
static int check_read_checksum(struct niobuf_local *local_nb, int npages,