diff options
| author | Raghavendra G <rgowdapp@redhat.com> | 2013-11-14 17:05:26 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-11-26 10:25:27 -0800 | 
| commit | 0d5cd92f51c02b8d664000b5a2d22a2ddbbc23b6 (patch) | |
| tree | 3410752aa6e3389f33fcb43679318eb159ab2c94 /libglusterfs/src/common-utils.c | |
| parent | ab3ab1978a4768e9eed8e23b47e72b25046e607a (diff) | |
cli/glusterd: Changes to quota command Quota feature
 re-work.
Following are the cli commands that are new/re-worked:
======================================================
volume quota <VOLNAME> {enable|disable|list [<path> ...]|remove <path>| default-soft-limit <percent>} |
volume quota <VOLNAME> {limit-usage <path> <size> [<percent>]} |
volume quota <VOLNAME> {alert-time|soft-timeout|hard-timeout} {<time>}
volume status [all | <VOLNAME> [nfs|shd|<BRICK>|quotad]] [detail|clients|mem|inode|fd|callpool]
volume statedump <VOLNAME> [nfs|quotad] [all|mem|iobuf|callpool|priv|fd|inode|history]
glusterd changes:
=================
* Quota limits are now set as extended attributes by glusterd from
  the aux mount created by the cli.
* The gfids of the directories on which quota limits are set
  for a given volume are stored in
  /var/lib/glusterd/vols/<volname>/quota.conf file in binary format,
  and whose cksum and version is stored in
  /var/lib/glusterd/vols/<volname>/quota.cksum.
Original-author: Krutika Dhananjay <kdhananj@redhat.com>
Original-author: Krishnan Parthasarathi <kparthas@redhat.com>
BUG: 969461
Change-Id: If32bba36c67f9c2a30417af9c6389045b2b7c13b
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/6003
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'libglusterfs/src/common-utils.c')
| -rw-r--r-- | libglusterfs/src/common-utils.c | 48 | 
1 files changed, 48 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index 4af1b4454..cb51dd175 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -3063,3 +3063,51 @@ gf_get_hard_limit (char *limit, char **hard_limit)          return 0;  } + +int +gf_skip_header_section (int fd, int header_len) +{ +        int  ret           = -1; + +        ret = lseek (fd, header_len, SEEK_SET); +        if (ret == (off_t) -1) { +                gf_log ("", GF_LOG_ERROR, "Failed to skip header " +                        "section"); +        } else { +                ret = 0; +        } + +        return ret; +} + +gf_boolean_t +gf_is_service_running (char *pidfile, int *pid) +{ +        FILE            *file = NULL; +        gf_boolean_t    running = _gf_false; +        int             ret = 0; +        int             fno = 0; + +        file = fopen (pidfile, "r+"); +        if (!file) +                goto out; + +        fno = fileno (file); +        ret = lockf (fno, F_TEST, 0); +        if (ret == -1) +                running = _gf_true; +        if (!pid) +                goto out; + +        ret = fscanf (file, "%d", pid); +        if (ret <= 0) { +                gf_log ("", GF_LOG_ERROR, "Unable to read pidfile: %s, %s", +                        pidfile, strerror (errno)); +                *pid = -1; +        } + +out: +        if (file) +                fclose (file); +        return running; +}  | 
