From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q7H1KZmk224271 for ; Thu, 16 Aug 2012 20:20:35 -0500 Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id UCGd4a5ocjqq92ZR for ; Thu, 16 Aug 2012 18:20:34 -0700 (PDT) Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q7H1KXCZ003199 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 16 Aug 2012 21:20:33 -0400 Received: from orion.usersys.redhat.com (vpn1-6-11.gru2.redhat.com [10.97.6.11]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q7H1KUOL006109 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Thu, 16 Aug 2012 21:20:33 -0400 Date: Thu, 16 Aug 2012 22:20:30 -0300 From: Carlos Maiolino Subject: Re: [PATCH] Make inode64 a remountable option Message-ID: <20120817012030.GB16013@orion.usersys.redhat.com> References: <1345142110-6412-1-git-send-email-cmaiolino@redhat.com> <502D56B9.9080606@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <502D56B9.9080606@redhat.com> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: xfs-bounces@oss.sgi.com Errors-To: xfs-bounces@oss.sgi.com To: xfs@oss.sgi.com > Reviewed-by: Brian Foster > > I do have a question though... do we care about the remount from inode64 > to non-inode64 case? > I thought about it, but, once we enable inode64 option, remounting it back to inode32 may create problems to access inodes greater than (1<<32) - 1, so, I don't think we should make inode32 a remountable option. My point of view though. > > --- > > fs/xfs/xfs_super.c | 18 +++++++++++++++++- > > 1 file changed, 17 insertions(+), 1 deletion(-) > > > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > > index bdaf4cb..4dad567 100644 > > --- a/fs/xfs/xfs_super.c > > +++ b/fs/xfs/xfs_super.c > > @@ -120,12 +120,13 @@ mempool_t *xfs_ioend_pool; > > * in the future, too. > > */ > > enum { > > - Opt_barrier, Opt_nobarrier, Opt_err > > + Opt_barrier, Opt_nobarrier, Opt_inode64, Opt_err > > }; > > > > static const match_table_t tokens = { > > {Opt_barrier, "barrier"}, > > {Opt_nobarrier, "nobarrier"}, > > + {Opt_inode64, "inode64"}, > > {Opt_err, NULL} > > }; > > > > @@ -1038,11 +1039,15 @@ xfs_fs_remount( > > { > > struct xfs_mount *mp = XFS_M(sb); > > substring_t args[MAX_OPT_ARGS]; > > + xfs_sb_t *sbp = &(mp->m_sb); > > + xfs_perag_t *pag; > > char *p; > > int error; > > > > while ((p = strsep(&options, ",")) != NULL) { > > int token; > > + int agcount = sbp->sb_agcount; > > + int index = 0; > > > > if (!*p) > > continue; > > @@ -1055,6 +1060,17 @@ xfs_fs_remount( > > case Opt_nobarrier: > > mp->m_flags &= ~XFS_MOUNT_BARRIER; > > break; > > + case Opt_inode64: > > + > > + for (index = 0; index < agcount; index++) { > > + pag = xfs_perag_get(mp, index); > > + pag->pagi_inodeok = 1; > > + xfs_perag_put(pag); > > + } > > + mp->m_flags &= ~XFS_MOUNT_32BITINODES; > > + mp->m_flags &= ~XFS_MOUNT_SMALL_INUMS; > > + mp->m_maxagi = index; > > + break; > > default: > > /* > > * Logically we would return an error here to prevent > > > -- --Carlos _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs