linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: andros@netapp.com
To: bhalevy@panasas.com
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH 0/4] pnfs-submit: cleanup layoutcommit verison 2
Date: Thu,  3 Jun 2010 12:25:23 -0400	[thread overview]
Message-ID: <1275582327-9285-1-git-send-email-andros@netapp.com> (raw)


Responded to comments.

This is against the pnfs-submit branch of the 2.6.34 tree. They will need to be
applied against the 2.6.35-rc1 tree which I can do after comments.

A cleanup, and call the async error handler.
0001-SQUASHME-pnfs-submit-cleanup-layoutcommit-call.patch
0002-SQUASHME-pnfs-submit-handle-async-layoutcommit-erro.patch

These next two patches moves the pnfs_layoutcommit_inode call to
nfs_write_inode, and it is the only call other than in layoutreturn.
(removed calls in __nfs4_close, nfs_commit_inode, nfs_wb_sync).

0003-SQUASHME-pnfs-remove-ifdef-around-layoutcommit_neede.patch
0004-SQUASHME-pnfs-submit-move-layoutcommit-to-nfs_write.patch

pnfs_layoutcommit_inode is called after nfs_commit_unstable_pages() so that
if LAYOUTCOMMIT fails, the unstable pages have been processed..

The error handlers (sync and async) call nfs4_map_errors, so unhandled
errors (such as NFS4ERR_BADLAYOUT) get returned to nfs_write_ioode as -EIO.

We will add code to the error handlers for errors such as NFS4ERR_BADLAYOUT
that require us to stop using and free the layout, and redo the I/O through
the MDS.

Testing:
With CONFIG_NFS_V4_1 set
NFSv4.1/pnfs passed Connectathon against write enabled GFS2/pNFS. Note: there
were exactly the same number of LAYOUTCOMMITS sent as were sent with
pnfs_layoutcommit_inode being called from __nfs4_close (never happened),
nfs_commit_inode and nfs_wb_sync.

V4.0 mount passes Connectathon tests

With CONFIG_NFS_V4_1 not set

V4.0 mount passes Connectathon tests

-->Andy


             reply	other threads:[~2010-06-03 16:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-03 16:25 andros [this message]
2010-06-03 16:25 ` [PATCH 1/4] SQUASHME pnfs-submit: cleanup layoutcommit call andros
2010-06-03 16:25   ` [PATCH 2/4] SQUASHME pnfs-submit: handle async layoutcommit errors andros
2010-06-03 16:25     ` [PATCH 3/4] SQUASHME pnfs remove ifdef around layoutcommit_needed andros
2010-06-03 16:25       ` [PATCH 4/4] SQUASHME pnfs-submit: move layoutcommit to nfs_write_inode andros
2010-06-08 16:01         ` Boaz Harrosh
2010-06-03 17:11 ` [PATCH 0/4] pnfs-submit: cleanup layoutcommit verison 2 Boaz Harrosh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1275582327-9285-1-git-send-email-andros@netapp.com \
    --to=andros@netapp.com \
    --cc=bhalevy@panasas.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).