From patchwork Wed Aug 8 14:57:25 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Tao X-Patchwork-Id: 1296351 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 7CCDC3FC23 for ; Wed, 8 Aug 2012 14:57:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758362Ab2HHO5x (ORCPT ); Wed, 8 Aug 2012 10:57:53 -0400 Received: from mail-pb0-f46.google.com ([209.85.160.46]:42428 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758588Ab2HHO5w (ORCPT ); Wed, 8 Aug 2012 10:57:52 -0400 Received: by pbbrr13 with SMTP id rr13so1581044pbb.19 for ; Wed, 08 Aug 2012 07:57:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=KNuSKvNqH7uIJPMfRjm14sgumaQ9nIv9LvVO31CC6i4=; b=ufYPJp2a3y+LrnQrsdjynd1G42KrbPnMcqet9cbi5qmn/XUR54VPriROSSIMaZx0Ot oprNwaBFMnw7Te/rGHGhG2jKZ2uHUnXuFWQHgX2WiFhDPillouS/S5H8Iwyv1fCAh+lX Y+rpkJBvIUarxeUsemFmITzyDu13RURpl4rzVOzC8Cp3VxRIkpZyr9NLtd1ns3I9MouK kEJ7YE1IGivZDEraDdMBeJOSJctLHfvRf+b+QxjJ/RL5LEYFKFaehLVBuGlb65veniCt YPQ3QCoB7d5cin6izzAoJMAObY19EhV8Ev5DK1AHUSqJi4vbTUisCB61gy6QEVGMzrTM rXwg== Received: by 10.68.129.131 with SMTP id nw3mr19103678pbb.43.1344437871864; Wed, 08 Aug 2012 07:57:51 -0700 (PDT) Received: from debian-sid.localdomain ([123.115.212.137]) by mx.google.com with ESMTPS id qn13sm1447817pbb.71.2012.08.08.07.57.46 (version=SSLv3 cipher=OTHER); Wed, 08 Aug 2012 07:57:50 -0700 (PDT) From: Peng Tao To: Trond.Myklebust@netapp.com Cc: linux-nfs@vger.kernel.org, Bryan Schumaker , Peng Tao Subject: [PATCH-v2] NFS41: fix error of setting blocklayoutdriver Date: Wed, 8 Aug 2012 22:57:25 +0800 Message-Id: <1344437845-2356-1-git-send-email-bergwolf@gmail.com> X-Mailer: git-send-email 1.7.1.262.g5ef3d Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org After commit e38eb650 (NFS: set_pnfs_layoutdriver() from nfs4_proc_fsinfo()), set_pnfs_layoutdriver() is called inside nfs4_proc_fsinfo(), but pnfs_blksize is not set. It causes setting blocklayoutdriver failure and pnfsblock mount failure. Cc: Bryan Schumaker Signed-off-by: Peng Tao --- fs/nfs/client.c | 1 - fs/nfs/nfs4proc.c | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 9fc0d9d..a53a538 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -855,7 +855,6 @@ static void nfs_server_set_fsinfo(struct nfs_server *server, if (server->wsize > NFS_MAX_FILE_IO_SIZE) server->wsize = NFS_MAX_FILE_IO_SIZE; server->wpages = (server->wsize + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; - server->pnfs_blksize = fsinfo->blksize; server->wtmult = nfs_block_bits(fsinfo->wtmult, NULL); diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 78b2163..299c311 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -3362,8 +3362,11 @@ static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, s nfs_fattr_init(fsinfo->fattr); error = nfs4_do_fsinfo(server, fhandle, fsinfo); - if (error == 0) + if (error == 0) { + /* block layout checks this! */ + server->pnfs_blksize = fsinfo->blksize; set_pnfs_layoutdriver(server, fhandle, fsinfo->layouttype); + } return error; }