diff options
author | Gunnar Beutner <[email protected]> | 2011-04-17 19:42:33 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-04-19 13:57:41 -0700 |
commit | 274b7e79f3baece5ab28331e73629f6e81fdb5ca (patch) | |
tree | 710e6dc9c5cdadb1f89b42c05d66e6ebcd6ae80b /module/zfs/zfs_dir.c | |
parent | 826ab7ad1931eb8351af1f4f4b7a65f8b0c45839 (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/zfs/zfs_dir.c')
-rw-r--r-- | module/zfs/zfs_dir.c | 1 |
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); |