]> andersk Git - moira.git/blobdiff - server/queries2.c
added fsgroup support
[moira.git] / server / queries2.c
index 28e23097b0ef03f5903f2ada7cdcdfbf87c47fe1..439cefc70facf34b67a801356c85c8d26113aded 100644 (file)
@@ -56,7 +56,7 @@ int set_modtime();
 int set_modtime_by_id();
 int set_finger_modtime();
 int set_pobox_modtime();
-int set_mach_modtime();
+int set_uppercase_modtime();
 int set_mach_modtime_by_id();
 int set_cluster_modtime_by_id();
 int set_serverhost_modtime();
@@ -149,6 +149,10 @@ static struct valobj VOlist0[] = {
   {V_ID, 0, LIST, NAME, LIST_ID, SMS_LIST},
 };
 
+static struct valobj VOfilsys0[] = {
+  {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+};
+
 static struct valobj VOchar0[] = {
   {V_CHAR, 0},
 };
@@ -521,7 +525,7 @@ static struct validate amac_validate = {
   MACH_ID,
   0,
   0,
-  set_mach_modtime,
+  set_uppercase_modtime,
 };
 
 static char *umac_fields[] = {
@@ -740,7 +744,7 @@ static struct validate asin_validate =      /* for asin, usin */
   0,
   0,
   0,
-  set_modtime,
+  set_uppercase_modtime,
 };
 
 static struct validate rsve_validate = {
@@ -752,7 +756,7 @@ static struct validate rsve_validate = {
   0,
   access_service,
   0,
-  set_modtime,
+  set_uppercase_modtime,
 };
 
 static char *ssif_fields[] = {
@@ -1088,6 +1092,45 @@ static struct validate dfil_validate = {
   0,
 };
 
+static char *gfgm_fields[] = {
+    "fsgroup", FILESYS, "sortkey"
+};
+
+static struct valobj gfgm_valobj[] = {
+    {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+    {V_SORT, 1},
+    {V_SORT, 0},
+};
+
+static struct validate gfgm_validate = {
+    gfgm_valobj,
+    3,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+};
+
+static struct valobj aftg_valobj[] = {
+    {V_ID, 0, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+    {V_ID, 1, FILESYS, LABEL, FILSYS_ID, SMS_FILESYS},
+};
+
+static struct validate aftg_validate = {
+    aftg_valobj,
+    2,
+    "group_id",
+    "fg.group_id = %d and fg.filsys_id = %d",
+    2,
+    0,
+    0,
+    0,
+    0,
+};
+
 static char *ganf_fields[] = {
   MACHINE, DIR, DEVICE, STATUS, "allocated", "size", MOD1, MOD2, MOD3,
 };
@@ -2616,6 +2659,51 @@ struct query Queries2[] = {
     &dfil_validate,
   },
 
+  {
+    /* Q_GFGM - GET_FSGROUOP_MEMBERS */
+    "get_fsgroup_members",
+    "gfgm",
+    RETRIEVE,
+    "fg",
+    "fsgroup",
+    "%c = filesys.label, %c = fg.key",
+    gfgm_fields,
+    2,
+    "fg.group_id = %d and filesys.filsys_id = fg.filsys_id",
+    1,
+    &gfgm_validate,
+  },
+
+  {
+    /* Q_AFTG - ADD_FILESYS_TO_FSGROUP */
+    "add_filesys_to_fsgroup",
+    "aftg",
+    APPEND,
+    "fg",
+    "fsgroup",
+    "group_id = filesys.filsys_id, filsys_id = %i4, key = %c",
+    gfgm_fields,
+    2,
+    "filesys.filsys_id = %d and filesys.type = \"FSGROUP\"",
+    1,
+    &aftg_validate,
+  },
+
+  {
+    /* Q_RFFG - REMOVE_FILESYS_FROM_FSGROUP */
+    "remove_filesys_from_fsgroup",
+    "rffg",
+    DELETE,
+    "fg",
+    "fsgroup",
+    (char *)0,
+    gfgm_fields,
+    0,
+    "fg.group_id = %d and fg.filsys_id = %d",
+    2,
+    &aftg_validate,
+  },
+
   {
     /* Q_GANF - GET_ALL_NFSPHYS */
     "get_all_nfsphys",
This page took 0.16418 seconds and 4 git commands to generate.