#! ./tesh
-$ ${bindir:=.}/io/storage ${srcdir:=.}/examples/platforms/storage.xml "--log=root.fmt:> [%8.6r]%e(%i@%h)%e%m%n"
+$ ${bindir:=.}/io/storage ${srcdir:=.}/examples/platforms/storage.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:(null)@denise) *** Storage info on denise ***
> [ 0.000000] (1:(null)@denise) Storage name: Disk2, mount name: c:
> [ 0.000000] (1:(null)@denise) Total size: 536870912000 bytes
> [ 0.000000] (1:(null)@denise) Used size: 13221994 bytes
> [ 0.003333] (1:(null)@denise) Create a 200000 bytes file named '/home/tmp/data.txt' on /sd1
> [ 0.003333] (1:(null)@denise) File Descriptor information:
-> Full path: '/home/tmp/data.txt'
-> Size: 200000
-> Mount point: '/home'
-> Storage Id: 'Disk4'
-> Storage Type: 'single_SSD'
-> Content Type: 'txt_unix'
+> Full path: '/home/tmp/data.txt'
+> Size: 200000
+> Mount point: '/home'
+> Storage Id: 'Disk4'
+> Storage Type: 'single_SSD'
+> Content Type: 'txt_unix'
> [ 0.003333] (1:(null)@denise) Free size: 536857490006 bytes
> [ 0.003333] (1:(null)@denise) Used size: 13421994 bytes
> [ 0.004583] (1:(null)@denise) Read 200000 bytes on /home/tmp/data.txt
> [ 0.007917] (1:(null)@denise) Write 100000 bytes on /home/tmp/data.txt
> [ 0.007917] (1:(null)@denise) File Descriptor information:
-> Full path: '/home/tmp/data.txt'
-> Size: 300000
-> Mount point: '/home'
-> Storage Id: 'Disk4'
-> Storage Type: 'single_SSD'
-> Content Type: 'txt_unix'
+> Full path: '/home/tmp/data.txt'
+> Size: 300000
+> Mount point: '/home'
+> Storage Id: 'Disk4'
+> Storage Type: 'single_SSD'
+> Content Type: 'txt_unix'
> [ 0.007917] (1:(null)@denise) *** Renaming '/tmp/data.txt' into '/tmp/simgrid.readme'
> [ 0.007917] (1:(null)@denise) *** Get/set data for storage element: Disk4 ***
> [ 0.007917] (1:(null)@denise) Get data: '(null)'
> [ 0.007917] (1:(null)@denise) /include/surf/simgrid_dtd.h size: 23583 bytes
> [ 0.007917] (1:(null)@denise) /bin/smpicc size: 918 bytes
> [ 0.007917] (0:@) Simulated time: 0.00791667
-
s_mount_t mnt;
unsigned int cursor;
size_t pos = 0;
- char *path, *mount_name;
+ char *path, *mount_name, *file_mount_name;
+
XBT_DEBUG("Search for storage name for '%s' on '%s'", fullpath, getName());
xbt_dynar_foreach(p_storage,cursor,mnt)
{
XBT_DEBUG("See '%s'",mnt.name);
- char *file_mount_name = NULL;
- file_mount_name = xbt_new(char,strlen(mnt.name)+1);
+
+ file_mount_name = (char *) xbt_malloc ((strlen(mnt.name)+1) * sizeof (char));
strncpy(file_mount_name,fullpath,strlen(mnt.name));
file_mount_name[strlen(mnt.name)] = '\0';
if(!strcmp(file_mount_name,mnt.name) && strlen(mnt.name)>pos)
{/* The current mount name is found in the full path and is bigger than the previous*/
- pos = strlen(mnt.name);
- mount_name = mnt.name;
- st = static_cast<StoragePtr>(mnt.storage);
+ pos = strlen(mnt.name);
+ mount_name = mnt.name;
+ st = static_cast<StoragePtr>(mnt.storage);
}
- xbt_free(file_mount_name);
}
if(pos>0)
{ /* Mount point found, deduce path + file name from full path (full path = mount name + path + file name)*/
- path = xbt_new(char, strlen(fullpath)-strlen(mount_name));
- strncpy(path, fullpath+pos, strlen(fullpath)-strlen(mount_name)+1);
+ path = (char *) xbt_malloc ((strlen(fullpath)-strlen(mount_name)+1) * sizeof (char));
+ strncpy(path, fullpath+pos, strlen(fullpath)-strlen(mount_name));
+ path[strlen(fullpath)-strlen(mount_name)] = '\0';
}
else
xbt_die("Can't find mount point for '%s' on '%s'", fullpath, getName());
+ free(file_mount_name);
return st->open(mount_name, path);
}
-$ msg/storage/storage_basic --cfg=path:${srcdir:=.} ${srcdir:=.}/msg/storage/platform.xml ${srcdir:=.}/msg/storage/deployment.xml "--log=root.fmt:> > [%10.6r]%e(%i:%P@%h)%e%m%n"
-> [server:server:(1) 0.000000] > [storage/INFO] *** Storage info on server ***
-> [server:server:(1) 0.000000] > [storage/INFO] Storage name: sdisk1, mount name: /sd1
-> [server:server:(1) 0.000000] > [storage/INFO] Free size: 322122547160 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] Used size: 40 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] Properties of mounted storage: sdisk1
-> [server:server:(1) 0.000000] > [storage/INFO] 'usage' -> 'File system'
-> [server:server:(1) 0.000000] > [storage/INFO] *** Dump a storage element ***
-> [server:server:(1) 0.000000] > [storage/INFO] Print the content of the storage element: sdisk1
-> [server:server:(1) 0.000000] > [storage/INFO] /doc/simgrid/examples/cxx/autoDestination/Master.cxx size: 10 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] /doc/simgrid/examples/cxx/basic/FinalizeTask.cxx size: 10 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] /doc/simgrid/examples/cxx/autoDestination/Forwarder.cxx size: 10 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] /doc/simgrid/examples/cxx/autoDestination/autoDestination_platform.xml size: 10 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] Storage name: sdisk2, mount name: /sd2
-> [server:server:(1) 0.000000] > [storage/INFO] Free size: 805306367980 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] Used size: 20 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] Properties of mounted storage: sdisk2
-> [server:server:(1) 0.000000] > [storage/INFO] 'usage' -> 'Cache'
-> [server:server:(1) 0.000000] > [storage/INFO] *** Dump a storage element ***
-> [server:server:(1) 0.000000] > [storage/INFO] Print the content of the storage element: sdisk2
-> [server:server:(1) 0.000000] > [storage/INFO] /doc/simgrid/examples/cxx/basic/Main.cxx size: 10 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] /doc/simgrid/examples/cxx/basic/Slave.cxx size: 10 bytes
-> [server:server:(1) 0.000000] > [storage/INFO] Server waiting for transfers ...
-> [client:client:(2) 0.005000] > [storage/INFO] client has read 500001 on /sd1/doc/simgrid/examples/cxx/autoDestination/FinalizeTask.cxx
-> [client:client:(2) 0.005000] > [storage/INFO] client sends 500001 to server
-> [server:server:(1) 0.026647] > [storage/INFO] 500001 bytes on 500001 bytes have been written by server on /sd1
-> [client:client:(2) 0.417980] > [storage/INFO] client has read 800000 on /sd1/doc/simgrid/examples/cxx/autoDestination/autoDestination_deployment.xml
-> [client:client:(2) 0.417980] > [storage/INFO] client sends 800000 to server
-> [server:server:(1) 0.452225] > [storage/INFO] 800000 bytes on 800000 bytes have been written by server on /sd1
-> [client:client:(2) 1.283559] > [storage/INFO] client has read 45800000 on /sd1/doc/simgrid/examples/cxx/autoDestination/Slave.cxx
-> [client:client:(2) 1.283559] > [storage/INFO] client sends 45800000 to server
-> [server:server:(1) 3.207494] > [storage/INFO] 45800000 bytes on 45800000 bytes have been written by server on /sd1
-> [client:client:(2) 3.208145] > [storage/INFO] *** GET/SET DATA for storage element: cdisk ***
-> [client:client:(2) 3.208145] > [storage/INFO] Get data: '(null)'
-> [client:client:(2) 3.208145] > [storage/INFO] Set and get data: 'Some data'
-> [server:server:(1) 3.208145] > [storage/INFO] *** Storage info on server ***
-> [server:server:(1) 3.208145] > [storage/INFO] Storage name: sdisk1, mount name: /sd1
-> [server:server:(1) 3.208145] > [storage/INFO] Free size: 322122547160 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] Used size: 40 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] Properties of mounted storage: sdisk1
-> [server:server:(1) 3.208145] > [storage/INFO] 'usage' -> 'File system'
-> [server:server:(1) 3.208145] > [storage/INFO] *** Dump a storage element ***
-> [server:server:(1) 3.208145] > [storage/INFO] Print the content of the storage element: sdisk1
-> [server:server:(1) 3.208145] > [storage/INFO] /doc/simgrid/examples/cxx/autoDestination/Master.cxx size: 10 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /doc/simgrid/examples/cxx/basic/FinalizeTask.cxx size: 10 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /doc/simgrid/examples/cxx/autoDestination/Forwarder.cxx size: 10 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /doc/simgrid/examples/cxx/autoDestination/autoDestination_platform.xml size: 10 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] Storage name: sdisk2, mount name: /sd2
-> [server:server:(1) 3.208145] > [storage/INFO] Free size: 805259267979 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] Used size: 47100021 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] Properties of mounted storage: sdisk2
-> [server:server:(1) 3.208145] > [storage/INFO] 'usage' -> 'Cache'
-> [server:server:(1) 3.208145] > [storage/INFO] *** Dump a storage element ***
-> [server:server:(1) 3.208145] > [storage/INFO] Print the content of the storage element: sdisk2
-> [server:server:(1) 3.208145] > [storage/INFO] /scratch/titi.xml size: 800000 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /scratch/tata.cxx size: 45800000 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /doc/simgrid/examples/cxx/basic/Main.cxx size: 10 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /scratch/toto.cxx size: 500001 bytes
-> [server:server:(1) 3.208145] > [storage/INFO] /doc/simgrid/examples/cxx/basic/Slave.cxx size: 10 bytes
-> [3.208145] > [storage/INFO] Simulated time: 3.20814
+$ msg/storage/storage_basic ${srcdir:=.}/msg/storage/platform.xml ${srcdir:=.}/msg/storage/deployment.xml 0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [ 0.000000] (1:server@server) *** Storage info on server ***
+> [ 0.000000] (1:server@server) Storage name: sdisk1, mount name: /sd1
+> [ 0.000000] (1:server@server) Free size: 322122547160 bytes
+> [ 0.000000] (1:server@server) Used size: 40 bytes
+> [ 0.000000] (1:server@server) Properties of mounted storage: sdisk1
+> [ 0.000000] (1:server@server) 'usage' -> 'File system'
+> [ 0.000000] (1:server@server) *** Dump a storage element ***
+> [ 0.000000] (1:server@server) Print the content of the storage element: sdisk1
+> [ 0.000000] (1:server@server) /doc/simgrid/examples/cxx/autoDestination/Master.cxx size: 10 bytes
+> [ 0.000000] (1:server@server) /doc/simgrid/examples/cxx/basic/FinalizeTask.cxx size: 10 bytes
+> [ 0.000000] (1:server@server) /doc/simgrid/examples/cxx/autoDestination/Forwarder.cxx size: 10 bytes
+> [ 0.000000] (1:server@server) /doc/simgrid/examples/cxx/autoDestination/autoDestination_platform.xml size: 10 bytes
+> [ 0.000000] (1:server@server) Storage name: sdisk2, mount name: /sd2
+> [ 0.000000] (1:server@server) Free size: 805306367980 bytes
+> [ 0.000000] (1:server@server) Used size: 20 bytes
+> [ 0.000000] (1:server@server) Properties of mounted storage: sdisk2
+> [ 0.000000] (1:server@server) 'usage' -> 'Cache'
+> [ 0.000000] (1:server@server) *** Dump a storage element ***
+> [ 0.000000] (1:server@server) Print the content of the storage element: sdisk2
+> [ 0.000000] (1:server@server) /doc/simgrid/examples/cxx/basic/Main.cxx size: 10 bytes
+> [ 0.000000] (1:server@server) /doc/simgrid/examples/cxx/basic/Slave.cxx size: 10 bytes
+> [ 0.000000] (1:server@server) Server waiting for transfers ...
+> [ 0.005000] (2:client@client) client has read 500001 on /sd1/doc/simgrid/examples/cxx/autoDestination/FinalizeTask.cxx
+> [ 0.005000] (2:client@client) client sends 500001 to server
+> [ 0.026647] (1:server@server) 500001 bytes on 500001 bytes have been written by server on /sd1
+> [ 0.417980] (2:client@client) client has read 800000 on /sd1/doc/simgrid/examples/cxx/autoDestination/autoDestination_deployment.xml
+> [ 0.417980] (2:client@client) client sends 800000 to server
+> [ 0.452225] (1:server@server) 800000 bytes on 800000 bytes have been written by server on /sd1
+> [ 1.283559] (2:client@client) client has read 45800000 on /sd1/doc/simgrid/examples/cxx/autoDestination/Slave.cxx
+> [ 1.283559] (2:client@client) client sends 45800000 to server
+> [ 3.207494] (1:server@server) 45800000 bytes on 45800000 bytes have been written by server on /sd1
+> [ 3.208145] (2:client@client) *** GET/SET DATA for storage element: cdisk ***
+> [ 3.208145] (2:client@client) Get data: '(null)'
+> [ 3.208145] (2:client@client) Set and get data: 'Some data'
+> [ 3.208145] (1:server@server) *** Storage info on server ***
+> [ 3.208145] (1:server@server) Storage name: sdisk1, mount name: /sd1
+> [ 3.208145] (1:server@server) Free size: 322122547160 bytes
+> [ 3.208145] (1:server@server) Used size: 40 bytes
+> [ 3.208145] (1:server@server) Properties of mounted storage: sdisk1
+> [ 3.208145] (1:server@server) 'usage' -> 'File system'
+> [ 3.208145] (1:server@server) *** Dump a storage element ***
+> [ 3.208145] (1:server@server) Print the content of the storage element: sdisk1
+> [ 3.208145] (1:server@server) /doc/simgrid/examples/cxx/autoDestination/Master.cxx size: 10 bytes
+> [ 3.208145] (1:server@server) /doc/simgrid/examples/cxx/basic/FinalizeTask.cxx size: 10 bytes
+> [ 3.208145] (1:server@server) /doc/simgrid/examples/cxx/autoDestination/Forwarder.cxx size: 10 bytes
+> [ 3.208145] (1:server@server) /doc/simgrid/examples/cxx/autoDestination/autoDestination_platform.xml size: 10 bytes
+> [ 3.208145] (1:server@server) Storage name: sdisk2, mount name: /sd2
+> [ 3.208145] (1:server@server) Free size: 805259267979 bytes
+> [ 3.208145] (1:server@server) Used size: 47100021 bytes
+> [ 3.208145] (1:server@server) Properties of mounted storage: sdisk2
+> [ 3.208145] (1:server@server) 'usage' -> 'Cache'
+> [ 3.208145] (1:server@server) *** Dump a storage element ***
+> [ 3.208145] (1:server@server) Print the content of the storage element: sdisk2
+> [ 3.208145] (1:server@server) /scratch/titi.xml size: 800000 bytes
+> [ 3.208145] (1:server@server) /scratch/tata.cxx size: 45800000 bytes
+> [ 3.208145] (1:server@server) /doc/simgrid/examples/cxx/basic/Main.cxx size: 10 bytes
+> [ 3.208145] (1:server@server) /scratch/toto.cxx size: 500001 bytes
+> [ 3.208145] (1:server@server) /doc/simgrid/examples/cxx/basic/Slave.cxx size: 10 bytes
+> [ 3.208145] (0:@) Simulated time: 3.20814
+