diff options
author | Gunnar Beutner <[email protected]> | 2011-10-11 09:50:52 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-10-11 09:51:51 -0700 |
commit | 763b2f3b57af1febb0fd72c4976992e672a350b4 (patch) | |
tree | 6b200156baaffd6213e47ea2642ea74fc2939495 /include | |
parent | 4a777c028c7e52ccfc1fb721448c84e10b9ee0f8 (diff) |
Fixed invalid resource re-use in file_find()
File descriptors are a per-process resource. The same descriptor
in different processes can refer to different files. find_file()
incorrectly assumed that file descriptors are globally unique.
Signed-off-by: Brian Behlendorf <[email protected]>
Closes ZFS issue #386
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/vnode.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/vnode.h b/include/sys/vnode.h index 7d655e5ef..36605ca4a 100644 --- a/include/sys/vnode.h +++ b/include/sys/vnode.h @@ -158,6 +158,7 @@ typedef struct vnode { typedef struct vn_file { int f_fd; /* linux fd for lookup */ + struct task_struct *f_task; /* linux task this fd belongs to */ struct file *f_file; /* linux file struct */ atomic_t f_ref; /* ref count */ kmutex_t f_lock; /* struct lock */ |