Re: [PATCH 2/6] f2fs: support goingdown for fs shutdown

From: Dave Chinner
Date: Thu Jan 08 2015 - 17:04:32 EST


On Thu, Jan 08, 2015 at 01:21:29PM -0800, Jaegeuk Kim wrote:
> On Fri, Jan 09, 2015 at 07:54:16AM +1100, Dave Chinner wrote:
> > On Thu, Jan 08, 2015 at 02:33:17PM -0600, Eric Sandeen wrote:
> > > On 1/8/15 2:18 PM, Jaegeuk Kim wrote:
> > > > On Thu, Jan 08, 2015 at 01:54:20PM -0600, Eric Sandeen wrote:
> > > >> On 1/8/15 12:10 PM, Jaegeuk Kim wrote:
> > > >>> This patch add an ioctl to shutdown f2fs, which stops all the further block
> > > >>> writes after this point.
> > > >>
> > > >> would it make sense to just re-use the xfs ioctl nr, if the semantics are
> > > >> the same?
> > > >
> > > > The semantics are not same for now.
> > > > In order to reuse xfs ioctl, it needs to support options for flushing logs.
> > >
> > > the xfs iotl has 3 behaviors optional:
> > >
> > > #define XFS_FSOP_GOING_FLAGS_DEFAULT 0x0 /* going down */
> > > #define XFS_FSOP_GOING_FLAGS_LOGFLUSH 0x1 /* flush log but not data */
> > > #define XFS_FSOP_GOING_FLAGS_NOLOGFLUSH 0x2 /* don't flush log nor data */
> > >
> > > if f2fs currently supports a subset, you could just -EOPNOTSUPP on the others.
> >
> > No, just do a default shutdown operation if the semantics cannot be
> > supported.
> >
> > - XFS_FSOP_GOING_FLAGS_DEFAULT ==
> > consistent on disk before shutdown
> > + implemented by freeze/thaw/shutdown sequence
> > - XFS_FSOP_GOING_FLAGS_LOGFLUSH ==
> > consistent journal on disk before shutdown
> > + implemented by journal flush/shutdown sequence

I should point out that this is really "consistent metadata on
disk before shutdown", so it really doesn't matter if your
filesystem has a journal or not, it can still be implemented.

Perhaps it woul dbe best to rename them for a generic ioctl
to FS_GOING_DOWN_SYNC, FS_GOING_DOWN_METADATA_METASYNC
and FS_GOING_DOWN_NOSYNC...

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/