summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorGunnar Beutner <[email protected]>2011-04-17 19:42:33 +0200
committerBrian Behlendorf <[email protected]>2011-04-19 13:57:41 -0700
commit274b7e79f3baece5ab28331e73629f6e81fdb5ca (patch)
tree710e6dc9c5cdadb1f89b42c05d66e6ebcd6ae80b /module
parent826ab7ad1931eb8351af1f4f4b7a65f8b0c45839 (diff)
Added missing initialization for va.va_dentry in zfs_get_xattrdir.
Without this we may mistakenly believe we have a dentry and try to d_instantiate() it. This will result in the following BUG. It's important to note that while the xattr directory has an inode assoicated with it we never create a dentry for it. kernel BUG at fs/dcache.c:1418! Signed-off-by: Brian Behlendorf <[email protected]> Closes #202
Diffstat (limited to 'module')
-rw-r--r--module/zfs/zfs_dir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/module/zfs/zfs_dir.c b/module/zfs/zfs_dir.c
index 355b0ef0a..199e58cf7 100644
--- a/module/zfs/zfs_dir.c
+++ b/module/zfs/zfs_dir.c
@@ -1038,6 +1038,7 @@ top:
va.va_mode = S_IFDIR | S_ISVTX | 0777;
zfs_fuid_map_ids(zp, cr, &va.va_uid, &va.va_gid);
+ va.va_dentry = NULL;
error = zfs_make_xattrdir(zp, &va, xipp, cr);
zfs_dirent_unlock(dl);