]> err.no Git - util-linux/commitdiff
libmount: add mnt_fs_get_root()
authorKarel Zak <kzak@redhat.com>
Fri, 9 Jul 2010 09:15:08 +0000 (11:15 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 3 Jan 2011 11:28:39 +0000 (12:28 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
shlibs/mount/src/fs.c
shlibs/mount/src/mount.h.in
shlibs/mount/src/mount.sym
shlibs/mount/src/mountP.h
shlibs/mount/src/tab_parse.c

index 63da2f206fb156da819677201a7fdaf9afc774ff..c8677c702ddd9f84e1eac84c4c3dcad351713c70 100644 (file)
@@ -51,7 +51,7 @@ void mnt_free_fs(mnt_fs *fs)
        free(fs->source);
        free(fs->tagname);
        free(fs->tagval);
-       free(fs->mntroot);
+       free(fs->root);
        free(fs->target);
        free(fs->fstype);
        free(fs->optstr);
@@ -447,6 +447,18 @@ int mnt_fs_set_passno(mnt_fs *fs, int passno)
        return 0;
 }
 
+/**
+ * mnt_fs_get_root:
+ * @fs: /proc/self/mountinfo entry
+ *
+ * Returns: root of the mount within the filesystem or NULL
+ */
+const char *mnt_fs_get_root(mnt_fs *fs)
+{
+       assert(fs);
+       return fs ? fs->root : NULL;
+}
+
 /**
  * mnt_fs_get_id:
  * @fs: /proc/self/mountinfo entry
@@ -475,7 +487,7 @@ int mnt_fs_get_parent_id(mnt_fs *fs)
 
 /**
  * mnt_fs_get_devno:
- * @fs: /proc/self/mountinfo
+ * @fs: /proc/self/mountinfo entry
  *
  * Returns: value of st_dev for files on filesystem or 0 in case of error.
  */
index 6e76ddb28ba64b9300a771d9eaf24bf4721f767a..d42ab1d622ab771d1faf9632f2cab48470d13453 100644 (file)
@@ -31,7 +31,6 @@ extern "C" {
 
 #include <stdio.h>
 
-
 #define LIBMOUNT_VERSION   "@LIBMOUNT_VERSION@"
 
 /**
@@ -236,6 +235,7 @@ extern int mnt_fs_get_freq(mnt_fs *ent);
 extern int mnt_fs_set_freq(mnt_fs *ent, int freq);
 extern int mnt_fs_get_passno(mnt_fs *ent);
 extern int mnt_fs_set_passno(mnt_fs *ent, int passno);
+extern const char *mnt_fs_get_root(mnt_fs *fs);
 extern int mnt_fs_get_id(mnt_fs *fs);
 extern int mnt_fs_get_parent_id(mnt_fs *fs);
 extern dev_t mnt_fs_get_devno(mnt_fs *fs);
index f3c10689ae770295af15c2e522e321a18c883b21..c4aa8e4f970f5c3088a926755cfcb80b00d71e9c 100644 (file)
@@ -133,3 +133,9 @@ global:
 local:
        *;
 };
+
+
+MOUNT_2.19 {
+global:
+       mnt_fs_get_root;
+} MOUNT_2.18;
index d217e3da310a0a5306a1e22e10bc807128346bbc..04084e5d1f2846c83033305025ba7cc37cb3a734 100644 (file)
@@ -133,7 +133,7 @@ struct _mnt_fs {
        char            *tagname;       /* fstab[1]: tag name - "LABEL", "UUID", ..*/
        char            *tagval;        /*           tag value */
 
-       char            *mntroot;       /* mountinfo[4]: root of the mount within the FS */
+       char            *root;          /* mountinfo[4]: root of the mount within the FS */
        char            *target;        /* mountinfo[5], fstab[2]: mountpoint */
        char            *fstype;        /* mountinfo[9], fstab[3]: filesystem type */
 
index e7cc7ef4977baf5d47031d2faca3b5650f9c6659..06bb6486267bd2aa741729b67e9c91004cd03a48 100644 (file)
@@ -168,8 +168,8 @@ static int mnt_parse_mountinfo_line(mnt_fs *fs, char *s)
        next_word_skip(&s);
 
        /* MOUNTROOT */
-       fs->mntroot = next_word(&s);
-       if (!fs->mntroot)
+       fs->root = next_word(&s);
+       if (!fs->root)
                return 1;
 
        /* TARGET (mountpoit) */