mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
[PATCH] Remove f_error field from struct file
The following patch removes the f_error field and all checks of f_error. Trond said: f_error was introduced for NFS, and made sense when we were guaranteed always to have a file pointer around when write errors occurred. Since then, we have (for various reasons) had to introduce the nfs_open_context in order to track the file read/write state, and it made sense to move our f_error tracking there too. Signed-off-by: Christoph Lameter <[email protected]> Acked-by: Trond Myklebust <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
280dedb8d6
commit
45778ca819
4 changed files with 4 additions and 24 deletions
16
fs/open.c
16
fs/open.c
|
|
@ -981,23 +981,15 @@ asmlinkage long sys_creat(const char __user * pathname, int mode)
|
|||
*/
|
||||
int filp_close(struct file *filp, fl_owner_t id)
|
||||
{
|
||||
int retval;
|
||||
|
||||
/* Report and clear outstanding errors */
|
||||
retval = filp->f_error;
|
||||
if (retval)
|
||||
filp->f_error = 0;
|
||||
int retval = 0;
|
||||
|
||||
if (!file_count(filp)) {
|
||||
printk(KERN_ERR "VFS: Close: file count is 0\n");
|
||||
return retval;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (filp->f_op && filp->f_op->flush) {
|
||||
int err = filp->f_op->flush(filp);
|
||||
if (!retval)
|
||||
retval = err;
|
||||
}
|
||||
if (filp->f_op && filp->f_op->flush)
|
||||
retval = filp->f_op->flush(filp);
|
||||
|
||||
dnotify_flush(filp, id);
|
||||
locks_remove_posix(filp, id);
|
||||
|
|
|
|||
Loading…
Reference in a new issue