diff options
Diffstat (limited to 'fs/nfsd/vfs.c')
-rw-r--r-- | fs/nfsd/vfs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 8790571b30fd..ab93fcfef254 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -356,7 +356,7 @@ nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, struct iattr *iap, | |||
356 | put_write_access(inode); | 356 | put_write_access(inode); |
357 | goto out_nfserr; | 357 | goto out_nfserr; |
358 | } | 358 | } |
359 | DQUOT_INIT(inode); | 359 | vfs_dq_init(inode); |
360 | } | 360 | } |
361 | 361 | ||
362 | /* sanitize the mode change */ | 362 | /* sanitize the mode change */ |
@@ -724,7 +724,7 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, | |||
724 | else | 724 | else |
725 | flags = O_WRONLY|O_LARGEFILE; | 725 | flags = O_WRONLY|O_LARGEFILE; |
726 | 726 | ||
727 | DQUOT_INIT(inode); | 727 | vfs_dq_init(inode); |
728 | } | 728 | } |
729 | *filp = dentry_open(dget(dentry), mntget(fhp->fh_export->ex_path.mnt), | 729 | *filp = dentry_open(dget(dentry), mntget(fhp->fh_export->ex_path.mnt), |
730 | flags, cred); | 730 | flags, cred); |
@@ -999,8 +999,11 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, | |||
999 | 999 | ||
1000 | if (!EX_ISSYNC(exp)) | 1000 | if (!EX_ISSYNC(exp)) |
1001 | stable = 0; | 1001 | stable = 0; |
1002 | if (stable && !EX_WGATHER(exp)) | 1002 | if (stable && !EX_WGATHER(exp)) { |
1003 | spin_lock(&file->f_lock); | ||
1003 | file->f_flags |= O_SYNC; | 1004 | file->f_flags |= O_SYNC; |
1005 | spin_unlock(&file->f_lock); | ||
1006 | } | ||
1004 | 1007 | ||
1005 | /* Write the data. */ | 1008 | /* Write the data. */ |
1006 | oldfs = get_fs(); set_fs(KERNEL_DS); | 1009 | oldfs = get_fs(); set_fs(KERNEL_DS); |