summaryrefslogtreecommitdiffstats
path: root/libglusterfsclient
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@zresearch.com>2009-06-10 06:59:50 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-06-11 07:28:59 -0700
commit29a3619d6bb5680213c817b13dad7d8ad6e2903b (patch)
treed285975a7e58d566d7d981ab1dda49520d411de2 /libglusterfsclient
parent82130d7ef5e4e4842dba44f0283336d98035a590 (diff)
libglusterfsclient: add glusterfs_umount_all.
- unmounts all the entries in the vmplist. - this api helps booster to cleanup all the mounts in a single call. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
Diffstat (limited to 'libglusterfsclient')
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.c19
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.h4
2 files changed, 23 insertions, 0 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c
index 26d9a5234..8dc63a6eb 100755
--- a/libglusterfsclient/src/libglusterfsclient.c
+++ b/libglusterfsclient/src/libglusterfsclient.c
@@ -1483,6 +1483,25 @@ out:
return ret;
}
+int
+glusterfs_umount_all (void)
+{
+ struct vmp_entry *entry = NULL, *tmp = NULL;
+
+ pthread_mutex_lock (&lock);
+ {
+ list_for_each_entry_safe (entry, tmp, &vmplist.list, list) {
+ /* even if there are errors, continue with other
+ mounts
+ */
+ _libgf_umount (entry->vmp);
+ }
+ }
+ pthread_mutex_unlock (&lock);
+
+ return 0;
+}
+
void
glusterfs_reset (void)
{
diff --git a/libglusterfsclient/src/libglusterfsclient.h b/libglusterfsclient/src/libglusterfsclient.h
index a2c9a0fa5..9e03a8c59 100755
--- a/libglusterfsclient/src/libglusterfsclient.h
+++ b/libglusterfsclient/src/libglusterfsclient.h
@@ -199,6 +199,10 @@ int
glusterfs_umount (char *vmp);
+/* glusterfs_umount_all unmounts all the mounts */
+int
+glusterfs_umount_all (void);
+
/* For smaller files, application can use just
* glusterfs_get/glusterfs_get_async