|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] fs-backend: Fix freelist implementation
fs-backend: Fix freelist implementation
Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
diff -r 064c96848e2f tools/fs-back/fs-backend.c
--- a/tools/fs-back/fs-backend.c Mon Jul 14 16:48:24 2008 +0100
+++ b/tools/fs-back/fs-backend.c Tue Jul 15 17:16:24 2008 +0100
@@ -110,9 +110,9 @@
unsigned short *freelist;
requests = malloc(sizeof(struct fs_request) *nr_entries);
- freelist = malloc(sizeof(unsigned short) * nr_entries);
+ freelist = malloc(sizeof(unsigned short) * (nr_entries + 1));
memset(requests, 0, sizeof(struct fs_request) * nr_entries);
- memset(freelist, 0, sizeof(unsigned short) * nr_entries);
+ memset(freelist, 0, sizeof(unsigned short) * (nr_entries + 1));
for(i=0; i< nr_entries; i++)
{
requests[i].active = 0;
--- a/tools/fs-back/fs-backend.h Mon Jul 14 16:48:24 2008 +0100
+++ b/tools/fs-back/fs-backend.h Tue Jul 15 17:16:24 2008 +0100
@@ -72,14 +72,14 @@
static inline void add_id_to_freelist(unsigned int id,unsigned short* freelist)
{
- freelist[id] = freelist[0];
+ freelist[id + 1] = freelist[0];
freelist[0] = id;
}
static inline unsigned short get_id_from_freelist(unsigned short* freelist)
{
unsigned int id = freelist[0];
- freelist[0] = freelist[id];
+ freelist[0] = freelist[id + 1];
return id;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] fs-backend: Fix freelist implementation,
Samuel Thibault <=
|
|
|
|
|