diff options
author | Raghavendra G <raghavendra@zresearch.com> | 2009-06-10 06:59:50 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-06-30 14:36:24 -0700 |
commit | 0e1f6449edc3f2e3f72546be527b8f7ad9f65669 (patch) | |
tree | 0914655dd761b557f2e978849434e781591e6704 /libglusterfsclient/src | |
parent | 66ebd6dda5b9b33bc3d74ee26080d31344135fba (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/src')
-rwxr-xr-x | libglusterfsclient/src/libglusterfsclient.c | 19 | ||||
-rwxr-xr-x | libglusterfsclient/src/libglusterfsclient.h | 4 |
2 files changed, 23 insertions, 0 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c index 586a918f8..9f3776041 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 |