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-30 14:36:24 -0700
commit0e1f6449edc3f2e3f72546be527b8f7ad9f65669 (patch)
tree0914655dd761b557f2e978849434e781591e6704 /libglusterfsclient
parent66ebd6dda5b9b33bc3d74ee26080d31344135fba (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 586a918f849..9f3776041e6 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 a2c9a0fa5f2..9e03a8c59ac 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