diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/objlayout/objlayout.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfs/objlayout/objlayout.c b/fs/nfs/objlayout/objlayout.c index 72074e3a04f9..b3c29039f5b8 100644 --- a/fs/nfs/objlayout/objlayout.c +++ b/fs/nfs/objlayout/objlayout.c | |||
@@ -254,6 +254,8 @@ objlayout_read_done(struct objlayout_io_res *oir, ssize_t status, bool sync) | |||
254 | oir->status = rdata->task.tk_status = status; | 254 | oir->status = rdata->task.tk_status = status; |
255 | if (status >= 0) | 255 | if (status >= 0) |
256 | rdata->res.count = status; | 256 | rdata->res.count = status; |
257 | else | ||
258 | rdata->pnfs_error = status; | ||
257 | objlayout_iodone(oir); | 259 | objlayout_iodone(oir); |
258 | /* must not use oir after this point */ | 260 | /* must not use oir after this point */ |
259 | 261 | ||
@@ -334,6 +336,8 @@ objlayout_write_done(struct objlayout_io_res *oir, ssize_t status, bool sync) | |||
334 | if (status >= 0) { | 336 | if (status >= 0) { |
335 | wdata->res.count = status; | 337 | wdata->res.count = status; |
336 | wdata->verf.committed = oir->committed; | 338 | wdata->verf.committed = oir->committed; |
339 | } else { | ||
340 | wdata->pnfs_error = status; | ||
337 | } | 341 | } |
338 | objlayout_iodone(oir); | 342 | objlayout_iodone(oir); |
339 | /* must not use oir after this point */ | 343 | /* must not use oir after this point */ |