Merge branch 'for-2.6.33' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.33' of git://linux-nfs.org/~bfields/linux: sunrpc: fix peername failed on closed listener nfsd: make sure data is on disk before calling ->fsync nfsd: fix "insecure" export option
This commit is contained in:
commit
93939f4e5d
|
@ -780,12 +780,9 @@ static inline int nfsd_dosync(struct file *filp, struct dentry *dp,
|
||||||
int (*fsync) (struct file *, struct dentry *, int);
|
int (*fsync) (struct file *, struct dentry *, int);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = filemap_fdatawrite(inode->i_mapping);
|
err = filemap_write_and_wait(inode->i_mapping);
|
||||||
if (err == 0 && fop && (fsync = fop->fsync))
|
if (err == 0 && fop && (fsync = fop->fsync))
|
||||||
err = fsync(filp, dp, 0);
|
err = fsync(filp, dp, 0);
|
||||||
if (err == 0)
|
|
||||||
err = filemap_fdatawait(inode->i_mapping);
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -699,7 +699,8 @@ int svc_recv(struct svc_rqst *rqstp, long timeout)
|
||||||
spin_unlock_bh(&pool->sp_lock);
|
spin_unlock_bh(&pool->sp_lock);
|
||||||
|
|
||||||
len = 0;
|
len = 0;
|
||||||
if (test_bit(XPT_LISTENER, &xprt->xpt_flags)) {
|
if (test_bit(XPT_LISTENER, &xprt->xpt_flags) &&
|
||||||
|
!test_bit(XPT_CLOSE, &xprt->xpt_flags)) {
|
||||||
struct svc_xprt *newxpt;
|
struct svc_xprt *newxpt;
|
||||||
newxpt = xprt->xpt_ops->xpo_accept(xprt);
|
newxpt = xprt->xpt_ops->xpo_accept(xprt);
|
||||||
if (newxpt) {
|
if (newxpt) {
|
||||||
|
|
Loading…
Reference in New Issue