summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Btrfs-progs: try other mirrors if decompression failsJosef Bacik2013-03-18
| | | | | | | This will make the restore program fall back on other mirrors if it fails to decompress an extent for whatever reason. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com>
* Btrfs-progs: add an option for specifying the root to restoreJosef Bacik2013-03-15
| | | | | | | | If the normal fs tree is hosed and the user has multiple subvolumes it's handy to be able to specify just one of the subvolumes to restore. It's also handy if a user only wants to restore say /home instead of his entire disk. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com>
* btrfs-progs: mkfs: add missing raid5/6 descriptionMatias Bjørling2013-03-15
| | | | Signed-off-by: Matias Bjørling <m@bjorling.me>
* btrfs-progs: document force option in mkfs usage(); add long optEric Sandeen2013-03-14
| | | | | | | | | | I missed updating the mkfs.btrfs usage() when I added the option to force fs overwrite. Update that, and while we're at it add a long option, since all other commands have long counterparts. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: print errno string when /dev/btrfs-control open failsAnand Jain2013-03-14
| | | | | | | | | | | Of recently and intermittently I am seeing open fail for /dev/btrfs-control (btrfs is loaded), and there are no dmesg errors, this may not be a complete help in digging this issue but something which is necessary. Thanks Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: update .gitignore fileAnand Jain2013-03-14
| | | | | Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: add Makefile rule for static build of btrfs-find-rootHugo Mills2013-03-14
| | | | | | | | btrfs-find-root isn't yet integrated into the main btrfs tool, and is an important recovery tool, so it deserves to be built as a static binary. Signed-off-by: Hugo Mills <hugo@carfax.org.uk>
* btrfs-progs: rework get_fs_info to remove side effectsEric Sandeen2013-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get_fs_info() has been silently switching from a device to a mounted path as needed; the caller's filehandle was unexpectedly closed & reopened outside the caller's scope. Not so great. The callers do want "fdmnt" to be the filehandle for the mount point in all cases, though - the various ioctls act on this (not on an fd for the device). But switching it in the local scope of get_fs_info is incorrect; it just so happens that *usually* the fd number is unchanged. So - use the new helpers to detect when an argument is a block device, and open the the mounted path more obviously / explicitly for ioctl use, storing the filehandle in fdmnt. Then, in get_fs_info, ignore the fd completely, and use the path on the argument to determine if the caller wanted to act on just that device, or on all devices for the filesystem. Affects those commands which are documented to accept either a block device or a path: * btrfs device stats * btrfs replace start * btrfs scrub start * btrfs scrub status Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: don't open-code mountpoint discovery in scrub cancelEric Sandeen2013-03-12
| | | | | | | cmd_scrub_cancel had its own mountpoint discovery routine; just use open_path_or_dev_mnt() for that now. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: three new device/path helpersEric Sandeen2013-03-12
| | | | | | | | | | | | | Add 3 new helpers: * is_block_device(), to test if a path is a block device. * get_btrfs_mount(), to get the mountpoint of a device, if mounted. * open_path_or_dev_mnt(path), to open either the pathname or, if it's a mounted btrfs dev, the mountpoint. Useful for some commands which can take either type of arg. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: close fd on return from label get/set functionsEric Sandeen2013-03-12
| | | | | | Somehow missed these 2 in the last round. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* Btrfs-progs: alloc our super copy in btrfs-find-rootJosef Bacik2013-03-12
| | | | | | | | | Dave fixed the fs_info to allocate the super copy instead of embedding it, but he failed to notice that I open code open_ctree in btrfs-find-root so we end up with a super that's not allocated, so we segfault whenever you try to run btrfs-find-root. I've fixed this up and now we don't segfault anymore. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com>
* btrfs-progs: Add a rule to build a static mkfs.btrfsAntoine Sirinelli2013-03-12
| | | | | | | | | | Static mkfs.btrfs can be used to "bootstrap" a system from a live CD which does not provide mkfs.btrfs. The executable produced is named mkfs.btrfs.static and built by invoking the "static" make rule. Signed-off-by: Antoine Sirinelli <antoine@monte-stello.com>
* btrfs-progs: separate super_copy out of fs_infoDavid Sterba2013-03-10
| | | | | | | | | Allocate fs_info::super_copy dynamically of full BTRFS_SUPER_INFO_SIZE and use it directly for saving superblock to disk. This fixes incorrect superblock checksum after mkfs. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: update the .gitignore fileAnand Jain2013-03-10
| | | | Signed-off-by: Anand Jain <anand.jain@oracle.com>
* btrfs-progs: fix scrub error return from pthread_mutex_lockEric Sandeen2013-03-10
| | | | | | | If pthread_mutex_lock() fails it returns the error in ret, and does not set errno. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: Error handling in scrub_progress_cycle() threadEric Sandeen2013-03-10
| | | | | | | | | | | consolidate error handling to ensure that peer_fd is closed on error paths. Add a couple comments to the error handling after the thread is complete. Note that scrub_progress_cycle returns negative errnos on any error. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: better option/error handling for btrfs-volEric Sandeen2013-03-10
| | | | | | | | | | | | | | | | | | | | | | Today wrong cmdlines give odd results: # ./btrfs-vol /dev/sdb1 Unable to open device (null) # ./btrfs-vol -a /dev/sdb1 usage: btrfs-vol [options] mount_point ... Make it a bit more informative: # ./btrfs-vol /dev/sdb1 No command specified usage: btrfs-vol [options] mount_point ... # ./btrfs-vol -a /dev/sdb1 No mountpoint specified usage: btrfs-vol [options] mount_point ... (even though it's deprecated ...) Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: Issue warnings if ioctls fail in sigint handlersEric Sandeen2013-03-10
| | | | | | | | | The two sigint handlers issue ioctls to clean up, but if they fail, noone would know. I'm not sure there is any other error handling to be done at this point, but a notification seems wise. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: check return of posix_fadviseEric Sandeen2013-03-10
| | | | | | | | It seems highly unlikely that posix_fadvise could fail, and even if it does, it was only advisory. Still, if it does, we could issue a notice to the user. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: Free resources when returning error from cmd_subvol_create()Eric Sandeen2013-03-10
| | | | | | | | cmd_subvol_create() currently returns without freeing resources in almost every error case. Switch to a goto arrangement so all cleanup can be done in one place. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: tidy up cmd_subvol_create() whitespace & returnsEric Sandeen2013-03-10
| | | | | | Just whitespace fixes, and magical return value removal. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: Free resources when returning error from cmd_snapshot()Eric Sandeen2013-03-10
| | | | | | | | cmd_snapshot() currently returns without freeing resources in almost every error case. Switch to a goto arrangement so all cleanup can be done in one place. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: tidy up cmd_snapshot() whitespace & returnsEric Sandeen2013-03-10
| | | | | | Just whitespace fixes, and magical return value removal. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: check for null string in parse_sizeEric Sandeen2013-03-10
| | | | | | | Because it's better than a segfault if it's called improperly, and it makes static checkers happier. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: free allocated metadump structure on restore failureEric Sandeen2013-03-10
| | | | | | Don't return w/ "metadump" still allocated Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: free resources on do_rollback error returnsEric Sandeen2013-03-10
| | | | | | close fd if open, and free allocated memory in buf Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: close fd on do_convert error returnsEric Sandeen2013-03-10
| | | | | | stops an fd leak that Coverity found. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: close fd on cmd_subvol_list returnEric Sandeen2013-03-10
| | | | | | stops an fd leak that Coverity found. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: update mkfs.btrfs help info for raid5/6Zhi Yong Wu2013-03-10
| | | | | | Since raid5/6 support was introduced, we should update mkfs.btrfs help info. Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
* btrfs-progs: usage should match what is codedAnand Jain2013-03-03
| | | | Signed-off-by: Anand Jain <anand.jain@oracle.com>
* btrfs-progs: from troubleshooting point of view messages must be uniqueAnand Jain2013-03-03
| | | | | | | | | ----- cmds-device.c: fprintf(stderr, "ERROR: unable to scan the device '%s' - %s\n", utils.c: fprintf(stderr, "ERROR: unable to scan the device '%s' - %s\n", ----- Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: add correct indentationAnand Jain2013-02-27
| | | | | | A trivial fix, corrects the indentation. Signed-off-by: Anand Jain <anand.jain@oracle.com>
* Btrfs-progs: fix segmentation fault of "btrfs check"Tsutomu Itoh2013-02-27
| | | | | | | | | | | | Segmentation fault occurred in the following command. # btrfs check /dev/sdc7 No valid Btrfs found on /dev/sdc7 Segmentation fault (core dumped) Fix it. Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
* Btrfs-progs: output the error reason when qgroup_show failsWang Shilong2013-02-27
| | | | | | | The original code forgot to output the reason why the commands failed, fix it. Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
* Btrfs-progs: let the error message outputed only onceWang Shilong2013-02-27
| | | | | | | | | | | | If we fail to execute the command: btrfs qgroup show <mnt> It will output the follow messages: ERROR: can't perform the search - Inappropriate ioctl for device ERROR: can't list qgroups The error is outputed twice, this is wrong, fix it. Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
* btrfs-progs: don't link binaries to a dynamic libraryDavid Sterba2013-02-27
| | | | | | | | | | | | Linking 'btrfs' and other binaries against the dynamic library makes it tedious to use directly from the git repo. This is useful for testing various fixes, but now it'd need to also set LD_LIBRARY_PATH or install the library to a known path. Add a target for static library and use it for linking, the dynamic library is to be used by external users. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: libify some parts of btrfs-progsMark Fasheh2013-02-27
| | | | | | | | | | | | | | | External software wanting to use the functionality provided by the btrfs send ioctl has a hard time doing so without replicating tons of work. Of particular interest are functions like btrfs_read_and_process_send_stream() and subvol_uuid_search(). As that functionality requires a bit more than just send-stream.c and send-utils.c we have to pull in some other parts of the progs package. This patch adds code to the Makefile and headers to create a library, libbtrfs which the btrfs command now links to. Signed-off-by: Mark Fasheh <mfasheh@suse.de> Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: initialize save_ptr prior to strtok_rEric Sandeen2013-02-27
| | | | | | | | | | | | | The coverity runs had a false positive complaining that save_ptr is uninitialized in the call to strtok_r. Turns out that under the covers glibc was doing enough to confuse the checker about what was being called. Just to keep the noise down, do a harmless initialization, with a comment as to why. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: fix fd leak in cmd_subvol_set_defaultEric Sandeen2013-02-27
| | | | | | | | | | Rearrange cmd_subvol_set_default() slightly so we don't have to close the fd on an error return. While we're at it, fix whitespace & remove magic return values. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* 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: close fd on cmd_subvol_get_default returnEric Sandeen2013-02-27
| | | | | | | | | Without this we leak the fd when we return from the function. Also, remove the senseless random return values. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: free allocated di_args in cmd_start_replaceEric Sandeen2013-02-27
| | | | | | | We only freed this allocation in error paths, and leaked a bit when it went out of scope normally. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: provide positive errno to strerror in cmd_restoreEric Sandeen2013-02-27
| | | | | | | check_mounted returns a negative errno, so it needs to be flipped again before passing to strerror. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: don't call close on error fdEric Sandeen2013-02-27
| | | | | | | In the error case where fd < 0, close(fd) is the wrong thing to do. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: free memory before error exit in read_whole_ebEric Sandeen2013-02-27
| | | | | | | | Free the memory allocated to "multi" before the error exit in read_whole_eb(). Set it to NULL after we free it in the loop to avoid any potential double-free. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: more scrub cancel error handlingEric Sandeen2013-02-27
| | | | | | | | | | | | | | | | | | | If we request scrub cancel on an unmounted or non-btrfs device, we still get a "scrub canceled" success message: # btrfs scrub cancel /dev/loop1 scrub cancelled # blkid /dev/loop1 /dev/loop1: UUID="7f586941-1d5e-4ba7-9caa-b35934849957" TYPE="xfs" Fix this so that if check_mounted_where returns 0 we don't report success. While we're at it, use perror to report the reason for an open failure, if we get one. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: fix close of error fd in scrub cancelEric Sandeen2013-02-27
| | | | | | | | If we retry opening the mountpoint and fail, we'll call close on a filehandle w/ value -1. Rearrange so the retry uses the same open and same error handling. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* btrfs-progs: fix open error test in cmd_start_replaceEric Sandeen2013-02-27
| | | | | | open() returns a negative fd on failure, not 0. Signed-off-by: Eric Sandeen <sandeen@redhat.com>