linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@ORACLE.COM>
To: btrfs-devel@oss.oracle.com
Cc: Zach Brown <zach.brown@ORACLE.COM>, Sage Weil <sage@newdream.net>,
	linux-btrfs@vger.kernel.org
Subject: Re: [Btrfs-devel] transaction ioctls
Date: Tue, 22 Apr 2008 16:41:34 -0400	[thread overview]
Message-ID: <200804221641.34817.chris.mason@oracle.com> (raw)
In-Reply-To: <480E4AA5.1070700@oracle.com>

On Tuesday 22 April 2008, Zach Brown wrote:
> > A misbehaving application could also deliberately hold a transaction
> > open, effectively locking up the FS, so it may make sense to restrict
> > something like this to root or something.
>
> I suspect it doesn't have to be deliberate.
>
> Have you tried this under memory pressure?  I wonder if the application
> can get stuck waiting for memory which will only be freed once the
> transaction closes.

This isn't as big an issue, btrfs doesn't pin pages while the transaction is 
running.  There is some accounting rbtrees that grow while the transaction is 
running, but it isn't like a reiserfsv3 or jbd that have physical blocks on 
disk pinned.

>
> I'm reasonably sure that we've discussed this persistent theoretical
> problem with these kinds of interfaces ;).

I do agree is isn't practical for anything other than a tightly controlled 
interface.  It might make sense to create specific ioctls or syscalls for the 
operations you need to combine.  Perhaps a generic mechanism that can link a 
bunch of async syscalls together within a single framework.

Ok, really though, I seem to remember that ceph needed to do file + xattr 
operations in one atomic shot, were there others?

-chris

  reply	other threads:[~2008-04-22 20:41 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.64.0804221210130.23551@cobra.newdream.net>
2008-04-22 20:29 ` [Btrfs-devel] transaction ioctls Zach Brown
2008-04-22 20:41   ` Chris Mason [this message]
2008-04-22 20:52     ` Sage Weil
2008-04-22 20:55       ` Chris Mason
2008-04-22 20:56         ` Sage Weil
2008-04-22 21:05         ` Evgeniy Polyakov
2008-04-23 12:50           ` Chris Mason
2008-04-23 12:57             ` Evgeniy Polyakov
2008-04-23 13:07               ` Chris Mason
2008-04-23 13:15                 ` Evgeniy Polyakov
2008-04-23 13:23                   ` Chris Mason
     [not found]                   ` <200804230923.03752.chris.mason@oracle.com>
2008-04-23 16:21                     ` Evgeniy Polyakov
2008-04-23 17:15                       ` Chris Mason
2008-04-23 23:52                     ` Bron Gondwana
2008-04-24 13:06                       ` Chris Mason
     [not found]                       ` <200804240906.54788.chris.mason@oracle.com>
2008-04-27 10:55                         ` Bron Gondwana
2008-04-23 17:12                 ` btrfs-devel
2008-04-22 20:32 ` Chris Mason
2008-04-22 20:48   ` Sage Weil

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=200804221641.34817.chris.mason@oracle.com \
    --to=chris.mason@oracle.com \
    --cc=btrfs-devel@oss.oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=sage@newdream.net \
    --cc=zach.brown@ORACLE.COM \
    /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;
as well as URLs for NNTP newsgroup(s).