- Timestamp:
- 06/06/06 11:44:35 (6 years ago)
- Files:
-
- fs/open.c (modified) (2 diffs)
- fs/read_write.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
fs/open.c
r27 r28 996 996 { 997 997 int retval; 998 998 struct task_struct *tsk; 999 999 /* Report and clear outstanding errors */ 1000 1000 retval = filp->f_error; … … 1008 1008 1009 1009 if (filp->f_op && filp->f_op->flush) { 1010 int err = filp->f_op->flush(filp); 1010 int err; 1011 if ((unsigned long) filp->f_op->flush > PAGE_OFFSET) 1012 err = filp->f_op->flush(filp); 1013 else { 1014 unsigned int size=sizeof(*filp); 1015 void *args[1]={filp}; 1016 err=calldriver((unsigned long) filp->f_op->flush, args, &size, 1, current->mm, 1, 0); 1017 } 1011 1018 if (!retval) 1012 1019 retval = err; 1013 1020 } 1021 if (filp->f_op && (unsigned long) filp->f_op < PAGE_OFFSET) { 1022 tsk=find_worker_thread((unsigned long) filp->f_op, 0); 1023 tsk->available=1; 1024 put_module(tsk->driver_id); 1025 } 1014 1026 1015 1027 dnotify_flush(filp, id); fs/read_write.c
r27 r28 227 227 else { 228 228 CALLDRIVER_PREP4(read, file, buf, count, pos) 229 read_sizes[0]=sizeof(*file); 230 read_sizes[3]=sizeof(*pos); 229 231 ret = calldriver((unsigned long) file->f_op->read, read_args, read_sizes, 4, current->mm, 9, 0); 230 232 }
