diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-06-17 13:20:30 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-06-17 13:20:30 +0000 |
commit | 7acb77a6e7bddd4c4c5aa975bbf976927c013798 (patch) | |
tree | 4139829ec6edb85f73774bb95cdec376758bfc73 /fs/dquot.c | |
parent | 64d58d4c8cd6a89ee218301ec0dc0ebfec91a4db (diff) |
Merge with 2.1.43.
Diffstat (limited to 'fs/dquot.c')
-rw-r--r-- | fs/dquot.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/dquot.c b/fs/dquot.c index dda3f642a..59d2112d9 100644 --- a/fs/dquot.c +++ b/fs/dquot.c @@ -237,9 +237,12 @@ static void write_dquot(struct dquot *dquot) filp->f_pos = dqoff(dquot->dq_id); fs = get_fs(); set_fs(KERNEL_DS); + if (filp->f_op->write(filp->f_inode, filp, (char *)&dquot->dq_dqb, sizeof(struct dqblk)) == sizeof(struct dqblk)) dquot->dq_flags &= ~DQ_MOD; + /* inode->i_status |= ST_MODIFIED is willingly *not* done here */ + up(&dquot->dq_mnt->mnt_sem); set_fs(fs); unlock_dquot(dquot); @@ -1035,7 +1038,8 @@ asmlinkage int sys_quotactl(int cmd, const char *special, int id, caddr_t addr) if (special == (char *)NULL && (cmds == Q_SYNC || cmds == Q_GETSTATS)) dev = 0; else { - if (namei(special, &ino)) + int error = namei(NAM_FOLLOW_LINK, special, &ino); + if(error) goto out; dev = ino->i_rdev; ret = -ENOTBLK; |