diff options
author | Brian Behlendorf <[email protected]> | 2011-11-07 16:25:49 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-11-08 10:18:40 -0800 |
commit | 591fb62f19ee2431983a4cbeb0d200b1b8e7daf5 (patch) | |
tree | f6346760661be87f0747e3799686e7c5f78ad786 | |
parent | ae6ba3dbe618bb7dbc46f2a3fb54c58243835d6b (diff) |
Disown dataset in zfs_sb_create()
Fix an unlikely failure cause in zfs_sb_create() which could
leave the dataset owned on error and thus unavailable until
after a reboot. Disown the dataset if SA are expected but
are in fact missing.
Signed-off-by: Brian Behlendorf <[email protected]>
-rw-r--r-- | module/zfs/zfs_vfsops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/zfs/zfs_vfsops.c b/module/zfs/zfs_vfsops.c index b115dcd66..ed847f130 100644 --- a/module/zfs/zfs_vfsops.c +++ b/module/zfs/zfs_vfsops.c @@ -646,7 +646,7 @@ zfs_sb_create(const char *osname, zfs_sb_t **zsbp) error = zap_lookup(os, MASTER_NODE_OBJ, ZFS_SA_ATTRS, 8, 1, &sa_obj); if (error) - return (error); + goto out; } else { /* * Pre SA versions file systems should never touch |