git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Illumos #3085: zfs diff panics, then panics in a loop on booting
[zfs.git]
/
module
/
zfs
/
zfs_vfsops.c
diff --git
a/module/zfs/zfs_vfsops.c
b/module/zfs/zfs_vfsops.c
index
8f1c713
..
1efe6a8
100644
(file)
--- a/
module/zfs/zfs_vfsops.c
+++ b/
module/zfs/zfs_vfsops.c
@@
-584,7
+584,7
@@
zfs_sb_create(const char *osname, zfs_sb_t **zsbp)
int i, error;
uint64_t sa_obj;
int i, error;
uint64_t sa_obj;
- zsb = kmem_zalloc(sizeof (zfs_sb_t), KM_SLEEP);
+ zsb = kmem_zalloc(sizeof (zfs_sb_t), KM_SLEEP
| KM_NODEBUG
);
/*
* We claim to always be readonly so we can open snapshots;
/*
* We claim to always be readonly so we can open snapshots;
@@
-1200,7
+1200,7
@@
zfs_domount(struct super_block *sb, void *data, int silent)
}
/* Allocate a root dentry for the filesystem */
}
/* Allocate a root dentry for the filesystem */
- sb->s_root = d_
alloc
_root(root_inode);
+ sb->s_root = d_
make
_root(root_inode);
if (sb->s_root == NULL) {
(void) zfs_umount(sb);
error = ENOMEM;
if (sb->s_root == NULL) {
(void) zfs_umount(sb);
error = ENOMEM;
@@
-1231,7
+1231,7
@@
zfs_preumount(struct super_block *sb)
{
zfs_sb_t *zsb = sb->s_fs_info;
{
zfs_sb_t *zsb = sb->s_fs_info;
- if (zsb->z_ctldir != NULL)
+ if (zsb
!= NULL && zsb
->z_ctldir != NULL)
zfsctl_destroy(zsb);
}
EXPORT_SYMBOL(zfs_preumount);
zfsctl_destroy(zsb);
}
EXPORT_SYMBOL(zfs_preumount);