Re: [PATCH] register_filesystem() must return -EEXIST if the filesystemwith the same name is already registered

From: Hareesh Nagarajan
Date: Wed Nov 02 2005 - 12:38:32 EST


Coywolf Qi Hunt wrote:
On Wed, Nov 02, 2005 at 02:42:12AM -0600, Hareesh Nagarajan wrote:
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 the find_filesystem() function will return NON-NULL otherwise it will return NULL.

Hence, register_filesystem() should return EEXIST instead of EBUSY. Returning EBUSY is misleading (unless of course I'm missing something obvious) to the caller of register_filesystem().

This `slot' is buy, so EBUSY makes sense. Filesytem is not file, hence
EEXIST doesn't apply IMHO.

Earlier this week, my calls to register_filesystem(struct file_system_type * fs) were failing returning an -EBUSY. Now I didn't know if it was failing because of:
if (fs->next) return -EBUSY;
Or:
p = find_filesystem(fs->name);
if (*p) res = -EBUSY;
...
return res;

It is for this reason I thought it would make sense to differentiate between the two points of failure.

Hareesh Nagarajan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/