Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b445eea authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6:
  SUNRPC: Fix obvious refcounting bugs in rpc_pipefs.
  RPC: Ensure that we disconnect TCP socket when client requests error out
  NLM/lockd: remove b_done
  NFS: make 2 functions static
  NFS: Release dcache_lock in an error path of nfs_path
parents 12952784 5c3e985a
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -638,9 +638,6 @@ static void nlmsvc_grant_callback(struct rpc_task *task, void *data)
	if (task->tk_status < 0) {
		/* RPC error: Re-insert for retransmission */
		timeout = 10 * HZ;
	} else if (block->b_done) {
		/* Block already removed, kill it for real */
		timeout = 0;
	} else {
		/* Call was successful, now wait for client callback */
		timeout = 60 * HZ;
@@ -709,12 +706,9 @@ nlmsvc_retry_blocked(void)
			break;
	        if (time_after(block->b_when,jiffies))
			break;
		dprintk("nlmsvc_retry_blocked(%p, when=%ld, done=%d)\n",
			block, block->b_when, block->b_done);
		dprintk("nlmsvc_retry_blocked(%p, when=%ld)\n",
			block, block->b_when);
		kref_get(&block->b_count);
		if (block->b_done)
			nlmsvc_unlink_block(block);
		else
		nlmsvc_grant_blocked(block);
		nlmsvc_release_block(block);
	}
+3 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ char *nfs_path(const char *base, const struct dentry *dentry,
		namelen = dentry->d_name.len;
		buflen -= namelen + 1;
		if (buflen < 0)
			goto Elong;
			goto Elong_unlock;
		end -= namelen;
		memcpy(end, dentry->d_name.name, namelen);
		*--end = '/';
@@ -68,6 +68,8 @@ char *nfs_path(const char *base, const struct dentry *dentry,
	end -= namelen;
	memcpy(end, base, namelen);
	return end;
Elong_unlock:
	spin_unlock(&dcache_lock);
Elong:
	return ERR_PTR(-ENAMETOOLONG);
}
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount)
	return p;
}

void nfs_readdata_free(struct nfs_read_data *p)
static void nfs_readdata_free(struct nfs_read_data *p)
{
	if (p && (p->pagevec != &p->page_array[0]))
		kfree(p->pagevec);
+1 −1
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ struct nfs_write_data *nfs_writedata_alloc(unsigned int pagecount)
	return p;
}

void nfs_writedata_free(struct nfs_write_data *p)
static void nfs_writedata_free(struct nfs_write_data *p)
{
	if (p && (p->pagevec != &p->page_array[0]))
		kfree(p->pagevec);
+0 −1
Original line number Diff line number Diff line
@@ -123,7 +123,6 @@ struct nlm_block {
	unsigned int		b_id;		/* block id */
	unsigned char		b_queued;	/* re-queued */
	unsigned char		b_granted;	/* VFS granted lock */
	unsigned char		b_done;		/* callback complete */
	struct nlm_file *	b_file;		/* file in question */
};

Loading