diff options
| author | Ingo Molnar <mingo@elte.hu> | 2010-08-12 15:38:56 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2010-08-12 15:39:04 -0400 |
| commit | f46a6804135795f77d096ab0128f27531c7d051c (patch) | |
| tree | 7cd33f69e3661327739ae4c96e5a8389e7fc912e /fs/nfs/delegation.c | |
| parent | b3e84ffa21f916e3354a12a7f19169c9febe96d0 (diff) | |
| parent | ad41a1e0cab07c5125456e8d38e5b1ab148d04aa (diff) | |
Merge branch 'linus' into perf/urgent
Merge reason: Fix upstream breakage introduced by:
de5d9bf: Move list types from <linux/list.h> to <linux/types.h>.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/nfs/delegation.c')
| -rw-r--r-- | fs/nfs/delegation.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index 301634543974..b9c3c43cea1d 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c | |||
| @@ -268,14 +268,6 @@ out: | |||
| 268 | return status; | 268 | return status; |
| 269 | } | 269 | } |
| 270 | 270 | ||
| 271 | /* Sync all data to disk upon delegation return */ | ||
| 272 | static void nfs_msync_inode(struct inode *inode) | ||
| 273 | { | ||
| 274 | filemap_fdatawrite(inode->i_mapping); | ||
| 275 | nfs_wb_all(inode); | ||
| 276 | filemap_fdatawait(inode->i_mapping); | ||
| 277 | } | ||
| 278 | |||
| 279 | /* | 271 | /* |
| 280 | * Basic procedure for returning a delegation to the server | 272 | * Basic procedure for returning a delegation to the server |
| 281 | */ | 273 | */ |
| @@ -367,7 +359,7 @@ int nfs_inode_return_delegation(struct inode *inode) | |||
| 367 | delegation = nfs_detach_delegation_locked(nfsi, NULL, clp); | 359 | delegation = nfs_detach_delegation_locked(nfsi, NULL, clp); |
| 368 | spin_unlock(&clp->cl_lock); | 360 | spin_unlock(&clp->cl_lock); |
| 369 | if (delegation != NULL) { | 361 | if (delegation != NULL) { |
| 370 | nfs_msync_inode(inode); | 362 | nfs_wb_all(inode); |
| 371 | err = __nfs_inode_return_delegation(inode, delegation, 1); | 363 | err = __nfs_inode_return_delegation(inode, delegation, 1); |
| 372 | } | 364 | } |
| 373 | } | 365 | } |
| @@ -471,9 +463,7 @@ void nfs_expire_unreferenced_delegations(struct nfs_client *clp) | |||
| 471 | /* | 463 | /* |
| 472 | * Asynchronous delegation recall! | 464 | * Asynchronous delegation recall! |
| 473 | */ | 465 | */ |
| 474 | int nfs_async_inode_return_delegation(struct inode *inode, const nfs4_stateid *stateid, | 466 | int nfs_async_inode_return_delegation(struct inode *inode, const nfs4_stateid *stateid) |
| 475 | int (*validate_stateid)(struct nfs_delegation *delegation, | ||
| 476 | const nfs4_stateid *stateid)) | ||
| 477 | { | 467 | { |
| 478 | struct nfs_client *clp = NFS_SERVER(inode)->nfs_client; | 468 | struct nfs_client *clp = NFS_SERVER(inode)->nfs_client; |
| 479 | struct nfs_delegation *delegation; | 469 | struct nfs_delegation *delegation; |
| @@ -481,7 +471,7 @@ int nfs_async_inode_return_delegation(struct inode *inode, const nfs4_stateid *s | |||
| 481 | rcu_read_lock(); | 471 | rcu_read_lock(); |
| 482 | delegation = rcu_dereference(NFS_I(inode)->delegation); | 472 | delegation = rcu_dereference(NFS_I(inode)->delegation); |
| 483 | 473 | ||
| 484 | if (!validate_stateid(delegation, stateid)) { | 474 | if (!clp->cl_mvops->validate_stateid(delegation, stateid)) { |
| 485 | rcu_read_unlock(); | 475 | rcu_read_unlock(); |
| 486 | return -ENOENT; | 476 | return -ENOENT; |
| 487 | } | 477 | } |
