2005-10-30 05:55:58

by Hareesh Nagarajan

[permalink] [raw]
Subject: register_filesystem(): Why does it return -EBUSY?

If we have a look at the register_filesystem() function defined in
fs/filesystems.c, we see that if a filesystem with a same name has
already been registered then find_filesystem will return NON-NULL
otherwise it will return NULL. So shouldn't 'res' be set to -EEXIST
instead of -EBUSY? What is the reasoning behind register_filesystem
returning -EBUSY for this particular condition?

int register_filesystem(struct file_system_type * fs) { ...
struct file_system_type ** p;
...
p = find_filesystem(fs->name);
if (*p)
res = -EBUSY; <-- Shouldn't this be -EEXIST?
else
*p = fs;
...
return res;
}

Thanks,

Hareesh Nagarajan