btrfs-progs: let test_issubvolume return the exact error
authorDavid Sterba <dsterba@suse.com>
Wed, 13 Jan 2016 16:45:39 +0000 (17:45 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 14 Jan 2016 10:07:10 +0000 (11:07 +0100)
Return any error from stat, minor cleanups.

Signed-off-by: David Sterba <dsterba@suse.com>
cmds-subvolume.c
commands.h

index d4ef102..9866c77 100644 (file)
@@ -223,20 +223,20 @@ out:
 }
 
 /*
- * test if path is a subvolume:
- * this function return
- * 0-> path exists but it is not a subvolume
- * 1-> path exists and it is  a subvolume
- * -1 -> path is unaccessible
+ * Test if path is a subvolume
+ * Returns:
+ *   0 - path exists but it is not a subvolume
+ *   1 - path exists and it is  a subvolume
+ * < 0 - error
  */
-int test_issubvolume(char *path)
+int test_issubvolume(const char *path)
 {
        struct stat     st;
        int             res;
 
        res = stat(path, &st);
-       if(res < 0 )
-               return -1;
+       if (res < 0)
+               return -errno;
 
        return (st.st_ino == BTRFS_FIRST_FREE_OBJECTID)
                && S_ISDIR(st.st_mode);
index d2bb093..2da093b 100644 (file)
@@ -126,7 +126,7 @@ int cmd_debug_tree(int argc, char **argv);
 int cmd_rescue(int argc, char **argv);
 
 /* subvolume exported functions */
-int test_issubvolume(char *path);
+int test_issubvolume(const char *path);
 
 /* send.c */
 char *get_subvol_name(char *mnt, char *full_path);