Andrew,

This patch makes fuse_fill_super() return correct error value in case
of OOM.

Please apply.

Thanks,
Miklos

Signed-off-by: Miklos Szeredi <[EMAIL PROTECTED]>

diff -rup linux-2.6.11-rc2-mm1/fs/fuse/inode.c linux-fuse/fs/fuse/inode.c
--- linux-2.6.11-rc2-mm1/fs/fuse/inode.c        2005-01-26 18:30:47.000000000 
+0100
+++ linux-fuse/fs/fuse/inode.c  2005-01-26 18:18:58.000000000 +0100
@@ -407,14 +407,14 @@ static struct fuse_conn *get_conn(struct
        struct fuse_conn *fc;
 
        if (file->f_op != &fuse_dev_operations)
-               return NULL;
+               return ERR_PTR(-EINVAL);
        fc = new_conn();
        if (fc == NULL)
-               return NULL;
+               return ERR_PTR(-ENOMEM);
        spin_lock(&fuse_lock);
        if (file->private_data) {
                free_conn(fc);
-               fc = NULL;
+               fc = ERR_PTR(-EINVAL);
        } else {
                file->private_data = fc;
                fc->sb = sb;
@@ -525,8 +525,8 @@ static int fuse_fill_super(struct super_
 
        fc = get_conn(file, sb);
        fput(file);
-       if (fc == NULL)
-               return -EINVAL;
+       if (IS_ERR(fc))
+               return PTR_ERR(fc);
 
        fc->flags = d.flags;
        fc->user_id = d.user_id;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to