From: Anand Jain <anand.j...@oracle.com> This patch made the function find_updated_files to update the transid in a pointer instead of printing it on the stdout. This is needed by the autosnap and anyother program which may want to find the current transid. Note that when last_gen 3rd parameter is not -1 then find_updated_files might still print the values on the stdout.
Signed-off-by: Anand Jain <anand.j...@oracle.com> --- btrfs-list.c | 4 ++-- btrfs_cmds.c | 5 ++++- btrfs_cmds.h | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/btrfs-list.c b/btrfs-list.c index 61eddf9..6b642fb 100644 --- a/btrfs-list.c +++ b/btrfs-list.c @@ -872,7 +872,7 @@ static int print_one_extent(int fd, struct btrfs_ioctl_search_header *sh, return 0; } -int find_updated_files(int fd, u64 root_id, u64 oldest_gen) +int find_updated_files(int fd, u64 root_id, u64 oldest_gen, u64 *transid) { int ret; struct btrfs_ioctl_search_args args; @@ -969,7 +969,7 @@ int find_updated_files(int fd, u64 root_id, u64 oldest_gen) } free(cache_dir_name); free(cache_full_name); - printf("transid marker was %llu\n", (unsigned long long)max_found); + *transid = max_found; return ret; } diff --git a/btrfs_cmds.c b/btrfs_cmds.c index 7aab105..9357305 100644 --- a/btrfs_cmds.c +++ b/btrfs_cmds.c @@ -275,6 +275,7 @@ int do_find_newer(int argc, char **argv) int ret; char *subvol; u64 last_gen; + u64 *tranid; subvol = argv[1]; last_gen = atoll(argv[2]); @@ -294,9 +295,11 @@ int do_find_newer(int argc, char **argv) fprintf(stderr, "ERROR: can't access '%s'\n", subvol); return 12; } - ret = find_updated_files(fd, 0, last_gen); + ret = find_updated_files(fd, 0, last_gen, tranid); if (ret) return 19; + + printf("transid marker was %llu\n", (unsigned long long)*tranid); return 0; } diff --git a/btrfs_cmds.h b/btrfs_cmds.h index f53c113..218ed20 100644 --- a/btrfs_cmds.h +++ b/btrfs_cmds.h @@ -35,7 +35,7 @@ int do_set_default_subvol(int nargs, char **argv); int do_get_default_subvol(int nargs, char **argv); int list_subvols(int fd, int print_parent, struct sv_list **head, char *mnt); int do_df_filesystem(int nargs, char **argv); -int find_updated_files(int fd, u64 root_id, u64 oldest_gen); +int find_updated_files(int fd, u64 root_id, u64 oldest_gen, u64 *transid); int do_find_newer(int argc, char **argv); int do_change_label(int argc, char **argv); int open_file_or_dir(const char *fname); -- 1.7.9.2.315.g25a78 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html