From: Henk Slager <eye1tm@gmail.com>
To: David Sterba <dsterba@suse.com>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>, clm@fb.com
Subject: Re: Btrfs progs release 4.8.3
Date: Sun, 13 Nov 2016 14:28:02 +0100 [thread overview]
Message-ID: <CAPmG0jYZnB-Hva2GS3WCGQoer2p3rLu0xJBN3d0JfKPFCvi0sA@mail.gmail.com> (raw)
In-Reply-To: <20161111153831.22430-1-dsterba@suse.com>
On Fri, Nov 11, 2016 at 4:38 PM, David Sterba <dsterba@suse.com> wrote:
> Hi,
>
> btrfs-progs version 4.8.3 have been released. Handful of fixes and lots of
> cleanups.
>
> Changes:
> * check:
> * support for clearing space cache (v1)
> * size reduction of inode backref structure
> * send:
> * fix handling of multiple snapshots (-p and -c options)
> * transfer buffer increased (should reduce number of context switches)
> * reuse existing file for output (-f), eg. when root cannot create files (NFS)
> * dump-tree:
> * print missing items for various structures
> * new: dev stats, balance status item
> * sync key names with kernel (the persistent items)
> * subvol show: now able to print the toplevel subvolume -- the creation time
> might be wrong though
> * mkfs:
> * store the creation time of toplevel root inode
It looks like commit 5c4d53450b2c6ff7169c99f9158c14ae96b7b0a8
(btrfs-progs: mkfs: store creation time of the toplevel subvolume'')
is not enough to display the creation time of a newly created fs with
tools v4.8.3, or am I missing something?
With kernel 4.8.6-2-default as well as 4.9.0-rc4-1-default:
# /net/src/btrfs-progs/mkfs.btrfs -L ctimetest -m single /dev/loop0
btrfs-progs v4.8.3
See http://btrfs.wiki.kernel.org for more information.
Performing full device TRIM (100.00GiB) ...
Label: ctimetest
UUID: d65486f0-368b-4b2a-962b-176cd945feb5
Node size: 16384
Sector size: 4096
Filesystem size: 100.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: single 8.00MiB
System: single 4.00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Number of devices: 1
Devices:
ID SIZE PATH
1 100.00GiB /dev/loop0
# mount /dev/loop0 /mnt
# cd /mnt
# ls > test
# sync
# /net/src/btrfs-progs/btrfs sub sh .
/mnt
Name: <FS_TREE>
UUID: -
Parent UUID: -
Received UUID: -
Creation time: -
Subvolume ID: 5
Generation: 9
Gen at creation: 0
Parent ID: 0
Top level ID: 0
Flags: -
Snapshot(s):
I noticed that btrfs_set_stack_timespec_sec(&inode_item.otime, now);
is called twice during mkfs.btrfs, but during btrfs sub sh
get_ri.otime is 0 just before it is formatted/printed. My idea was to
patch the code (kernel and/or progs) such that I can also put a time
in some exiting filesystems.
> * print UUID in the summary
> * build: travis CI for devel
> * other:
> * lots of cleanups and refactoring
> * switched to on-stack path structure
> * fixes from coverity, asan, ubsan
> * new tests
> * updates in testing infrastructure
> * fixed convert test 005
>
> Changes since rc1:
> * fixed convert test 005
> * updates in testing infrastructure
> * mkfs: print UUID in the summary
>
> Tarballs: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/
> Git: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git
>
> Shortlog:
>
> David Sterba (147):
> btrfs-progs: tests: switch to dump- commands from inspect
> btrfs-progs: convert: switch more messages to common helpers
> btrfs-progs: qgroups show: handle errors when resolving root id
> btrfs-progs: remove unused function btrfs_get_path_rootid
> btrfs-progs: rename lookup_ino_rootid
> btrfs-progs: use existing rootid resolving helper in btrfs_list_get_path_rootid
> btrfs-progs: opencode trivial helper __free_all_subvolumn
> btrfs-progs: remove leading underscores from several helper
> btrfs-progs: use symbolic tree name when searching
> btrfs-progs: list: constify prefix arugment
> btrfs-progs: use enum for list layout type
> btrfs-progs: list: rename some helpers
> btrfs-progs: list: switch to common message helpers
> btrfs-progs: subvol list: setup list filters later
> btrfs-progs: return void from btrfs_list_setup_filter
> btrfs-progs: subvol list: cleanup layout argument setup
> btrfs-progs: subvol list: remove useless comments
> btrfs-progs: subvol list: simplify value assignments
> btrfs-progs: subvol list: consilidate naming of otime varaibles
> btrfs-progs: subvol list: add simplified helper for adding root backrefs
> btrfs-progs: subvol list: consolidate uuid types accross functions
> btrfs-progs: remove trivial helper root_lookup_init
> btrfs-progs: subvol list: remove ugly goto construct
> btrfs-progs: subvol list: better error message if subvol insertion fails
> btrfs-progs: subvol show: print more details about toplevel subvolume
> btrfs-progs: dump-tree: print missing dev_item data
> btrfs-progs: dump-tree: print missing chunk data
> btrfs-progs: dump-tree: print missing dev_extent data
> btrfs-progs: dump-tree: factor inode_item dump to function
> btrfs-progs: dump-tree: add helper to print timespec
> btrfs-progs: dump-tree: print missing inode_item data
> btrfs-progs: dump-tree: print missing dir_item data
> btrfs-progs: dump-tree: print more root_item data
> btrfs-progs: dump-tree: print missing data for file extent item
> btrfs-progs: mkfs: store creation time of the toplevel subvolume
> btrfs-progs: introduce key type for persistent temporary items
> btrfs-progs: print-tree: extract offset from the item key
> btrfs-progs: introduce key type for persistent permanent items
> btrfs-progs: switch dev stats item to the permanent item key
> btrfs-progs: teach print_leaf about permanent item subtypes
> btrfs-progs: teach print_leaf about temporary item subtypes
> btrfs-progs: add balance status structures
> btrfs-progs: dump-tree: print balance status item
> btrfs-progs: add dev stats on-disk structure
> btrfs-progs: dump-tree: print dev stats
> btrfs-progs: dump-tree: consolidate data key names
> btrfs-progs: remove unused parameter from print_inode_item
> btrfs-progs: dump-tree: pass item size instead of item
> btrfs-progs: dump-tree: return void from print_* functions
> btrfs-progs: dump-tree: simplify and fix check for empty uuid
> btrfs-progs: dump-tree: constify char argument in print_root_ref
> btrfs-progs: dump-tree: add untyped item ptr helper and use it
> btrfs-progs: dump-tree: rename extent buffer variable in btrfs_print_leaf
> btrfs-progs: dump-tree: move variable declarations closer to their use
> btrfs-progs: dump-tree: move remaining item variables to the scope of use
> btrfs-progs: dump-tree: cleanup types for item number iteration
> btrfs-progs: dump-tree: convert key-to-string to table
> btrfs-progs: dump-tree: convert dir-item-to-string to table
> btrfs-progs: tests: add test for multi-subvolume send from parent
> btrfs-progs: send: constify some arugments
> btrfs-progs: send: increase size of transfer buffer
> btrfs-progs: send: use proper type for read result, and rename the variable
> btrfs-progs: send: clean types in write_buf
> btrfs-progs: send: cleanup, rename some variables in dump_thread
> btrfs-progs: send: cleanup, rename send context variables
> btrfs-progs: send: cleanup use of ctransid delta temporary variable in find_good_parent
> btrfs-progs: check: unify type for inode_backref::filetype
> btrfs-progs: check: unify type for inode_backref::itemtype
> btrfs-progs: check: reorder fields in inode_backref for better packing
> btrfs-progs: mkfs: use const char for unmodified members of directory_name_entry
> btrfs-progs: mkfs: constify some char parameters
> btrfs-progs: reduce size of btrfs_path, locks are not used
> btrfs-progs: reduce size of btrfs_path::reada
> btrfs-progs: reduce size of btrfs_path::lowest_level
> btrfs-progs: mkfs: use on-stack path buffer in cleanup_temp_chunks
> btrfs-progs: convert: use on-stack path buffer in record_file_blocks
> btrfs-progs: convert: use on-stack path buffer in create_image
> btrfs-progs: convert: use on-stack path buffer in link_subvol
> btrfs-progs: image: use on-stack path buffer in create_metadump
> btrfs-progs: image: use on-stack path buffer in fixup_devices
> btrfs-progs: image: add symbolic constant for max thread count
> btrfs-progs: image: use fixed-size array for worker thread pointers
> btrfs-progs: image: use embedded array for metadump cluster buffer
> btrfs-progs: dump-tree: use new names for obsoleted keys
> btrfs-progs: fi du: don't redefine standard macro/function
> btrfs-progs: utils: remove useless check in make_btrfs
> btrfs-progs: qgroup: use on-stack path buffer in repair_qgroup_info
> btrfs-progs: qgroup: use on-stack path buffer in repair_qgroup_status
> btrfs-progs: convert bitfield to separate variables in btrfs_path
> btrfs-progs: check: use on-stack path buffer in add_missing_dir_index
> btrfs-progs: check: use on-stack path buffer in delete_dir_index
> btrfs-progs: check: use on-stack path buffer in find_normal_file_extent
> btrfs-progs: check: use on-stack path buffer in try_repair_inode
> btrfs-progs: check: use on-stack path buffer in repair_btree
> btrfs-progs: check: use on-stack path buffer in try_to_fix_bad_block
> btrfs-progs: check: use on-stack path buffer in verify_space_cache
> btrfs-progs: check: use on-stack path buffer in check_extent_csums
> btrfs-progs: check: use on-stack path buffer in check_extent_exists
> btrfs-progs: check: use on-stack path buffer in delete_duplicate_records
> btrfs-progs: check: use on-stack path buffer in record_orphan_data_extents
> btrfs-progs: check: use on-stack path buffer in fixup_extent_refs
> btrfs-progs: check: use on-stack path buffer in fixup_extent_flags
> btrfs-progs: check: use on-stack path buffer in reset_block_groups
> btrfs-progs: check: use on-stack path buffer in reset_balance
> btrfs-progs: check: use on-stack path buffer in recow_extent_buffer
> btrfs-progs: check: use on-stack path buffer in delete_bad_item
> btrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_one_fs_root
> btrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_fs
> btrfs-progs: check: use on-stack path buffer in fill_csum_tree_from_extent
> btrfs-progs: check: use on-stack path buffer in build_roots_info_cache
> btrfs-progs: check: use on-stack path buffer in repair_root_items
> btrfs-progs: tree-stats: use on-stack path buffer in calc_root_size
> btrfs-progs: restore: use on-stack path buffer in set_file_xattrs
> btrfs-progs: restore: use on-stack path buffer in copy_metadata
> btrfs-progs: restore: use on-stack path buffer in copy_file
> btrfs-progs: restore: use on-stack path buffer in copy_symlink
> btrfs-progs: restore: use on-stack path buffer in search_dir
> btrfs-progs: restore: use on-stack path buffer in do_list_roots
> btrfs-progs: restore: use on-stack path buffer in find_first_dir
> btrfs-progs: check: remove unused variable in record_extent
> btrfs-progs: chunk-recover: use on-stack path buffer in rebuild_block_group
> btrfs-progs: btrfstune: use on-stack path buffer in change_extents_uuid
> btrfs-progs: btrfstune: use on-stack path buffer in change_devices_uuid
> btrfs-progs: mkfs: simplify checks in directory_select
> btrfs-progs: docs: update mkfs help string and manual page
> btrfs-progs: fix unaligned u64 access in btrfs_alloc_data_chunk
> btrfs-progs: fix search tree v2 ioctl detection
> btrfs-progs: tests: teach scan-results about more errors
> btrfs-progs: crc32: use fallback implementation for unaligned buffers
> btrfs-progs: use correct type for device id iteration in get_fs_info
> btrfs-progs: tests: teach extract_image about packed streams
> btrfs-progs: send: check for output file existence before creating
> btrfs-progs: mkfs: add temporary variable for fs features
> btrfs-progs: mkfs: extend mkfs features with compat, safe and default versions
> btrfs-progs: mkfs: enhance feature table
> btrfs-progs: mkfs: add names of matching sysfs feature names
> btrfs-progs: mkfs: print the new UUID
> btrfs-progs: tests: check if kernel has btrfs support
> btrfs-progs: tests: refactor post-convert check helpers
> btrfs-progs: tests: add assertion helper
> btrfs-progs: tests: add path assertions to post-checks
> btrfs-progs: tests: add quotes around variables in common
> btrfs-progs: tests: add quotation around variables in common.convert
> btrfs-progs: tests: add quotation around variables in support scripts
> btrfs-progs: tests: enhance run_mayfail description comment
> btrfs-progs: update CHANGES for v4.8.3
> Btrfs progs v4.8.3
>
> Qu Wenruo (5):
> btrfs-progs: check: add support to clear v1 free space cache
> btrfs-progs: fsck-tests: Check if clear space cache works
> btrfs-progs: Ignore clang complete file
> btrfs-progs: remove send-test tool
> btrfs-progs: Fix memory leak in write_raid56_with_parity
>
> Roman Lebedev (1):
> btrfs-progs: Add travis CI build support
>
> Tsutomu Itoh (3):
> btrfs-progs: send: fix handling of multiple snapshots (-p option)
> btrfs-progs: send: fix handling of -c option
> btrfs-progs: tests: add checking of send multiple clone source option
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-11-13 13:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-11 15:38 Btrfs progs release 4.8.3 David Sterba
2016-11-13 13:28 ` Henk Slager [this message]
2016-11-14 12:25 ` David Sterba
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=CAPmG0jYZnB-Hva2GS3WCGQoer2p3rLu0xJBN3d0JfKPFCvi0sA@mail.gmail.com \
--to=eye1tm@gmail.com \
--cc=clm@fb.com \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/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).