-+ sbi->s_dev_proc = proc_mkdir(sb->s_id, proc_root_ext3);
-+ if (sbi->s_dev_proc == NULL) {
-+ printk(KERN_ERR "EXT3-fs: Unable to create %s\n", sb->s_id);
-+ sb->s_fs_info = NULL;
-+ kfree(sbi);
-+ return -ENOMEM;
++ devname = kstrdup(sb->s_id, GFP_KERNEL);
++ if (devname) {
++ char *p = devname;
++ while ((p = strchr(p, '/')))
++ *p = '!';
++ sbi->s_dev_proc = proc_mkdir(devname, proc_root_ext3);
++ if (sbi->s_dev_proc == NULL)
++ printk(KERN_WARNING "EXT3-fs warning: unable to create "
++ "procfs entry for %s(%s)\n",
++ sb->s_id, devname);
++ kfree(devname);
++ } else {
++ printk(KERN_WARNING "EXT3-fs warning: cannot allocate memory "
++ "to create procfs entry for %s\n",
++ sb->s_id);