linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v0 00/18] btfs: Subvolume Quota Groups
@ 2011-10-06 15:54 Arne Jansen
  2011-10-06 15:54 ` [PATCH v0 01/18] btrfs: mark delayed refs as for cow Arne Jansen
                   ` (17 more replies)
  0 siblings, 18 replies; 27+ messages in thread
From: Arne Jansen @ 2011-10-06 15:54 UTC (permalink / raw)
  To: chris.mason, linux-btrfs

This is a first draft of a subvolume quota implementation. It is possible
to limit subvolumes and any group of subvolumes and also to track the amount
of space that will get freed when deleting snapshots.

The current version is functionally incomplete, with the main missing feature
being the initial scan and rescan of an existing filesystem.

I put some effort into writing an introduction into the concepts and
implementation which can be found at

http://sensille.com/qgroups.pdf

The purpose of getting it out in this early stage is to get as much input
as possible, in regard to concepts, implementation and testing.
The accompanying user mode parts will take some additional days to gather.

Thanks,
Arne

Arne Jansen (18):
  btrfs: mark delayed refs as for cow
  btrfs: always save ref_root in delayed refs
  btrfs: add nested locking mode for paths
  btrfs: qgroup on-disk format
  btrfs: add helper for tree enumeration
  btrfs: check the root passed to btrfs_end_transaction
  btrfs: generic data structure to build unique lists
  btrfs: added helper to create new trees
  btrfs: qgroup state and initialization
  btrfs: Test code to change the order of delayed-ref processing
  btrfs: add sequence numbers to delayed refs
  btrfs: put back delayed refs that are too new
  btrfs: qgroup implementation and prototypes
  btrfs: quota tree support and startup
  btrfs: hooks for qgroup to record delayed refs
  btrfs: hooks to reserve qgroup space
  btrfs: add qgroup ioctls
  btrfs: add qgroup inheritance

 fs/btrfs/Makefile      |    3 +-
 fs/btrfs/ctree.c       |  114 +++-
 fs/btrfs/ctree.h       |  224 +++++-
 fs/btrfs/delayed-ref.c |  188 ++++--
 fs/btrfs/delayed-ref.h |   48 +-
 fs/btrfs/disk-io.c     |  130 +++-
 fs/btrfs/disk-io.h     |    3 +
 fs/btrfs/extent-tree.c |  185 ++++-
 fs/btrfs/extent_io.c   |    1 +
 fs/btrfs/extent_io.h   |    2 +
 fs/btrfs/file.c        |   10 +-
 fs/btrfs/inode.c       |    2 +-
 fs/btrfs/ioctl.c       |  247 +++++-
 fs/btrfs/ioctl.h       |   62 ++-
 fs/btrfs/locking.c     |   51 ++-
 fs/btrfs/locking.h     |    2 +-
 fs/btrfs/qgroup.c      | 2151 ++++++++++++++++++++++++++++++++++++++++++++++++
 fs/btrfs/relocation.c  |   18 +-
 fs/btrfs/transaction.c |   45 +-
 fs/btrfs/transaction.h |    8 +
 fs/btrfs/tree-log.c    |    2 +-
 fs/btrfs/ulist.c       |  122 +++
 fs/btrfs/ulist.h       |   59 ++
 23 files changed, 3501 insertions(+), 176 deletions(-)
 create mode 100644 fs/btrfs/qgroup.c
 create mode 100644 fs/btrfs/ulist.c
 create mode 100644 fs/btrfs/ulist.h

-- 
1.7.3.4


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2011-10-07 15:07 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-06 15:54 [PATCH v0 00/18] btfs: Subvolume Quota Groups Arne Jansen
2011-10-06 15:54 ` [PATCH v0 01/18] btrfs: mark delayed refs as for cow Arne Jansen
2011-10-06 15:54 ` [PATCH v0 02/18] btrfs: always save ref_root in delayed refs Arne Jansen
2011-10-06 15:54 ` [PATCH v0 03/18] btrfs: add nested locking mode for paths Arne Jansen
2011-10-06 20:36   ` Andi Kleen
     [not found]     ` <CANvN+ems8D+wB_YPzoNpsqxZ8on-z7xCEXQuQ0LgoF_T=gw+Yw@mail.gmail.com>
     [not found]       ` <CANvN+emRvTQD-epGJrELs_WAF06zuuBb0ELpSFrGazzAbo29gg@mail.gmail.com>
2011-10-06 20:50         ` Andi Kleen
     [not found]           ` <CANvN+e=GtjwG9+G1BggsbQOwe+iP4DzqQUvjDP=rw_+FuPZM7w@mail.gmail.com>
2011-10-07  8:39             ` Arne Jansen
2011-10-06 15:54 ` [PATCH v0 04/18] btrfs: qgroup on-disk format Arne Jansen
2011-10-06 15:54 ` [PATCH v0 05/18] btrfs: add helper for tree enumeration Arne Jansen
2011-10-06 15:54 ` [PATCH v0 06/18] btrfs: check the root passed to btrfs_end_transaction Arne Jansen
2011-10-06 15:54 ` [PATCH v0 07/18] btrfs: generic data structure to build unique lists Arne Jansen
2011-10-06 20:33   ` Andi Kleen
2011-10-06 22:19     ` David Sterba
2011-10-07  8:12     ` Arne Jansen
2011-10-07 15:07       ` Andi Kleen
2011-10-06 15:54 ` [PATCH v0 08/18] btrfs: added helper to create new trees Arne Jansen
2011-10-06 15:54 ` [PATCH v0 09/18] btrfs: qgroup state and initialization Arne Jansen
2011-10-06 15:54 ` [PATCH v0 10/18] btrfs: Test code to change the order of delayed-ref processing Arne Jansen
2011-10-06 15:54 ` [PATCH v0 11/18] btrfs: add sequence numbers to delayed refs Arne Jansen
2011-10-06 15:54 ` [PATCH v0 12/18] btrfs: put back delayed refs that are too new Arne Jansen
2011-10-06 15:54 ` [PATCH v0 13/18] btrfs: qgroup implementation and prototypes Arne Jansen
2011-10-06 15:54 ` [PATCH v0 14/18] btrfs: quota tree support and startup Arne Jansen
2011-10-06 15:54 ` [PATCH v0 15/18] btrfs: hooks for qgroup to record delayed refs Arne Jansen
2011-10-06 15:54 ` [PATCH v0 16/18] btrfs: hooks to reserve qgroup space Arne Jansen
2011-10-06 15:54 ` [PATCH v0 17/18] btrfs: add qgroup ioctls Arne Jansen
2011-10-06 20:40   ` Andi Kleen
2011-10-06 15:54 ` [PATCH v0 18/18] btrfs: add qgroup inheritance Arne Jansen

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).