xfs
[Top] [All Lists]

Re: [PATCH 2/4] fs: Prevent doing FALLOC_FL_ZERO_RANGE on append only fi

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/4] fs: Prevent doing FALLOC_FL_ZERO_RANGE on append only file
From: Lukáš Czerner <lczerner@xxxxxxxxxx>
Date: Tue, 15 Apr 2014 15:09:42 +0200 (CEST)
Cc: linux-fsdevel@xxxxxxxxxxxxxxx, ceph-devel@xxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140412151935.GA18047@xxxxxxxxxxxxx>
References: <1397242665-2183-1-git-send-email-lczerner@xxxxxxxxxx> <1397242665-2183-2-git-send-email-lczerner@xxxxxxxxxx> <20140412151935.GA18047@xxxxxxxxxxxxx>
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)
On Sat, 12 Apr 2014, Christoph Hellwig wrote:

> Date: Sat, 12 Apr 2014 08:19:35 -0700
> From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> To: Lukas Czerner <lczerner@xxxxxxxxxx>
> Cc: linux-fsdevel@xxxxxxxxxxxxxxx, ceph-devel@xxxxxxxxxxxxxxx,
>     linux-ext4@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
> Subject: Re: [PATCH 2/4] fs: Prevent doing FALLOC_FL_ZERO_RANGE on append only
>      file
> 
> On Fri, Apr 11, 2014 at 08:57:43PM +0200, Lukas Czerner wrote:
> >     /*
> > -    * It's not possible to punch hole or perform collapse range
> > -    * on append only file
> > +    * It's not possible to punch hole, perform collapse range
> > +    * or zero range on append only file
> >      */
> > -   if (mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_COLLAPSE_RANGE)
> > +   if (mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_COLLAPSE_RANGE |
> > +               FALLOC_FL_ZERO_RANGE)
> 
> Might be better to make this a negative test fo the operation that is
> allowed on an appen only file.  That's also much better future proof.
> 

True, it might be better to do it this way:

if (mode & ~FALLOC_FL_KEEP_SIZE && IS_APPEND(inode))

this makes FALLOC_FL_NO_HIDE_STALE (reserved, not implemented)
potentially not work on the append only file since it could change
the content of the file.

Will resend.

Thanks!
-Lukas

<Prev in Thread] Current Thread [Next in Thread>