public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 008/145] libxfs: add more list operations
Date: Fri, 24 Jun 2016 11:50:18 +1000	[thread overview]
Message-ID: <20160624015018.GC12670@dastard> (raw)
In-Reply-To: <20160624004638.GA18415@birch.djwong.org>

On Thu, Jun 23, 2016 at 05:46:38PM -0700, Darrick J. Wong wrote:
> On Fri, Jun 24, 2016 at 10:40:22AM +1000, Dave Chinner wrote:
> > On Thu, Jun 16, 2016 at 06:31:35PM -0700, Darrick J. Wong wrote:
> > > Add some list operations that the deferred rmap code requires.
> > > 
> > > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> > 
> > This has all come from the linux kernel, right?
> 
> Yes.
> 
> > Can you tell me
> > which files it has come from so I can add it to the commit message?
> 
> lib/list_sort.c for all the list_sort stuff,
> include/linux/list.h for the rest of the list_* stuff,
> include/linux/kernel.h for container_of.

I thought we already had container_of. Ah, only inside __KERNEL__
code fragments....

> > Maybe it would be better to keep the list sorting code in it's own
> > file (e.g. libxfs/list_sort.c) just to keep a bit of separation
> > between the xfs code and code that is copied in from outside?
> 
> I'd wondered if it made more sense to do that, but (sort of arbitrarily
> decided not to add more files).

keeping it in a spearate file makes it easier to update in future
(e.g. forklift replacement of radix tree code). maybe we don't need
to do this here, but I don't mind adding new files for stuff like
this...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2016-06-24  1:50 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-17  1:30 [PATCH v6 000/145] xfsprogs: add reverse mapping, reflink, dedupe, and online scrub support Darrick J. Wong
2016-06-17  1:30 ` [PATCH 001/145] xfs_buflock: add a tool that can be used to find buffer deadlocks Darrick J. Wong
2016-06-17  1:30 ` [PATCH 002/145] libxfs: port changes from kernel libxfs Darrick J. Wong
2016-06-17  1:31 ` [PATCH 003/145] libxfs: backport changes from 4.5 Darrick J. Wong
2016-06-17  1:31 ` [PATCH 004/145] libxfs: backport kernel 4.6 changes Darrick J. Wong
2016-06-17  1:31 ` [PATCH 005/145] libxfs: backport kernel 4.7 changes Darrick J. Wong
2016-06-17  1:31 ` [PATCH 006/145] xfs: make several functions static Darrick J. Wong
2016-06-17  1:31 ` [PATCH 007/145] xfs: define XFS_IOC_FREEZE even if FIFREEZE is defined Darrick J. Wong
2016-06-17  1:31 ` [PATCH 008/145] libxfs: add more list operations Darrick J. Wong
2016-06-24  0:40   ` Dave Chinner
2016-06-24  0:46     ` Darrick J. Wong
2016-06-24  1:50       ` Dave Chinner [this message]
2016-06-17  1:31 ` [PATCH 009/145] xfs_logprint: move the EFI copying/printing functions to a redo items file Darrick J. Wong
2016-06-17  1:31 ` [PATCH 010/145] xfs_logprint: fix formatting issues with the EFI printing code Darrick J. Wong
2016-06-17  1:31 ` [PATCH 011/145] man: document the DAX fsxattr inode flag Darrick J. Wong
2016-06-17  1:32 ` [PATCH 012/145] xfs: separate freelist fixing into a separate helper Darrick J. Wong
2016-06-17  1:32 ` [PATCH 013/145] xfs: convert list of extents to free into a regular list Darrick J. Wong
2016-06-17  1:32 ` [PATCH 014/145] xfs: create a standard btree size calculator code Darrick J. Wong
2016-06-17  1:32 ` [PATCH 015/145] xfs: refactor btree maxlevels computation Darrick J. Wong
2016-06-17  1:32 ` [PATCH 016/145] xfs: during btree split, save new block key & ptr for future insertion Darrick J. Wong
2016-06-17  1:32 ` [PATCH 017/145] xfs: support btrees with overlapping intervals for keys Darrick J. Wong
2016-06-17  1:32 ` [PATCH 018/145] xfs: introduce interval queries on btrees Darrick J. Wong
2016-06-17  1:32 ` [PATCH 019/145] xfs: refactor btree owner change into a separate visit-blocks function Darrick J. Wong
2016-06-17  1:32 ` [PATCH 020/145] xfs: move deferred operations into a separate file Darrick J. Wong
2016-06-17  1:32 ` [PATCH 021/145] xfs: add tracepoints for the deferred ops mechanism Darrick J. Wong
2016-06-17  1:33 ` [PATCH 022/145] xfs: enable the xfs_defer mechanism to process extents to free Darrick J. Wong
2016-06-17  1:33 ` [PATCH 023/145] xfs: rework xfs_bmap_free callers to use xfs_defer_ops Darrick J. Wong
2016-06-17  1:33 ` [PATCH 024/145] xfs: change xfs_bmap_{finish, cancel, init, free} -> xfs_defer_* Darrick J. Wong
2016-06-17  1:33 ` [PATCH 025/145] xfs: rename flist/free_list to dfops Darrick J. Wong
2016-06-17  1:33 ` [PATCH 026/145] xfs: add tracepoints and error injection for deferred extent freeing Darrick J. Wong
2016-06-17  1:33 ` [PATCH 027/145] xfs_io: add free-extent error injection type Darrick J. Wong
2016-06-17  1:33 ` [PATCH 028/145] xfs: introduce rmap btree definitions Darrick J. Wong
2016-06-17  1:33 ` [PATCH 029/145] xfs: add rmap btree stats infrastructure Darrick J. Wong
2016-06-17  1:33 ` [PATCH 030/145] xfs: rmap btree add more reserved blocks Darrick J. Wong
2016-06-17  1:33 ` [PATCH 031/145] xfs: add owner field to extent allocation and freeing Darrick J. Wong
2016-06-17  1:34 ` [PATCH 032/145] xfs: introduce rmap extent operation stubs Darrick J. Wong
2016-06-17  1:34 ` [PATCH 033/145] xfs: define the on-disk rmap btree format Darrick J. Wong
2016-06-17  1:34 ` [PATCH 034/145] xfs: rmap btree transaction reservations Darrick J. Wong
2016-06-17  1:34 ` [PATCH 035/145] xfs: rmap btree requires more reserved free space Darrick J. Wong
2016-06-17  1:34 ` [PATCH 036/145] xfs: add rmap btree operations Darrick J. Wong
2016-06-17  1:34 ` [PATCH 037/145] xfs: support overlapping intervals in the rmap btree Darrick J. Wong
2016-06-17  1:34 ` [PATCH 038/145] xfs: teach rmapbt to support interval queries Darrick J. Wong
2016-06-17  1:34 ` [PATCH 039/145] xfs: add an extent to the rmap btree Darrick J. Wong
2016-06-17  1:34 ` [PATCH 040/145] xfs: remove an extent from " Darrick J. Wong
2016-06-17  1:35 ` [PATCH 041/145] xfs: convert unwritten status of reverse mappings Darrick J. Wong
2016-06-17  1:35 ` [PATCH 042/145] xfs: add rmap btree insert and delete helpers Darrick J. Wong
2016-06-17  1:35 ` [PATCH 043/145] xfs: create helpers for mapping, unmapping, and converting file fork extents Darrick J. Wong
2016-06-17  1:35 ` [PATCH 044/145] xfs: create rmap update intent log items Darrick J. Wong
2016-06-17  1:35 ` [PATCH 045/145] xfs: enable the xfs_defer mechanism to process rmaps to update Darrick J. Wong
2016-06-17  1:35 ` [PATCH 046/145] xfs: propagate bmap updates to rmapbt Darrick J. Wong
2016-06-17  1:35 ` [PATCH 047/145] xfs: add rmap btree geometry feature flag Darrick J. Wong
2016-06-17  1:35 ` [PATCH 048/145] xfs: don't update rmapbt when fixing agfl Darrick J. Wong
2016-06-17  1:35 ` [PATCH 049/145] xfs: enable the rmap btree functionality Darrick J. Wong
2016-06-17  1:36 ` [PATCH 050/145] xfs_db: display rmap btree contents Darrick J. Wong
2016-06-17  1:36 ` [PATCH 051/145] xfs_db: spot check rmapbt Darrick J. Wong
2016-06-17  1:36 ` [PATCH 052/145] xfs_db: copy the rmap btree Darrick J. Wong
2016-06-17  1:36 ` [PATCH 053/145] xfs_growfs: report rmapbt presence Darrick J. Wong
2016-06-17  1:36 ` [PATCH 054/145] xfs_io: add rmap-finish error injection type Darrick J. Wong
2016-06-17  1:36 ` [PATCH 055/145] xfs_logprint: support rmap redo items Darrick J. Wong
2016-06-17  1:36 ` [PATCH 056/145] xfs_repair: use rmap btree data to check block types Darrick J. Wong
2016-06-17  1:36 ` [PATCH 057/145] xfs_repair: fix fino_bno calculation when rmapbt is enabled Darrick J. Wong
2016-06-17  1:36 ` [PATCH 058/145] xfs_repair: create a slab API for allocating arrays in large chunks Darrick J. Wong
2016-06-17  1:36 ` [PATCH 059/145] xfs_repair: collect reverse-mapping data for refcount/rmap tree rebuilding Darrick J. Wong
2016-06-17  1:37 ` [PATCH 060/145] xfs_repair: record and merge raw rmap data Darrick J. Wong
2016-06-17  1:37 ` [PATCH 061/145] xfs_repair: add inode bmbt block rmaps Darrick J. Wong
2016-06-17  1:37 ` [PATCH 062/145] xfs_repair: add fixed-location per-AG rmaps Darrick J. Wong
2016-06-17  1:37 ` [PATCH 063/145] xfs_repair: check existing rmapbt entries against observed rmaps Darrick J. Wong
2016-06-17  1:37 ` [PATCH 064/145] xfs_repair: rebuild reverse-mapping btree Darrick J. Wong
2016-06-17  1:37 ` [PATCH 065/145] xfs_repair: add per-AG btree blocks to rmap data and add to rmapbt Darrick J. Wong
2016-06-17  1:37 ` [PATCH 066/145] xfs_repair: merge data & attr fork reverse mappings Darrick J. Wong
2016-06-17  1:37 ` [PATCH 067/145] xfs_repair: look for mergeable rmaps Darrick J. Wong
2016-06-17  1:37 ` [PATCH 068/145] xfs_repair: check for impossible rmap record field combinations Darrick J. Wong
2016-06-17  1:38 ` [PATCH 069/145] mkfs: set agsize prior to calculating minimum log size Darrick J. Wong
2016-06-17  1:38 ` [PATCH 070/145] mkfs.xfs: create filesystems with reverse-mappings Darrick J. Wong
2016-06-17  1:38 ` [PATCH 071/145] xfs: count the blocks in a btree Darrick J. Wong
2016-06-17  1:38 ` [PATCH 072/145] xfs: set up per-AG free space reservations Darrick J. Wong
2016-06-17  1:38 ` [PATCH 073/145] xfs: introduce refcount btree definitions Darrick J. Wong
2016-06-17  1:38 ` [PATCH 074/145] xfs: add refcount btree stats infrastructure Darrick J. Wong
2016-06-17  1:38 ` [PATCH 075/145] xfs: refcount btree add more reserved blocks Darrick J. Wong
2016-06-17  1:38 ` [PATCH 076/145] xfs: define the on-disk refcount btree format Darrick J. Wong
2016-06-17  1:38 ` [PATCH 077/145] xfs: account for the refcount btree in the alloc/free log reservation Darrick J. Wong
2016-06-17  1:38 ` [PATCH 078/145] xfs: add refcount btree operations Darrick J. Wong
2016-06-17  1:39 ` [PATCH 079/145] xfs: create refcount update intent log items Darrick J. Wong
2016-06-17  1:39 ` [PATCH 080/145] xfs: log refcount intent items Darrick J. Wong
2016-06-17  1:39 ` [PATCH 081/145] xfs: adjust refcount of an extent of blocks in refcount btree Darrick J. Wong
2016-06-17  1:39 ` [PATCH 082/145] xfs: connect refcount adjust functions to upper layers Darrick J. Wong
2016-06-17  1:39 ` [PATCH 083/145] xfs: adjust refcount when unmapping file blocks Darrick J. Wong
2016-06-17  1:39 ` [PATCH 084/145] xfs: refcount btree requires more reserved space Darrick J. Wong
2016-06-17  1:39 ` [PATCH 085/145] xfs: introduce reflink utility functions Darrick J. Wong
2016-06-17  1:39 ` [PATCH 086/145] xfs: create bmbt update intent log items Darrick J. Wong
2016-06-17  1:39 ` [PATCH 087/145] xfs: log bmap intent items Darrick J. Wong
2016-06-17  1:40 ` [PATCH 088/145] xfs: map an inode's offset to an exact physical block Darrick J. Wong
2016-06-17  1:40 ` [PATCH 089/145] xfs: implement deferred bmbt map/unmap operations Darrick J. Wong
2016-06-17  1:40 ` [PATCH 090/145] xfs: return work remaining at the end of a bunmapi operation Darrick J. Wong
2016-06-17  1:40 ` [PATCH 091/145] xfs: add reflink feature flag to geometry Darrick J. Wong
2016-06-17  1:40 ` [PATCH 092/145] xfs: don't allow reflinked dir/dev/fifo/socket/pipe files Darrick J. Wong
2016-06-17  1:40 ` [PATCH 093/145] xfs: introduce the CoW fork Darrick J. Wong
2016-06-17  1:40 ` [PATCH 094/145] xfs: support bmapping delalloc extents in " Darrick J. Wong
2016-06-17  1:40 ` [PATCH 095/145] xfs: support allocating delayed extents in " Darrick J. Wong
2016-06-17  1:40 ` [PATCH 096/145] xfs: support removing extents from " Darrick J. Wong
2016-06-17  1:41 ` [PATCH 097/145] xfs: store in-progress CoW allocations in the refcount btree Darrick J. Wong
2016-06-17  1:41 ` [PATCH 098/145] xfs: teach get_bmapx and fiemap about shared extents and the CoW fork Darrick J. Wong
2016-06-17  1:41 ` [PATCH 099/145] xfs: support FS_XFLAG_REFLINK on reflink filesystems Darrick J. Wong
2016-06-17  1:41 ` [PATCH 100/145] xfs: create a separate cow extent size hint for the allocator Darrick J. Wong
2016-06-17  1:41 ` [PATCH 101/145] xfs: preallocate blocks for worst-case btree expansion Darrick J. Wong
2016-06-17  1:41 ` [PATCH 102/145] xfs: try other AGs to allocate a BMBT block Darrick J. Wong
2016-06-17  1:41 ` [PATCH 103/145] xfs: provide switch to force filesystem to copy-on-write all the time Darrick J. Wong
2016-06-17  1:41 ` [PATCH 104/145] xfs: increase log reservations for reflink Darrick J. Wong
2016-06-17  1:41 ` [PATCH 105/145] xfs: use interval query for rmap map and unmap operations on shared files Darrick J. Wong
2016-06-17  1:41 ` [PATCH 106/145] xfs: convert unwritten status of shared-extent reverse mappings " Darrick J. Wong
2016-06-17  1:42 ` [PATCH 107/145] xfs: don't allow realtime and reflinked files to mix Darrick J. Wong
2016-06-17  1:42 ` [PATCH 108/145] xfs: don't mix reflink and DAX mode for now Darrick J. Wong
2016-06-17  1:42 ` [PATCH 109/145] xfs: recognize the reflink feature bit Darrick J. Wong
2016-06-17  1:42 ` [PATCH 110/145] xfs_db: dump refcount btree data Darrick J. Wong
2016-06-17  1:42 ` [PATCH 111/145] xfs_db: add support for checking the refcount btree Darrick J. Wong
2016-06-17  1:42 ` [PATCH 112/145] xfs_db: metadump should copy the refcount btree too Darrick J. Wong
2016-06-17  1:42 ` [PATCH 113/145] xfs_db: deal with the CoW extent size hint Darrick J. Wong
2016-06-17  1:42 ` [PATCH 114/145] xfs_growfs: report the presence of the reflink feature Darrick J. Wong
2016-06-17  1:42 ` [PATCH 115/145] xfs_io: bmap should support querying CoW fork, shared blocks Darrick J. Wong
2016-06-17  1:42 ` [PATCH 116/145] xfs_io: get and set the CoW extent size hint Darrick J. Wong
2016-06-17  1:43 ` [PATCH 117/145] xfs_io: add refcount+bmap error injection types Darrick J. Wong
2016-06-17  1:43 ` [PATCH 118/145] xfs_logprint: support cowextsize reporting in log contents Darrick J. Wong
2016-06-17  1:43 ` [PATCH 119/145] xfs_logprint: support refcount redo items Darrick J. Wong
2016-06-17  1:43 ` [PATCH 120/145] xfs_logprint: support bmap " Darrick J. Wong
2016-06-17  1:43 ` [PATCH 121/145] man: document the reflink inode flag in fsxattr Darrick J. Wong
2016-06-17  1:43 ` [PATCH 122/145] man: document the inode cowextsize flags & fields Darrick J. Wong
2016-06-17  1:43 ` [PATCH 123/145] xfs_repair: fix get_agino_buf to avoid corrupting inodes Darrick J. Wong
2016-06-17  1:43 ` [PATCH 124/145] xfs_repair: check the existing refcount btree Darrick J. Wong
2016-06-17  1:43 ` [PATCH 125/145] xfs_repair: handle multiple owners of data blocks Darrick J. Wong
2016-06-17  1:44 ` [PATCH 126/145] xfs_repair: process reverse-mapping data into refcount data Darrick J. Wong
2016-06-17  1:44 ` [PATCH 127/145] xfs_repair: record reflink inode state Darrick J. Wong
2016-06-17  1:44 ` [PATCH 128/145] xfs_repair: fix inode reflink flags Darrick J. Wong
2016-06-17  1:44 ` [PATCH 129/145] xfs_repair: check the refcount btree against our observed reference counts when -n Darrick J. Wong
2016-06-17  1:44 ` [PATCH 130/145] xfs_repair: rebuild the refcount btree Darrick J. Wong
2016-06-17  1:44 ` [PATCH 131/145] xfs_repair: complain about copy-on-write leftovers Darrick J. Wong
2016-06-17  1:44 ` [PATCH 132/145] xfs_repair: check the CoW extent size hint Darrick J. Wong
2016-06-17  1:44 ` [PATCH 133/145] xfs_repair: use range query when while checking rmaps Darrick J. Wong
2016-06-17  1:44 ` [PATCH 134/145] xfs_repair: check for mergeable refcount records Darrick J. Wong
2016-06-17  1:44 ` [PATCH 135/145] mkfs.xfs: format reflink enabled filesystems Darrick J. Wong
2016-06-17  1:45 ` [PATCH 136/145] xfs: introduce the XFS_IOC_GETFSMAPX ioctl Darrick J. Wong
2016-06-17  1:45 ` [PATCH 137/145] xfs_db: introduce the 'fsmap' command to find what owns a set of fsblocks Darrick J. Wong
2016-06-17  1:45 ` [PATCH 138/145] xfs_io: support the new getfsmap ioctl Darrick J. Wong
2016-06-17  1:45 ` [PATCH 139/145] xfs: scrub btree records and pointers while querying Darrick J. Wong
2016-06-17  1:45 ` [PATCH 140/145] xfs: support scrubbing free space btrees Darrick J. Wong
2016-06-17  1:45 ` [PATCH 141/145] xfs: support scrubbing inode btrees Darrick J. Wong
2016-06-17  1:45 ` [PATCH 142/145] xfs: support scrubbing rmap btree Darrick J. Wong
2016-06-17  1:45 ` [PATCH 143/145] xfs: support scrubbing refcount btree Darrick J. Wong
2016-06-17  1:45 ` [PATCH 144/145] xfs: add btree scrub tracepoints Darrick J. Wong
2016-06-17  1:46 ` [PATCH 145/145] xfs_scrub: create online filesystem scrub program Darrick J. Wong

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=20160624015018.GC12670@dastard \
    --to=david@fromorbit.com \
    --cc=darrick.wong@oracle.com \
    --cc=xfs@oss.sgi.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