xfs
[Top] [All Lists]

Re: detecting case-insensitivity

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: detecting case-insensitivity
From: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
Date: Thu, 3 May 2012 16:22:49 -0400
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20120430230105.GL7015@dastard>
References: <20120407140029.GA24090@xxxxxxxxxxxx> <20120411200335.GD28816@xxxxxxxxxxxxx> <20120411203735.GB31706@xxxxxxxxxxxx> <20120430212649.GB22323@xxxxxxxxxxxx> <20120430230105.GL7015@dastard>
User-agent: Mutt/1.5.20 (2009-06-14)
On Tue, May 01, 2012 at 09:01:05AM +1000, Dave Chinner wrote:
> On Mon, Apr 30, 2012 at 05:26:49PM -0400, J. Bruce Fields wrote:
> > On Wed, Apr 11, 2012 at 04:37:35PM -0400, J. Bruce Fields wrote:
> > > On Wed, Apr 11, 2012 at 04:03:35PM -0400, Christoph Hellwig wrote:
> > > > Can you add a new s_feature_flags instead of s_flags which is shared
> > > > with the mount user ABI?  MS_I_VERSION should also move there.
> > > 
> > > I was wondering about that.  Yes, that makes a lot more sense, I'll work
> > > on it.
> > 
> > Just something like this?
> 
> .....
> 
> >  #define S_SYNC             1       /* Writes are synced at once */
> > @@ -268,7 +271,7 @@ struct inodes_stat_t {
> >                                     ((inode)->i_flags & (S_SYNC|S_DIRSYNC)))
> >  #define IS_MANDLOCK(inode) __IS_FLG(inode, MS_MANDLOCK)
> >  #define IS_NOATIME(inode)   __IS_FLG(inode, MS_RDONLY|MS_NOATIME)
> > -#define IS_I_VERSION(inode)   __IS_FLG(inode, MS_I_VERSION)
> > +#define IS_I_VERSION(inode)  ((inode)->i_sb->s_flags & SF_I_VERSION)
> 
> (inode)->i_sb->s_feature_flags?

Whoops, thanks.

> >  #define IS_NOQUOTA(inode)  ((inode)->i_flags & S_NOQUOTA)
> >  #define IS_APPEND(inode)   ((inode)->i_flags & S_APPEND)
> > @@ -1428,7 +1431,8 @@ struct super_block {
> >     const struct dquot_operations   *dq_op;
> >     const struct quotactl_ops       *s_qcop;
> >     const struct export_operations *s_export_op;
> > -   unsigned long           s_flags;
> > +   unsigned long           s_flags; /* mount flags */
> > +   unsigned int            s_feature_flags;
> 
> why not an unsigned long like s_flags?

OK.

(Why does it matter?  I figured we can always extend it later.)

--b.

<Prev in Thread] Current Thread [Next in Thread>
  • Re: detecting case-insensitivity, J. Bruce Fields <=