projects
/
project
/
mountd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mount: rename /proc/mount parser to mount_update_mount_list()
[project/mountd.git]
/
mount.c
diff --git
a/mount.c
b/mount.c
index
db77f10
..
f995745
100644
(file)
--- a/
mount.c
+++ b/
mount.c
@@
-612,7
+612,7
@@
char* is_mounted(char *block, char *path)
return 0;
}
return 0;
}
-static void mount_
check
_mount_list(void)
+static void mount_
update
_mount_list(void)
{
FILE *fp = fopen("/proc/mounts", "r");
char tmp[256];
{
FILE *fp = fopen("/proc/mounts", "r");
char tmp[256];
@@
-626,6
+626,12
@@
static void mount_check_mount_list(void)
while(fgets(tmp, 256, fp) != NULL)
{
char *t, *t2;
while(fgets(tmp, 256, fp) != NULL)
{
char *t, *t2;
+
+ if (mounted_count + 1 > MAX_MOUNTED) {
+ log_printf("found more than %d mounts \n", MAX_MOUNTED);
+ break;
+ }
+
t = strstr(tmp, " ");
if(t)
{
t = strstr(tmp, " ");
if(t)
{
@@
-651,10
+657,8
@@
static void mount_check_mount_list(void)
mounted[mounted_count][0],
mounted[mounted_count][1],
mounted[mounted_count][2]);*/
mounted[mounted_count][0],
mounted[mounted_count][1],
mounted[mounted_count][2]);*/
- if(mounted_count < MAX_MOUNTED - 1)
- mounted_count++;
- else
- log_printf("found more than %d mounts \n", MAX_MOUNTED);
+
+ mounted_count++;
}
fclose(fp);
}
}
fclose(fp);
}
@@
-775,7
+779,7
@@
static void mount_check_enum(void)
void mount_init(void)
{
INIT_LIST_HEAD(&mounts);
void mount_init(void)
{
INIT_LIST_HEAD(&mounts);
- timer_add(mount_
check
_mount_list, 2);
+ timer_add(mount_
update
_mount_list, 2);
timer_add(mount_check_enum, 1);
timer_add(mount_check_enum, 1);
- mount_
check
_mount_list();
+ mount_
update
_mount_list();
}
}