diff options
author | Andy Adamson <andros@netapp.com> | 2010-10-20 00:18:02 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-10-24 18:07:10 -0400 |
commit | 974cec8ca0352eb5d281535b714cf194a606e98f (patch) | |
tree | 0e71706c3091fc785bab0be8edc5de36816685ff /fs/nfs/nfs4state.c | |
parent | e5e940170b2136ad4d5483ef293ae284b9cc8d53 (diff) |
NFS: client needs to maintain list of inodes with active layouts
In particular, server reboot will invalidate all layouts.
Note that in order to have an active layout, we must get a successful response
from the server. To avoid adding that machinery, this patch just includes a
stub that fakes up a successful return. Since the layout is never referenced
for io, this is not a problem.
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Dean Hildebrand <dhildebz@umich.edu>
Signed-off-by: Fred Isaman <iisaman@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index e0dc06d74b6a..9c81f4d66950 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -54,6 +54,7 @@ | |||
54 | #include "callback.h" | 54 | #include "callback.h" |
55 | #include "delegation.h" | 55 | #include "delegation.h" |
56 | #include "internal.h" | 56 | #include "internal.h" |
57 | #include "pnfs.h" | ||
57 | 58 | ||
58 | #define OPENOWNER_POOL_SIZE 8 | 59 | #define OPENOWNER_POOL_SIZE 8 |
59 | 60 | ||
@@ -1475,6 +1476,7 @@ static void nfs4_state_manager(struct nfs_client *clp) | |||
1475 | } | 1476 | } |
1476 | clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state); | 1477 | clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state); |
1477 | set_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state); | 1478 | set_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state); |
1479 | pnfs_destroy_all_layouts(clp); | ||
1478 | } | 1480 | } |
1479 | 1481 | ||
1480 | if (test_and_clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state)) { | 1482 | if (test_and_clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state)) { |