summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* btrfs-progs: fsck: avoid pinning same block several timesWang Shilong2014-10-10
| | | | | | | | This can not only give some speedups but also avoid forever loop with a really broken filesystem. Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove BTRFS_SCAN_DEV and btrfs_scan_one_dirEric Sandeen2014-10-10
| | | | | | | | | | After the previous 2 patches, nothing uses whole-dev-tree scanning, so remove the code which implemented that functionality. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: don't fall back to recursive /dev scanEric Sandeen2014-10-10
| | | | | | | | | | | | | | | | | | If we didn't find what we are looking for in /proc/partitions, we're not going to find it by scanning every node under /dev, either. But that's just what btrfs_scan_for_fsid() does. Remove that fallback; at that point btrfs_scan_for_fsid() just calls scan_for_btrfs(), so remove the wrapper & call it directly. Side note: so, these paths always use /proc/partitions, not libblkid. Userspace-intiated scans default to libblkid. I presume this is part of the design, and intentional? Anyway, not changing it now! Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: scan /proc/partitions not all of /dev with "-d"Eric Sandeen2014-10-10
| | | | | | | | | | | | | | | We can scan for btrfs devices in a few ways. By default libblkid is used for "device scan" and "filesystem show"; with the -m option only mounted filesystems are scanned, and with -d we physically read every system device. But there's no reason for the complexity of a descent through /dev; /proc/partitions has every device known to the kernel, so just use that when -d is specified. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: wait until all subvolumes are cleanedDavid Sterba2014-10-10
| | | | | | | | Enhance the 'subvolume' subcommand to wait until a given list of subvolumes or all currently scheduled for deletion are cleaned completely from the filesystem. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix malloc size for superblock.Qu Wenruo2014-10-10
| | | | | | | | | | | recover_prepare() in chunk-recover.c alloc memory which only contains sizeof(struct btrfs_super_block). This will cause glibc malloc error after superblock csum is calculated. Use BTRFS_SUPER_INFO_SIZE to fix the bug. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.16.2David Sterba2014-10-01
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs-progs: check all slots in leavesJosef Bacik2014-10-01
| | | | | | | | | There's an off by one error in btrfs_check_leaf, we should be going to nritems - 1, not nritems - 2, we were missing problems with items in the very last slot. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Check the csum tree node before go through the csum treeQu Wenruo2014-10-01
| | | | | | | | | | | | | | | | | | | [BUG] Some fsfuzzed btrfs image will cause btrfsck segfault. [REPRODUCER] Run btrfsck on a csum tree block corrupted image. [REASON] check_csums() function call btrfs_search_slot() on csum_tree but doesn't check whether the csum_tree contains a valid extent_buffer, which causes the segfault. [FIX] Check the csum_root->node before any search. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: add root to dirty list when fixing bad keysJosef Bacik2014-10-01
| | | | | | | | | | | | A user reported a WARN_ON() when trying to run btrfsck --repair on his fs with bad key ordering. This was because the root that was broken wasn't part of the transaction yet. We do this open coded thing in a few other places in fsck, so just make it a helper function and make sure all the places that need to call it do call it. With this patch he was able to run repair without it dying. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs-progs: let btrfs-image actually work on a balanced fsJosef Bacik2014-10-01
| | | | | | | | | | | | | We use the read extent buffer infrastructure to read the super block when we are creating a btrfs-image. This works out fine most of the time except when the fs has been balanced, then it fails to map the super block. So we could fix btrfs-image to read in the super in a special way, but thats more code. So instead just check in the eb reading code if we are reading the super and then don't bother mapping the block, just read the actual offset. This fixed some poor guy who was trying to btrfs-image his fs that had been balanced. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs-progs: don't assert when we have an invalid mappingJosef Bacik2014-10-01
| | | | | | | | | Asserting is no fun, we may be able to recover from this error in certain cases (like btrfs-image and btrfsck). Just do what the kernel does and spit out an error and return that there is only 1 copy. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs-progs: make BUG*() be more verboseJosef Bacik2014-10-01
| | | | | | | | | | | | Currently these macros just tie to assert(), which gives us line number and such but no backtrace so no actual context. This patch adds support for spitting out a backtrace so we can see how we got to the given assert. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> [backtrace_symbols_fd] Signed-off-by: Naohiro Aota <naota@elisp.net> [minor fixups] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Add human readable incompat flags output for btrfs-show-superQu Wenruo2014-10-01
| | | | | | | | Add human readable incompat flags output for btrfs-show-super, now no longer needs to calculate the hex flags by hand. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix typo in subvol list usageDavid Disseldorp2014-10-01
| | | | | | Signed-off-by: David Disseldorp <ddiss@suse.de> [moved to new asciidoc] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: update manpage with new option -f for btrfstuneGui Hecheng2014-10-01
| | | | | | | | | The new option -f will force to do dangerous changes. e.g. clear the seeding flag. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> [more text from 3db4c0a3d35dd5f8 changelog] Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Properly cast to avoid compiler warnings, fixes FTBFS on alpha ↵Dimitri John Ledkov2014-10-01
| | | | | | | | | | | | | | and ia64 Bug-Debian: http://bugs.debian.org/539433 Bug-Debian: http://bugs.debian.org/583768 Authors: Luca Bruno <lucab@debian.org> Alexander Kurtz <kurtz.alex@googlemail.com> Daniel Baumann <daniel.baumann@progress-technologies.net> Signed-off-by: Dimitri John Ledkov <xnox@debian.org> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix many typos in documentsNaohiro Aota2014-10-01
| | | | | | | | | | | There are many trivial typos in Documentation/*.txt. All of these use "exist status" to mean "exit status" by mistake. I guess someone first made this mistake and it has spread by copy-and-paste :-D Signed-off-by: Naohiro Aota <naota@elisp.net> Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs progs v3.16.1David Sterba2014-09-15
| | | | Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: doc: fix invalid reference to setattr(8)Naohiro Aota2014-09-14
| | | | | | | | | man 8 btrfs-property refers to `setattr(8)` which does not actually exist. It should refer to `chattr (1)` instead. Signed-off-by: Naohiro Aota <naota@elisp.net> Reviewed-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove wrong set_argv0 for restoreGui Hecheng2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | Before this patch, you could see the following after exec restore # :too few arguments The tool name "btrfs restore" is missing. The @set_argv0() function is introduced by: commit a184abc70f7b1468e6036ab576f1587ee0574668 btrfs-progs: move the check_argc_* functions into utils.c ... Also add a new function "set_argv0" to set the correct tool name: *btrfs-image*: too few arguments But @set_argv0() only applies to the independent tools with the name pattern btrfs-***. Since restore is now is subcommand under "btrfs", there is no need to use @set_argv0() before check_argc_* to repair the prompt tool name before "too few arguments". Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove btrfs_release_path before btrfs_free_pathGui Hecheng2014-09-14
| | | | | | | The btrfs_free_path calls btrfs_release_path internally. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix find_mount_root() to handle duplicated mount point correctlyQu Wenruo2014-09-14
| | | | | | | | | | | | | | | | | | | | | Original find_mount_root() will use the first mount point match and return it. It was OK until the following commit, which will also check the fstype: de22c28ef31d9721606ba059 btrfs-progs: Check fstype in find_mount_root() With fstype check, we should check the last match, not only the first one. Or the following mount will not pass the find_mount_root(): /dev/sdc on /mnt/test type ext4 (rw,relatime,data=ordered) /dev/sdb on /mnt/test type btrfs (rw,relatime,space_cache) This patch will use the last match to do the fstype check. Reported-by: Remco Hosman <remco@yerf-it.nl> Signed-off-by: Remco Hosman <remco@yerf-it.nl> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Reviewed-by: Omar Sandoval <osandov@osandov.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix next_leaf in restore as it improperly skips some slotsGui Hecheng2014-09-14
| | | | | | | | When entering the next level node, the @next_leaf in restore forgets to start at the first slot. Just reset it to the first one. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix len of read_extent_buffer for inline extent in restoreGui Hecheng2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Steps to reproduce: # mkfs.btrfs -f <dev> # mount -o compress-force=lzo <dev> <mnt> # for ((i=0;i<4000;i++)); do echo -n 'A' >> <mnt>/inline_data done # umount <mnt> # valgrind --tool=memcheck --leak-check=full \ btrfs restore <dev> <dest_dir> output: ==32118== Invalid read of size 1 ==32118== at 0x4A0A4E4: memcpy@@GLIBC_2.14 ==32118== by 0x43DC91: read_extent_buffer ==32118== by 0x421401: search_dir (cmds-restore.c:240) ==32118== by 0x422CBB: cmd_restore (cmds-restore.c:1317) ==32118== by 0x404709: main (btrfs.c:248) ==32118== Address 0x4c4f4ac is not stack'd, malloc'd or... It is because when deal with inline extent, the read_extent_buffer is now reading a len of @ram_bytes which is the len of the uncompressed data. But actually here we want the len of the inline item. So in the compressed situation, use the len of the inline item. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: kill BUG_ON in readahead_tree_block()Zach Brown2014-09-14
| | | | | | | | | | | David sent a quick patch that removed a BUG_ON(). I took a peek and found that the function was already leaking an eb ref and only returned 0. So this fixes the leak and makes the function void and fixes up the callers. Accidentally-motivated-by: David Sterba <dsterba@suse.cz> Signed-off-by: Zach Brown <zab@zabbo.net> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: corrupt-block: fix a delete and use bug corrupting extent treeQu Wenruo2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | When corrupting extent tree, corrupt-block will iterate each child node/leaf of a node. However, when a node's child is leaf, btrfs_corrupt_extent_leaf() may delete some item in the leaf, which may cause the children number of the parent node decrease. Before this patch, corrupt-block will read out the nritems only *ONCE* and iterate the 'nritems' times. When btrfs_corrupt_extent_leaf() deletes enough item, causing the nritems of btrfs_header decreased, the last few iteration will access non-existed node, which will cause the delete and use bug like the following: deleting extent record: key 40714240 168 16384 Couldn't map the block 3459802452797161472 btrfs-corrupt-block: volumes.c:1137: btrfs_num_copies: Assertion `!(!ce)' failed. Aborted This patch will update the nritmes in each iteration to avoid the bug. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: init uninitialized output buf for btrfs-restoreGui Hecheng2014-09-14
| | | | | | | | | | | | | | | | | A memory problem reported by valgrind as follows: === Syscall param pwrite64(buf) points to uninitialised byte(s) When running: # valgrind --leak-check=yes btrfs restore /dev/sda9 /mnt/backup Because the output buf size is alloced with malloc, but the length of output data is shorter than the sizeof(buf), so valgrind report uninitialised byte(s). We could use calloc to repalce malloc and clear this WARNING away. Reported-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Add -R to list UUIDs of original received subvolumeHugo Mills2014-09-14
| | | | | | | | | | | When using send/receive, it it useful to be able to match up source subvols on the send side (as, say, for -p or -c clone sources) with their corresponding copies on the receive side. This patch adds a -R option to btrfs sub list to show the received subvolume UUID on the receive side, allowing the user to perform that matching correctly. Signed-off-by: Hugo Mills <hugo@carfax.org.uk> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs-progs: fix typosHolger Hoffstätte2014-09-02
| | | | | | | Fix (at least one user-visible) typos: it's its, not it's. Signed-off-by: Holger Hoffstätte <holger.hoffstaette@googlemail.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Improve static building and installationThomas Petazzoni2014-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | This commit improves the static-only building of btrfs-progs, and adds support for installing the static only tools: - It now ensures that all programs are built statically, not only a small subset of them, by defining 'progs_static' from the existing 'progs' variable. - It changes the order of libraries in the btrfs-%.static rule so that -lpthread (part of STATIC_LIBS) appears *after* the '$($(subst -,_,$(subst .static,,$@)-libs))' logic, which brings in -lcom_err. This is needed because libcom_err.a uses the semaphore functions, which are available in the pthread library. - Adds the necessary rules to generate the btrfsck.static link and btrfstune.static binary. - Adds an 'install-static' target to install the static binaries. Note that they are renamed to not carry a '.static' suffix. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Add support for DISABLE_DOCUMENTATIONGustavo Zacarias2014-09-02
| | | | | | | | | | | This commit adds the support for a make variable named "DISABLE_DOCUMENTATION", which allows to disable the build of the documentation. This is useful in contexts where the tools needed to build the documentation are not necessarily available. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: move debug info to verbose mode for restoreGui Hecheng2014-09-02
| | | | | | | | The restore tool should only print info of the restoring process in verbose mode with -v option specified. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: library version definesArvin Schnell2014-09-02
| | | | | | | | | | | | | | commit 46de1a6ec3dbb0db203baa6c46cb64ba9b000ea2 changed the parameters of btrfs_read_and_process_send_stream(). This breaks snapper compilation. We can include version defines usable for the C preprocessor. Version 0.1.0: API up to and including 46de1a6ec3dbb0db2 (3.14.x) Version 0.1.1: 909131939f750faffb9fab (changed in 3.16) Signed-off-by: Arvin Schnell <aschnell@suse.de> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: read global reserve size from space infosDavid Sterba2014-08-28
| | | | | | | | Kernels >= 3.15 export the global block reserve as a space info presented by 'btrfs fi df' but would display 'unknown' instead of some meaningful string. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove unused flags for btrfs_pathGui Hecheng2014-08-28
| | | | | | | | | | | | | | | The three flags of @btrfs_path: btrfs_path { unsigned int keep_locks:1; unsigned int skip_locking:1; unsigned int leave_spinning:1; } have little meaning, because the userspace @btrfs_search_slot() is free of locking and no other routines will decide their behavior on these. So just remove them. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Do not free dirty extent bufferNaohiro Aota2014-08-28
| | | | | | | | free_some_buffer() should not free dirty extent buffers. They are left to be committed. Signed-off-by: Naohiro Aota <naota@elisp.net> Signed-off-by: David Sterba <dsterba@suse.cz>
* Btrfs Progs v3.16Chris Mason2014-08-26
| | | | Signed-off-by: Chris Mason <clm@fb.com>
* btrfs-progs: check: do not require argument for --subvol-extentsDavid Sterba2014-08-22
| | | | | | | $ btrfs check --subvol-extents /dev/sdx ERROR: /dev/sdx is not a valid numeric value. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: mkfs make --uuid require an argumentDavid Sterba2014-08-22
| | | | | | | $ mkfs.btrfs --uuid 1234... /dev/sdx Error: error checking 1234... status: No such file or directory Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: Fix spelling in btrfs sub list helpHugo Mills2014-08-22
| | | | | | | "below", not "bellow" Signed-off-by: Hugo Mills <hugo@carfax.org.uk> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: fix unaligned loads in receiveZach Brown2014-08-22
| | | | | | | | | | | | | | | | | A user reported corruption after receiving subvolumes. Turning up the logging during the receive showed that the commands and string attributes were being received correctly but the u64 attrbutes were sometimes corrupted by having variable number of low order bytes introduced. It turned out they were on a platform that corrupts unaligned userspace loads. Loading the u64s from the unaligned pointers into the received command stream with get_unaligned() fixed the problem. Reported-By: Klaus Holler <kho@gmx.at> Tested-By: Klaus Holler <kho@gmx.at> Signed-off-by: Zach Brown <zab@zabbo.net> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: add ask_user confirmation for btrfstune clear seeding flagGui Hecheng2014-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we do the following: # mkfs.btrfs -f <dev> # mount <dev> <mnt> # dd if=/dev/urandom of=<mnt>/data bs=1M count=100 # umount <dev> # btrfstune -S 1 <dev> <--- make seeding device # mount <dev> <mnt> # btrfs dev add -f <dev2> <mnt> # umount <dev> # btrfstune -S 0 <dev> <--- clear seeding flag # mount <dev2> <mnt> <=== new device not mountable When mounting the new device, btrfs will check whether the seeding flag is set when try to open seeding device. If the user clears the seeding flag of the seeding device, the new device will not be mountable. Even set the seeding flag back will not recovery this problem, because the generation has been changed. So clear the seeding flag has the chance to damage the derived new fs. So I add user confirmation check when clearing seeding flag. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: avoid to use numeric literal for the size of uuid bufferSatoru Takeuchi2014-08-22
| | | | | | | | | Replace a numeric literal to more descriptive macro for the size of uuid buffer. Signed-of-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: random fixes for usage string of btrfs scrubSatoru Takeuchi2014-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | - Add missing description about "-R" option in the command usage of "btrfs scrub resume". - Add missing comma to avoid the following misformatted command usage of "btrfs scrub start". See the line of "-R" option. === usage: btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] <path>|<device> Start a new scrub -B do not background -d stats per device (-B only) -q be quiet -r read only mode -R raw print mode, print full data instead of summary-c set ioprio class (see ionice(1) manpage) -n set ioprio classdata (see ionice(1) manpage) -f force to skip checking whether scrub has started/resumed in userspace this is useful when scrub stats record file is damaged === Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: add missing descriptions of '--max-errors' in btrfs-receive ↵Satoru Takeuchi2014-08-22
| | | | | | | | | | documentation Fix the lack of description of "--max-erros" option in both man and command usage of btrfs receive. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: remove unused parameter in rollback for btrfs-convertGui Hecheng2014-08-22
| | | | | | | | The @force parameter for function @do_rollback is never checked or used, remove it. Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: check option conflict for btrfs-convertGui Hecheng2014-08-22
| | | | | | | | | The -d, -i, -n options make no sense to rollback. Check the improper usages such as: # btrfs-convert -r -d <dev> Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: move test_isdir() to utils.cSatoru Takeuchi2014-08-22
| | | | | | | | | | | | Since test_isdir() is a utility function, it's better to move it to utils.c. In addition, "const char *" is more appropriate type as its "path" argument because this argument is not changed in this function. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Cc: David Sterba <dsterba@suse.cz> Cc: Mike Fleetwood <mike.fleetwood@googlemail.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: introduce test_issubvolname() for simplicitySatoru Takeuchi2014-08-22
| | | | | | | | | | | There are many duplicated codes to check if the given string is correct subvolume name. Introduce test_issubvolname() for this purpose for simplicity. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Cc: David Sterba <dsterba@suse.cz> Cc: Mike Fleetwood <mike.fleetwood@googlemail.com> Signed-off-by: David Sterba <dsterba@suse.cz>