public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@redhat.com>
To: Theodore Tso <tytso@mit.edu>
Cc: Vitez Gabor <vitezg@niif.hu>, linux-ext4@vger.kernel.org
Subject: Re: support freeze operation like xfs_freeze
Date: Fri, 26 Jan 2007 16:23:22 -0600	[thread overview]
Message-ID: <45BA7F5A.5000703@redhat.com> (raw)
In-Reply-To: <20070126212208.GA9897@thunk.org>

Theodore Tso wrote:
> On Thu, Jan 25, 2007 at 01:40:58PM -0600, Eric Sandeen wrote:
>> on an lvm volume.  So, I think ext[34] are perfectly capable of being
>> frozen, there's just no generic userspace utility to point at a generic
>> block device to do that freezing.  xfs's collection of ioctls to do this
>> directly got grandfathered in, I guess.  :)
> 
> xfs's collection of ioctls do the right thing if the program which
> freezes the filesystems exits without unfreezing the filesystem
> (closing the file descriptor used by the freeze ioctl should unfreeze
> the filesystem, I hope)?  And I assume that if a setuid program which
> freezes filesystems forgets to catch SIGTSTP, and a hostile user types
> ^Z at the wrong time, that's considered a buggy setuid program?  :-)

xfs_freeze is actually -designed- to exit without unfreezing the 
filesystem, FWIW, for better or worse.  And I suppose there is all sorts 
of mayhem that could stem from setuid programs of all stripes...

I didn't mean to imply that it was better or worse, just that those xfs 
ioctls went in back when ioctls weren't getting quite so much scrutiny. 
  And it provided the freeze functionality for a linux filesystem at a 
time when there weren't other options.

Having the lvm tools do this automatically through generic layers during 
snapshot is absolutely a much nicer, cleaner way to go when snapshotting.

> One of the reasons why direct exposire to the freeze routines was
> always considered a little dangerous, and my guess is that's why we
> don't have a first class VFS interface.  Then again, XFS managed to
> get an exemption from some of the standard kernel merging rules,
> including allowing the IRIX compatibility layer, and I'm guessing the
> xfs collection of ioctls snuck in that way too.  :-)
> 
> 					- Ted

I prefer to think of it as a portability layer... :)

But anyway, on a less OT-topic, it has always seemed a little weird to 
me that you can -only- freeze a filesystem on an lvm block device. 
Surely there are occasionally legitimate reasons to freeze a filesystem 
on an arbitrary block device, if the filesystem can support it?

I don't see how direct exposure to freezing routines via LVM ioctls is 
any less dangerous than direct exposure to freezing routines on 
/dev/hda1... heck I can issue BLKROSET ioctls too, and that's arguably a 
lot more dangerous, because it's going to come as a big surprise to the 
filesystem, rather than a coordinated freeze.

-Eric

  reply	other threads:[~2007-01-26 22:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-25 17:28 support freeze operation like xfs_freeze Vitez Gabor
2007-01-25 17:59 ` coly
2007-01-25 19:40 ` Eric Sandeen
2007-01-26 21:22   ` Theodore Tso
2007-01-26 22:23     ` Eric Sandeen [this message]
2007-01-27  1:10       ` Theodore Tso
2007-01-29  9:57         ` Vitez Gabor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45BA7F5A.5000703@redhat.com \
    --to=sandeen@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=vitezg@niif.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox