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 <behlendorf1@llnl.gov>
Closes ZFS issue #386
This commit is contained in:
Gunnar Beutner
2011-10-11 09:50:52 -07:00
committed by Brian Behlendorf
parent 4a777c028c
commit 763b2f3b57
2 changed files with 3 additions and 1 deletions
+1
View File
@@ -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 */