diff options
author | Weston Andros Adamson <dros@primarydata.com> | 2014-09-10 15:48:01 -0400 |
---|---|---|
committer | Tom Haynes <loghyr@primarydata.com> | 2015-02-03 14:06:44 -0500 |
commit | 180bb5ec06ce3a95dccc751fbf6bf11d3003da98 (patch) | |
tree | e73fcf03e30e0bdb6b2e97767782fa53a0912ff7 /fs/nfs/objlayout | |
parent | 2176bf4269a37a7742230ed6c91668241bfe1b2b (diff) |
pnfs: release lseg in pnfs_generic_pg_cleanup
This is needed to support mirrored writes - the first write can't just
trash the lseg, we need to keep it around until all mirrors have
written.
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Diffstat (limited to 'fs/nfs/objlayout')
-rw-r--r-- | fs/nfs/objlayout/objio_osd.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/objlayout/objio_osd.c b/fs/nfs/objlayout/objio_osd.c index 9e5bc42180e4..d00778077df1 100644 --- a/fs/nfs/objlayout/objio_osd.c +++ b/fs/nfs/objlayout/objio_osd.c | |||
@@ -607,12 +607,14 @@ static const struct nfs_pageio_ops objio_pg_read_ops = { | |||
607 | .pg_init = objio_init_read, | 607 | .pg_init = objio_init_read, |
608 | .pg_test = objio_pg_test, | 608 | .pg_test = objio_pg_test, |
609 | .pg_doio = pnfs_generic_pg_readpages, | 609 | .pg_doio = pnfs_generic_pg_readpages, |
610 | .pg_cleanup = pnfs_generic_pg_cleanup, | ||
610 | }; | 611 | }; |
611 | 612 | ||
612 | static const struct nfs_pageio_ops objio_pg_write_ops = { | 613 | static const struct nfs_pageio_ops objio_pg_write_ops = { |
613 | .pg_init = objio_init_write, | 614 | .pg_init = objio_init_write, |
614 | .pg_test = objio_pg_test, | 615 | .pg_test = objio_pg_test, |
615 | .pg_doio = pnfs_generic_pg_writepages, | 616 | .pg_doio = pnfs_generic_pg_writepages, |
617 | .pg_cleanup = pnfs_generic_pg_cleanup, | ||
616 | }; | 618 | }; |
617 | 619 | ||
618 | static struct pnfs_layoutdriver_type objlayout_type = { | 620 | static struct pnfs_layoutdriver_type objlayout_type = { |