summaryrefslogtreecommitdiff
path: root/btrfs-list.c
Commit message (Collapse)AuthorAge
* Btrfs-progs: fix bug in find_root_genStefan Behrens2013-04-23
| | | | | | A copy & paste error. Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
* Btrfs-progs: fix a small memory leak in btrfs-list.cStefan Behrens2013-04-23
| | | | | | valgrind found this very obvious issue. Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
* btrfs-progs: Tidy up resolve_rootEric Sandeen2013-02-27
| | | | | | | Whitespace fixes and fix a variable declaration after code. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: fix mem leak in resolve_rootEric Sandeen2013-02-27
| | | | | | | If we exit with error we must free the allocated memory to avoid a leak. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: btrfs_list_get_path_rootid error handlingEric Sandeen2013-02-27
| | | | | | | | | | | btrfs_list_get_path_rootid() tries to return a negative number on error, but it's a u64 function. Callers which test for a return < 0 will never see an error. Change the function to fill in the rootid via a pointer, and then return a simple int as error. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: fix btrfs_get_subvol cut/paste errorEric Sandeen2013-02-27
| | | | | | | | | | | | | | | in btrfs_get_subvol(), there is a cut and paste error: if (ri->full_path) the_ri->full_path = strdup(ri->full_path); else the_ri->name = NULL; It should be setting the_ri->full_path to NULL here. Do it in a function instead of the cpoy & paste to avoid future errors. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* Btrfs-progs: update btrfs_get_subvol to be inline with resolve_root ret changesAnand Jain2013-02-01
| | | | Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: filter the deleted subvolumes when listing snapshotsWang Shilong2013-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btrfs snapshot list command will stop by the deleted subvolumes. The problem may happen by two ways: 1. a subvolume deletion is not commited, that is ROOT_BACKREF has been deleted, but ROOT_ITEM still exists. The command will fail to fill the path of the deleted subvolumes because we can not get the parent fs/file tree. 2. a subvolume is possibly deleted when we fill the path, For example, Fs tree |->subv0 |->subv1 We may fill the path of subv1 firstly, after that, some user deletes subv1 and subv0, and then we fill the path of subv0. The command will fail to fill the path of subv0 because we can not get path of subv0. And the command also will fail to make the full path of subv1 because we don't have the path of subv0. Since these subvolumes have been deleted, we should filter them. This patch fixed the above problem by this way. For the 1st case, ->ref_tree of the deleted subvolumes are 0. For the 2nd case, if we found the error number that ioctl() returns is ENOENT, we will set ->ref_tree to 0. And when we make the full path of the subvolumes, we will check ->ref_tree of them and their parent. If someone's ->ref_tree or its parent's ->ref_tree is 0, we will filter it. Reported-by: Stefan Priebe <s.priebe@profihost.ag> Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com> Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: add show subcommand to subvol cliAnand Jain2013-02-01
| | | | | | | | This adds show sub-command to the btrfs subvol cli to display detailed inforamtion of the given subvol or snapshot. Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: make printing subvol extensible to newer layoutsAnand Jain2013-02-01
| | | | | | | | Currently you can print subvol in a list or table format. This patch will provide a way to extend this to other formats like the upcoming raw format. Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: add method to filter snapshots by parent uuidAnand Jain2013-02-01
| | | | Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: add function btrfs_get_subvol to get root_info of a subvolAnand Jain2013-02-01
| | | | | | | | We need a function which can get the root_info of a given subvol. This is in preparation to add support for the show sub-cli. Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: move struct root_info to btrfs-list.hAnand Jain2013-02-01
| | | | | | | | As we would add more ways to list and manage the subvols and snapshots, its better if we have struct root_info defined in the header file. Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: add parent uuid for snapshotsAnand Jain2013-02-01
| | | | Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: move printing subvol list outside of btrfs_list_subvolsAnand Jain2013-02-01
| | | | | | | To improve the code reuse its better to have btrfs_list_subvols just return list of subvols witout printing Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: List all subvolumes by defaultLukas Czerner2013-02-01
| | | | | | | | | | | | | | | | | | | | | | | Commit a1e89891eb6af5381539d9875b85c196150171b6 changed subvolume list command so that we list only subvolumes under the specified directory. However this is confusing and unnecessary obstacle, because one usually want to see all subvolumes in the file system. It was introduced with the notion the full_path may be invalid which is not exactly true as the full_path is always relative to the root subvolume which makes perfect sense. Simply making option '-a' default is not enough since it introduces the relative/absolute path distinction effectively obfuscating the subvolume nesting. This commit returns the subvolume list command behaviour before commit a1e89891eb6af5381539d9875b85c196150171b6 where we list all subvolumes in the filesystem with path naming from root subovolume. IMO this is the best default as it is well understood and gives all the important information about file system subvolumes including subvolume nesting without the need to parse additional information. Signed-off-by: Lukas Czerner <lczerner@redhat.com>
* Btrfs-progs: move path modification to filtersLukas Czerner2013-02-01
| | | | | | | | | | | | Commit 8e8e019e910f20947fea7eff5da40753639d8870 introduces -a option which will list all subvolumes with distinguishing between relative and absolute by prepending absolute patch with "<FS_TREE>". This commit moves the path modification to a filter code rather than doing so in path construction in resolve_root(). This gives us more flexibility in formatting path output. Signed-off-by: Lukas Czerner <lczerner@redhat.com>
* Btrfs-progs: we need to have the string null terminatedAnand Jain2013-01-25
| | | | | | | | | | | | | | | | | | Bug: ------------- btrfs subvolume list / -a ID 258 gen 4226 top level 384 path media/smbshare :: btrfs subvolume list /home -a ID 258 gen 4226 top level 5 path <FS_TREE>/__active/media/smbshare4.snap In the first command's output, this path is printed correctly, however in the second output it has "4.snap" appended, similar to the names of the snapshots I made 22 hours ago. ------------ Signed-off-by: Anand Jain <anand.jain@oracle.com> Reported-by: Brendan Hide <brendan@swiftspirit.co.za>
* Btrfs-progs: fix unaligned accessesArne Jansen2013-01-17
| | | | | | | | There are some unaligned accesses in progs that cause malfunction or crashes on ARM. This patch fixes the ones we stumbled upon. Signed-off-by: Arne Jansen <sensille@gmx.net>
* Btrfs-progs: introduces '-a' option into subvolume list commandWang Shilong2012-10-04
| | | | | | | | | | | | | | | We list the subvolumes under current directory according to the input subvolume. However, if we still want to list all the subvolumes in the tree, we can use '-a' option to help us. There may be two kinds of path: absolute path , relative path . The absolute path is beginning with "<FS_TREE>" The relative path is under current path that you input. Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
* Btrfs-Progs: fix subvolumes's some full_path invaild problems.Wang Shilong2012-10-04
| | | | | | | | | | | | | In the privous way, we list all the subvolumes in the filesystem default. But if a subvolume mounts on another directory, some result's full_path may be invaild. According to this, we try to list subvolumes under directoy only by default. In this way, all the subvolume can be arrived by the full_path. Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
* Btrfs-progs: introduce '-t' option into subvolume list commandMiao Xie2012-10-04
| | | | | | | | This patch introduces '-t' option into subvolume list command. By this option, we can output the result as a table. Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com> Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* Btrfs-progs: introduce -g -c --sort options into btrfs subvol list commandwangshilong2012-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces '-g' '-c' '--sort' options The option '-g' can help you filter the subvolumes by the generation, you may use it just like: btrfs subvol list -g +/-value <path> '+' means the generation of the subvolumes should >= the value you specified. '-' means the generation should <= the value If you don't input either '+' nor '-', this command will list the subvolumes that their generation equals to the value. However if you want to find gengeration between value1 and value2 you may use the above like: btrfs sub list -g -value1 -g +value2 <path> The option '-c' can help you filter the subvolumes by the ogeneration, you may use it just like: btrfs subvol list -c +/-value <path> The usage is the same to '-g' You might want to list subvolumes in order of some items, such as root id, gen and so on, you can use '--sort'. Now you can sort the subvolumes by root id, gen, ogen and path. For example: If you want to list subvolumes in order of rootid, you can use the option like that: btrfs sub list --sort=+/-rooid <path> Here, '+' means the result is sorted by ascending order. '-' is by descending order. If you don't specify either '+' nor '-', the result is sorted by default - ascending order. If you want to combine sort items, you do it like that: btrfs sub list --sort=-rootid,+path,ogen,gen <path> Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com> Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* Btrfs-progs: enhance btrfs subvol list only to show read-only snapshotsMiao Xie2012-10-04
| | | | | | | | | | | | We want 'btrfs subvolume list' only to list readonly subvolumes, this patch set introduces a new option 'r' to implement it. You can use the command like that: btrfs subvolume list -r <path> Original-Signed-off-by: Zhou Bo <zhoub-fnst@cn.fujitsu.com> Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* Btrfs-progs: restructure list_subvolumesMiao Xie2012-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code of list_subvols() has very bad scalability, if we want to add new filter conditions or new sort methods, we have to modify lots of code. Beside that, the most code of list_snapshots() is similar to list_subvols(), So I restructure list_subvols(), and split the subvolume filter function, the subvolume sort function and the output function from list_subvols(). In order to implement it, we defined some importtant structures: struct btrfs_list_filter { btrfs_list_filter_func filter_func; void *data; }; struct btrfs_list_comparer { btrfs_list_comp_func comp_func; int is_descending; }; struct { char *name; char *column_name; int need_print; } btrfs_list_columns[]; If we want to add a new filter condition, we can choose a suitable filter function, or implement a new filter function[1], and add it into a set of the filters, and then pass the filter set into list_subvols(). We also can mix several filters (just add those filters into the set, and pass the set into list_subvols()) if the users specify two or more filter conditions. The subvolume sort function is similar to the subvolume filter function. The differentiation is the order of comparers in the array which is passed into list_subvols() show us the priority of the sort methods. The output function is different with the above two functions, we define a array to manage all the columns that can be outputed, and use a member variant (->need_print) to control the output of the relative column. Some columns are outputed by default. But we can change it according to the requirement of the users. After appling this patch, we needn't implement a independent list_snapshots() function, just pass a filter function which is used to identify the snapshot into list_subvols(). [1]: If we implement new filter functions or compare functions, we must add them into the array all_filter_funcs or the array all_comp_funcs, and modify the relative enum variants(btrfs_list_filter_enum, btrfs_list_comp_enum). Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* Btrfs-progs: fix wrong way to check if the root item contains otime and uuidMiao Xie2012-10-04
| | | | | | | | | | | | | Now we check if the root item contains otime and uuid or not by comparing ->generation_v2 and ->generation of the btrfs_root_item structure, it is wrong because it is possbile that ->generation may equal to the first variant of the next item. We fix this problem by check the size of btrfs_root_item, if it is larger than the original one, the new btrfs_root_item contains otime and uuid. we needn't worry the case that the new filesystem is mounted on the old kernel. because the otime and uuid are not changed on the old kernel, we can get the correct result even on the kernel. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* Btrfs-progs: move the function declarations to a new head fileZhou Bo2012-10-04
| | | | | | Move the function declarations to a new head file. Signed-off-by: Zhou Bo <zhoub-fnst@cn.fujitsu.com>
* Btrfs-progs: add -u to show subvol uuidAnand Jain2012-10-04
| | | | | | | Applications would need to know the uuid to manage the configurations associated with the subvol and snapshots Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: add otime to the snapshot listAnand Jain2012-10-04
| | | | | Reviewed-by: Alexander Block <ablock84@googlemail.com> Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: list snapshots by generationLiu Bo2012-10-04
| | | | | | | | | | | | | | | The idea is that we usually use snapshot to backup/restore our data, and the common way can be a cron script which makes lots of snapshots, so we can end up with spending some time to find the latest snapshot to restore. This adds a feature for 'btrfs subvolume list' to let it list snapshots by their _created_ generation. What we need to do is just to list them in descending order and get the latest snapshot. What's more, we can find the oldest snapshot as well by listing snapshots in ascending order. Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
* Btrfs-progs: show generation in command btrfs subvol listLiu Bo2012-10-04
| | | | | | | | | | | | | This adds the ability to show root's modification generation when we use btrfs subvol list. NOTE: Like file's atime and ctime, root's generation also has 'creation generation' and 'modification generation'. The generation that we're going to show is 'modification generation', and the next patch is going to show 'creation generation'. Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
* Btrfs-progs: search subvolumes with proper objectidLiu Bo2012-10-04
| | | | | | | Btrfs's subvolume/snapshot is limited to [BTRFS_FIRST_FREE_OBJECTID, BTRFS_LAST_FREE_OBJECTID], so just apply the range. Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
* Btrfs: fix off by one in null terminationChris Mason2012-07-05
| | | | | | | A recent commit was null terminating the root listing strings one byte too short. Signed-off-by: Chris Mason <chris.mason@fusionio.com>
* Merge branch 'for-chris' of git://github.com/idryomov/btrfs-progs into 0.20Chris Mason2012-07-05
|\
| * Btrfs-progs: bring 'subvol get-default' back inIlya Dryomov2012-03-12
| | | | | | | | | | | | | | | | Commit bab2c565 accidentally broke 'subvol get-default' command by removing almost all of the underlying code. Bring it back with some fixes and improvements. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
| * Btrfs-progs: refactor resolve_root() function a bitIlya Dryomov2012-03-12
| | | | | | | | | | | | | | | | Don't pass a pointer to root_id to resolve_root(). It's always the same as ri->root_id, passing a pointer hints that root_id can somehow change which is not true. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
| * Btrfs-progs: nuke redundant zeroing in __list_subvol_search()Ilya Dryomov2012-03-12
| | | | | | | | | | | | There's no need to zero out things twice. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
* | avoid several strncpy-induced buffer overrunsJim Meyering2012-06-05
|/ | | | | | | | | | | | | | * restore.c (main): Ensure strncpy-copied dir_name is NUL-terminated. * btrfsctl.c (main): Likewise, for a command-line argument. * utils.c (multiple functions): Likewise. * btrfs-list.c (add_root): Likewise. * btrfslabel.c (change_label_unmounted): Likewise. * cmds-device.c (cmd_add_dev, cmd_rm_dev, cmd_scan_dev): Likewise. * cmds-filesystem.c (cmd_resize): Likewise. * cmds-subvolume.c (cmd_subvol_create, cmd_subvol_delete, cmd_snapshot): Likewise. Reviewed-by: Josef Bacik <josef@redhat.com>
* Btrfs-progs: added ioctls and commands to resolve inodes and logical addrsJan Schmidt2011-11-02
| | | | | | | | | two new commands that make use of the new path resolving functions implemented for scrub, doing the resolving in-kernel. the result for both commands is a list of files belonging to that inode / logical address. Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Fix missing entries in listing of subvolumesLi Zefan2011-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stephane Chazelas <stephane.chazelas@gmail.com> writes: > I've got a btrfs FS with 84 subvolumes in it (some created with > "btrfs sub create", some with "btrfs sub snap" of the other > ones). There's no nesting of subvolumes at all (all direct children > of the root subvolume). > > The "btrfs subvolume list" is only showing 80 subvolumes. The 4 > missing ones (1 original volume, 3 snapshots) do exist on disk and > files in there have different st_devs from any other subvolume. > > I found > http://thread.gmane.org/gmane.comp.file-systems.btrfs/8123/focus=8208 > > which looks like the same issue, with Li Zefan saying he had a > fix, but I couldn't find any mention that it was actually fixed. Li Zefan <lizf@cn.fujitsu.com> replied: > After that, I posted a patch to fix btrfs-progs, which Chris aggreed > on: > > http://marc.info/?l=linux-btrfs&m=129238454714319&w=2 So this btrfs-progs patch should fix missing subvolumes in the output of "subvolume list": Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Hugo Mills <hugo@carfax.org.uk>
* Btrfs-progs: btrfs-list: split list_subvolsChris Mason2011-11-02
| | | | | | | | | split list_subvols to separate functions and allow printing only in the containing function. lets us make use of those functions when resolving logical addresses. Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs-progs: add "btrfs subvolume get-default" subcommandZhong, Xin2011-10-25
| | | | | | | | | | | | | | Add subcommand to get the default subvolume of btrfs filesystem V2->V3: * add man page * based on http://git.darksatanic.net/repo/btrfs-progs-unstable.git integration-20110705 Reviewed-by: Andreas Philipp <philipp.andreas@gmail.com> Reviewed-by: Goffredo Baroncelli <kreijack@libero.it> Reported-by: Yang, Yi <yi.y.yang@intel.com> Signed-off-by: Zhong, Xin <xin.zhong@intel.com>
* remove unused include "version.h"Andreas Philipp2011-10-25
| | | | | | | | In the file btrfs-list.c version.h was included but not used. So just drop it. Signed-off-by: Andreas Philipp <philipp.andreas@gmail.com> Signed-off-by: Hugo Mills <hugo@carfax.org.uk>
* print parent ID in btrfs suvolume listAndreas Philipp2011-10-25
| | | | | | | | | There was some discussion on "where" subvolumes live in. Why do we not simply print the parent ID for each subvolume in btrfs subvolume list? This patch adds this functionality when called with parameter "-p". Signed-off-by: Andreas Philipp <philipp.andreas@gmail.com> Signed-off-by: Hugo Mills <hugo@carfax.org.uk>
* btrfs-progs: cast u64 to long long to avoid printf warningsAnton Blanchard2011-10-25
| | | | | | | | | | | | When building on ppc64 I hit a number of warnings in printf: btrfs-map-logical.c:69: error: format ‘%Lu’ expects type ‘long long unsigned int’, but argument 4 has type ‘u64’ Fix them. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Hugo Mills <hugo@carfax.org.uk>
* Improve error handling in the btrfs commandGoffredo Baroncelli2011-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi Chris, below is enclosed a trivial patch, which has the aim to improve the error reporting of the "btrfs" command. You can pull from http://cassiopea.homelinux.net/git/btrfs-progs-unstable.git branch strerror I changed every printf("some-error") to something like: e = errno; fprintf(stderr, "ERROR: .... - %s", strerror(e)); so: 1) all the error are reported to standard error 2) At the end of the message is printed the error as returned by the system. The change is quite simple, I replaced every printf("some-error") to the line above. I don't touched anything other. I also integrated a missing "printf" on the basis of the Ben patch. This patch leads the btrfs command to be more "user friendly" :-) Regards G.Baroncelli btrfs-list.c | 40 ++++++++++++++++++++++-------- btrfs_cmds.c | 77 ++++++++++++++++++++++++++++++++++++++++----------------- utils.c | 6 ++++ 3 files changed, 89 insertions(+), 34 deletions(-) Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Handle bad extent type caseFrederic Weisbecker2010-09-23
| | | | | | | | | | | | | | | | | | | If we meet a bad extent type, find_updated_files is going to print random things. Better warn the user about what happens. This fixes: btrfs-list.c: Dans la fonction «find_updated_files» : btrfs-list.c:668: attention : «disk_offset» may be used uninitialized in this function btrfs-list.c:668: note: «disk_offset» was declared here btrfs-list.c:667: attention : «disk_start» may be used uninitialized in this function btrfs-list.c:667: note: «disk_start» was declared here btrfs-list.c:666: attention : «len» may be used uninitialized in this function btrfs-list.c:666: note: «len» was declared here make: *** [btrfs-list.o] Erreur 1 Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
* Avoid uninitialized variant compile warningZhao Lei2010-09-23
| | | | | | | | | | | | | | | | | | When we compile btrfs-progs in RHEL5(with default gcc version 4.1.2 20070626), we can get following error: cc1: warnings being treated as errors btrfs-list.c: In function 'find_updated_files': btrfs-list.c:668: warning: 'disk_offset' may be used uninitialized in this function btrfs-list.c:667: warning: 'disk_start' may be used uninitialized in this function btrfs-list.c:666: warning: 'len' may be used uninitialized in this function make: *** [btrfs-list.o] Error 1 These varient are always initialized except inconsistent data in file system. We can set initial value for these variant for this situation. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* fix a compile fail by strndup in RHEL5 envZhao Lei2010-09-23
| | | | | | | | | | | | | | | | | | | | | | When we compile btrfs-progs in RHEL5(with default gcc 4.1.2 and glibc-2.5-18), we can get following error: cc1: warnings being treated as errors btrfs-list.c: In function 'ino_resolve': btrfs-list.c:511: warning: implicit declaration of function 'strndup' btrfs-list.c:511: warning: incompatible implicit declaration of built-in function 'strndup' make: *** [btrfs-list.o] Error 1 ... cc1: warnings being treated as errors btrfs.c: In function 'split_command': btrfs.c:168: warning: implicit declaration of function 'strndup' btrfs.c:168: warning: incompatible implicit declaration of built-in function 'strndup' make: *** [btrfs-list.o] Error 1 We can add _GNU_SOURCE definition according man strndup. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
* Add btrfs subvol find-new commandChris Mason2010-03-18
| | | | | | | | btrfs-subvol find-new <subvol> <id> will search through a given subvol and print out all the files with extents newer than a given id. Care must be taken to make sure any pending delalloc is on disk before running this because that won't show up in the output.