Re: [PATCH v3 1/2] fs: New zonefs file system
From: Darrick J. Wong
Date: Thu Jan 02 2020 - 16:36:31 EST
On Wed, Dec 25, 2019 at 08:21:58AM +0000, Damien Le Moal wrote:
> On 2019/12/25 16:20, Damien Le Moal wrote:
> > On 2019/12/25 15:05, Damien Le Moal wrote:
> >>>> + inode->i_mode = S_IFREG;
> >>>
> >>> i_mode &= ~S_IRWXUGO; ?
> >>
> >> Yes, indeed that is better. checkpatch.pl does spit out a warning if one
> >> uses the S_Ixxx macros though. See below.
> >
> > Please disregard this comment. checkpatch is fine. For some reasons I
> > had warnings in the past but they are now gone. So using the macros
> > instead of the harder to read hard-coded values.
>
> Retracting this... My apologies for the noise.
>
> Checkpatch does complain about the use of symbolic permissions:
>
> WARNING: Symbolic permissions 'S_IRWXUGO' are not preferred. Consider
> using octal permissions '0777'.
> #657: FILE: fs/zonefs/super.c:400:
> + inode->i_mode &= ~S_IRWXUGO;
>
> I do not understand why this would be a problem. I still went ahead and
> used the macros as I find the code more readable using them. Please let
> me know if that is not recommended (checking the code, not surprisingly,
> many FS use these macros).
/me shrugs, I guess we're not supposed to use S_* in code. Sorry about
the unnecessary churn. :/
--D
> >
> >>
> >>>
> >>> Note that clearing the mode flags won't prevent programs with an
> >>> existing writable fd from being able to call write(). I'd imagine that
> >>> they'd hit EIO pretty fast though, so that might not matter.
> >>>
> >>>> + zone->wp = zone->start;
> >>>> + } else if (zone->cond == BLK_ZONE_COND_READONLY) {
> >>>> + inode->i_flags |= S_IMMUTABLE;
> >>>> + inode->i_mode &= ~(0222); /* S_IWUGO */
> >>>
> >>> Might as well just use S_IWUGO directly here?
> >
> > Yes, I did in v4.
> >
> >> Because checkpatch spits out a warning if I do. I would prefer using the
> >> macro as I find it much easier to read. Should I just ignore checkpatch
> >> warning ?
> >
> > My mistake. No warnings :)
> >
> >
>
>
> --
> Damien Le Moal
> Western Digital Research