diff options
Diffstat (limited to 'fs/nfs/direct.c')
-rw-r--r-- | fs/nfs/direct.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index 38678d9a5cc4..4b1d08f56aba 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c | |||
@@ -166,8 +166,11 @@ nfs_direct_select_verf(struct nfs_direct_req *dreq, | |||
166 | struct nfs_writeverf *verfp = &dreq->verf; | 166 | struct nfs_writeverf *verfp = &dreq->verf; |
167 | 167 | ||
168 | #ifdef CONFIG_NFS_V4_1 | 168 | #ifdef CONFIG_NFS_V4_1 |
169 | if (ds_clp) { | 169 | /* |
170 | /* pNFS is in use, use the DS verf */ | 170 | * pNFS is in use, use the DS verf except commit_through_mds is set |
171 | * for layout segment where nbuckets is zero. | ||
172 | */ | ||
173 | if (ds_clp && dreq->ds_cinfo.nbuckets > 0) { | ||
171 | if (commit_idx >= 0 && commit_idx < dreq->ds_cinfo.nbuckets) | 174 | if (commit_idx >= 0 && commit_idx < dreq->ds_cinfo.nbuckets) |
172 | verfp = &dreq->ds_cinfo.buckets[commit_idx].direct_verf; | 175 | verfp = &dreq->ds_cinfo.buckets[commit_idx].direct_verf; |
173 | else | 176 | else |