diff --git a/castor/Constants.cpp b/castor/Constants.cpp index a45161ff39a6da80691b420c87ad7d384bf142d0..40fb3482e5ee2cd74883af00d2cc02c072feeaee 100644 --- a/castor/Constants.cpp +++ b/castor/Constants.cpp @@ -199,7 +199,7 @@ const char* castor::ObjectsIdStrings[ObjectsIdsNb] = { "ListPrivileges", "Privilege", "ListPrivilegesResponse", - "PriorityMap", + "DELETED TYPE", "VectorAddress", "Tape2DriveDedication", diff --git a/castor/Constants.hpp b/castor/Constants.hpp index 13a9b001516c74de71049d3088cec45b7e9957f5..bd5d3aff7a6da2b47e748fede7af952a2ad228c1 100644 --- a/castor/Constants.hpp +++ b/castor/Constants.hpp @@ -179,9 +179,6 @@ namespace castor { OBJ_Privilege = 156, OBJ_ListPrivilegesResponse = 157, - /* object for segment priority */ - OBJ_PriorityMap = 158, - /* vector address for bulk operations */ OBJ_VectorAddress = 159, diff --git a/castor/Imakefile b/castor/Imakefile index 7d1014711a1e443373009e4a51f8f1e56dc90578..bd0e11ad24768fe26967011bf3578938c9707c3d 100644 --- a/castor/Imakefile +++ b/castor/Imakefile @@ -206,7 +206,6 @@ STGLIB_SRCS = BaseAddress.cpp \ stager/GCFile.cpp \ stager/GCFileList.cpp \ stager/MoverCloseRequest.cpp \ - stager/PriorityMap.cpp \ stager/PutStartRequest.cpp \ stager/QryRequest.cpp \ stager/PutFailed.cpp \ diff --git a/castor/db/ora/OraStagerSvc.cpp b/castor/db/ora/OraStagerSvc.cpp index 988b9c48b34a8f23f642886f721ed3346b5f4872..c40e48bc2b729d382d4443ee7cc3b19999f4a12e 100644 --- a/castor/db/ora/OraStagerSvc.cpp +++ b/castor/db/ora/OraStagerSvc.cpp @@ -68,7 +68,6 @@ #include "castor/exception/NotSupported.hpp" #include "castor/stager/SubRequestStatusCodes.hpp" #include "castor/stager/DiskCopyStatusCodes.hpp" -#include "castor/stager/PriorityMap.hpp" #include "castor/stager/BulkRequestResult.hpp" #include "castor/stager/FileResult.hpp" #include "castor/rh/Client.hpp" @@ -1295,121 +1294,6 @@ int castor::db::ora::OraStagerSvc::setFileGCWeight } } - -//------------------------------------------------------------------------------ -// selectPriority -//------------------------------------------------------------------------------ -std::vector<castor::stager::PriorityMap*> -castor::db::ora::OraStagerSvc::selectPriority -(int euid, int egid, int priority) - throw (castor::exception::Exception) { - try { - - // Check whether the statements are ok - if (0 == m_selectPriorityStatement) { - m_selectPriorityStatement = - createStatement(s_selectPriorityStatementString); - m_selectPriorityStatement->registerOutParam - (4, oracle::occi::OCCICURSOR); - } - - // Execute the statement - m_selectPriorityStatement->setInt(1, euid); - m_selectPriorityStatement->setInt(2, egid); - m_selectPriorityStatement->setInt(3, priority); - - m_selectPriorityStatement->executeUpdate(); - - // Return value - std::vector<castor::stager::PriorityMap*> priorityList; - oracle::occi::ResultSet *rs = m_selectPriorityStatement->getCursor(4); - - // Run through the cursor - oracle::occi::ResultSet::Status status = rs->next(); - while (status == oracle::occi::ResultSet::DATA_AVAILABLE) { - castor::stager::PriorityMap* item = new castor::stager::PriorityMap(); - item->setEuid((u_signed64)rs->getDouble(1)); - item->setEgid((u_signed64)rs->getDouble(2)); - item->setPriority((u_signed64)rs->getDouble(3)); - priorityList.push_back(item); - status = rs->next(); - } - m_selectPriorityStatement->closeResultSet(rs); - return priorityList; - - } catch (oracle::occi::SQLException e) { - handleException(e); - castor::exception::Internal ex; - ex.getMessage() - << "Error caught in selectPriority(): uid (" - << euid << ")" << " gid (" << egid << ")" - << std::endl << e.what(); - throw ex; - } -} - -//------------------------------------------------------------------------------ -// enterPriority -//------------------------------------------------------------------------------ -void castor::db::ora::OraStagerSvc::enterPriority -(u_signed64 euid, u_signed64 egid, u_signed64 priority) - throw (castor::exception::Exception) { - try { - - // Check whether the statements are ok - if (0 == m_enterPriorityStatement) { - m_enterPriorityStatement = - createStatement(s_enterPriorityStatementString); - m_enterPriorityStatement->setAutoCommit(true); - } - - // Execute the statement - m_enterPriorityStatement->setDouble(1, euid); - m_enterPriorityStatement->setDouble(2, egid); - m_enterPriorityStatement->setDouble(3, priority); - m_enterPriorityStatement->executeUpdate(); - - } catch (oracle::occi::SQLException e) { - handleException(e); - castor::exception::Exception ex(e.getErrorCode()); - ex.getMessage() - << "Invalid input: uid (" - << euid << ")" << " gid (" << egid << ")" - << std::endl << e.what(); - throw ex; - } -} - -//------------------------------------------------------------------------------ -// deletePriority -//------------------------------------------------------------------------------ -void castor::db::ora::OraStagerSvc::deletePriority(int euid, int egid) - throw (castor::exception::Exception) { - try { - - // Check whether the statements are ok - if (0 == m_deletePriorityStatement) { - m_deletePriorityStatement = - createStatement(s_deletePriorityStatementString); - m_deletePriorityStatement->setAutoCommit(true); - } - - // Execute the statement - m_deletePriorityStatement->setInt(1, euid); - m_deletePriorityStatement->setInt(2, egid); - m_deletePriorityStatement->executeUpdate(); - - } catch (oracle::occi::SQLException e) { - handleException(e); - castor::exception::Internal ex; - ex.getMessage() - << "Error caught in deletePriority(): uid (" - << euid << ")" << " gid (" << egid << ")" - << std::endl << e.what(); - throw ex; - } -} - //------------------------------------------------------------------------------ // getConfigOption //------------------------------------------------------------------------------ diff --git a/castor/db/ora/OraStagerSvc.hpp b/castor/db/ora/OraStagerSvc.hpp index 89bcda92793a87f456cbdd6cd286660c370f884d..8830a156b47cf4f741c5933890592706654c6872 100644 --- a/castor/db/ora/OraStagerSvc.hpp +++ b/castor/db/ora/OraStagerSvc.hpp @@ -356,38 +356,6 @@ namespace castor { virtual castor::stager::SubRequestStatusCodes createRecallCandidate(u_signed64 srId) throw (castor::exception::Exception); - /** - * Select priority for recall - * @param euid the userid of the user - * @param egid the groupid of the user - * @return priority value - * @exception in case of an error - */ - std::vector<castor::stager::PriorityMap*> - selectPriority(int euid, int egid, int priority) - throw (castor::exception::Exception); - - /** - * Enter priority for recall - * @param euid the userid of the user - * @param egid the groupid of the user - * @param priority rating - * @exception in case of an error - */ - void enterPriority(u_signed64 euid, - u_signed64 egid, - u_signed64 priority) - throw (castor::exception::Exception); - - /** - * Delete priority for recall - * @param euid the userid of the user - * @param egid the groupid of the user - * @exception in case of an error - */ - void deletePriority(int euid, int egid) - throw (castor::exception::Exception); - /** * Gets a configuration option from the CastorConfig table * @param class a string containing the option class (e.g. stager) diff --git a/castor/db/oracleCommon.schema.sql b/castor/db/oracleCommon.schema.sql index 3bf065a8bcd6aa5c1806495f12b8631bbc8d3860..9d73e9ad2bd799037601d234fad18ab972b5f147 100644 --- a/castor/db/oracleCommon.schema.sql +++ b/castor/db/oracleCommon.schema.sql @@ -621,10 +621,6 @@ CREATE GLOBAL TEMPORARY TABLE DeleteTermReqHelper CREATE GLOBAL TEMPORARY TABLE getFileIdsForSrsHelper (rowno NUMBER, fileId NUMBER, nsHost VARCHAR(2048)) ON COMMIT DELETE ROWS; -/* SQL statements for table PriorityMap */ -CREATE TABLE PriorityMap (euid INTEGER, egid INTEGER, priority INTEGER) INITRANS 50 PCTFREE 50 ENABLE ROW MOVEMENT; -ALTER TABLE PriorityMap ADD CONSTRAINT UN_Priority_euid_egid UNIQUE (euid, egid); - /* * Black and while list mechanism * In order to be able to enter a request for a given service class, you need : diff --git a/castor/db/oracleSchema.sql b/castor/db/oracleSchema.sql index 8750a762a53d33ab245040ed4918b067a0e1f452..338c93cbdb96a5426414b7ab88f760e807829f34 100644 --- a/castor/db/oracleSchema.sql +++ b/castor/db/oracleSchema.sql @@ -342,7 +342,6 @@ INSERT INTO Type2Obj (type, object) VALUES (154, 'RequestType'); INSERT INTO Type2Obj (type, object) VALUES (155, 'ListPrivileges'); INSERT INTO Type2Obj (type, object) VALUES (156, 'Privilege'); INSERT INTO Type2Obj (type, object) VALUES (157, 'ListPrivilegesResponse'); -INSERT INTO Type2Obj (type, object) VALUES (158, 'PriorityMap'); INSERT INTO Type2Obj (type, object) VALUES (159, 'VectorAddress'); INSERT INTO Type2Obj (type, object) VALUES (160, 'Tape2DriveDedication'); INSERT INTO Type2Obj (type, object) VALUES (161, 'TapeRecall'); diff --git a/castor/db/oracleStager.sql b/castor/db/oracleStager.sql index aad59c48344ac790c221d0d06fff2f99a50932ee..706192cb0acab7448f811c4fe0d8baa576296bde 100644 --- a/castor/db/oracleStager.sql +++ b/castor/db/oracleStager.sql @@ -3302,47 +3302,6 @@ BEGIN END; / - -/* PL/SQL method implementing selectPriority */ -CREATE OR REPLACE PROCEDURE selectPriority( - inUid IN INTEGER, - inGid IN INTEGER, - inPriority IN INTEGER, - dbInfo OUT castor.TapeAccessPriority_Cur) AS -BEGIN - OPEN dbInfo FOR - SELECT euid, egid, priority FROM PriorityMap - WHERE (euid = inUid OR inUid = -1) - AND (egid = inGid OR inGid = -1) - AND (priority = inPriority OR inPriority = -1); -END; -/ - -/* PL/SQL method implementing enterPriority - it can raise constraint violation exception */ -CREATE OR REPLACE PROCEDURE enterPriority( - inUid IN NUMBER, - inGid IN NUMBER, - inPriority IN INTEGER) AS -BEGIN - INSERT INTO PriorityMap (euid, egid, priority) - VALUES (inUid, inGid, inPriority); -END; -/ - - -/* PL/SQL method implementing deletePriority */ -CREATE OR REPLACE PROCEDURE deletePriority( - inUid IN INTEGER, - inGid IN INTEGER) AS -BEGIN - DELETE FROM PriorityMap - WHERE (euid = inUid OR inUid = -1) - AND (egid = inGid OR inGid = -1); -END; -/ - - /* PL/SQL method used by the stager to collect the logging made in the DB */ CREATE OR REPLACE PROCEDURE dumpDBLogs(logEntries OUT castor.LogEntry_Cur) AS unused NUMBER; diff --git a/castor/stager/IStagerSvc.hpp b/castor/stager/IStagerSvc.hpp index 704d5bad28a7df5766127e6ccedc23a1d887f333..e3117e829ce3cc36f2ed1bd04cf7ea5b45ba9942 100644 --- a/castor/stager/IStagerSvc.hpp +++ b/castor/stager/IStagerSvc.hpp @@ -36,7 +36,6 @@ #include "castor/stager/DiskCopyStatusCodes.hpp" #include "castor/stager/SubRequestStatusCodes.hpp" #include "castor/stager/DiskCopyInfo.hpp" -#include "castor/stager/PriorityMap.hpp" #include <vector> #include <string> #include <list> @@ -64,7 +63,6 @@ namespace castor { class CastorFile; class GCLocalFile; class DiskCopyForRecall; - class PriorityMap; class BulkRequestResult; /** @@ -354,38 +352,6 @@ namespace castor { virtual castor::stager::SubRequestStatusCodes createRecallCandidate(u_signed64 srId) throw (castor::exception::Exception) = 0; - /** - * Select priority for recall - * @param euid the userid of the user - * @param egid the groupid of the user - * @return priority value - * @exception in case of an error - */ - virtual std::vector<castor::stager::PriorityMap*> - selectPriority(int euid, int egid, int priority) - throw (castor::exception::Exception) = 0; - - /** - * Enter priority for recall - * @param euid the userid of the user - * @param egid the groupid of the user - * @param priority value - * @exception in case of an error - */ - virtual void enterPriority(u_signed64 euid, - u_signed64 egid, - u_signed64 priority) - throw (castor::exception::Exception) = 0; - - /** - * Delete priority for recall - * @param euid the userid of the user - * @param egid the groupid of the user - * @exception in case of an error - */ - virtual void deletePriority(int euid, int egid) - throw (castor::exception::Exception) = 0; - /** * Gets a configuration option from the * CastorConfig table diff --git a/castor/stager/PriorityMap.cpp b/castor/stager/PriorityMap.cpp deleted file mode 100644 index d9ee64061cac425b15ac232c5313be93fb3ccff4..0000000000000000000000000000000000000000 --- a/castor/stager/PriorityMap.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/**** This file has been autogenerated by gencastor from Umbrello UML model ***/ - -/****************************************************************************** - * castor/stager/PriorityMap.cpp - * - * This file is part of the Castor project. - * See http://castor.web.cern.ch/castor - * - * Copyright (C) 2003 CERN - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * @author Castor Dev team, castor-dev@cern.ch - *****************************************************************************/ - -// Include Files -#include "castor/Constants.hpp" -#include "castor/IObject.hpp" -#include "castor/ObjectSet.hpp" -#include "castor/stager/PriorityMap.hpp" -#include "osdep.h" -#include <iostream> -#include <string> - -//------------------------------------------------------------------------------ -// Constructor -//------------------------------------------------------------------------------ -castor::stager::PriorityMap::PriorityMap() throw() : - m_priority(0), - m_euid(0), - m_egid(0), - m_id(0) { -} - -//------------------------------------------------------------------------------ -// Destructor -//------------------------------------------------------------------------------ -castor::stager::PriorityMap::~PriorityMap() throw() { -} - -//------------------------------------------------------------------------------ -// print -//------------------------------------------------------------------------------ -void castor::stager::PriorityMap::print(std::ostream& stream, - std::string indent, - castor::ObjectSet& alreadyPrinted) const { - stream << indent << "[# PriorityMap #]" << std::endl; - if (alreadyPrinted.find(this) != alreadyPrinted.end()) { - // Circular dependency, this object was already printed - stream << indent << "Back pointer, see above" << std::endl; - return; - } - // Output of all members - stream << indent << "priority : " << m_priority << std::endl; - stream << indent << "euid : " << m_euid << std::endl; - stream << indent << "egid : " << m_egid << std::endl; - stream << indent << "id : " << m_id << std::endl; - alreadyPrinted.insert(this); -} - -//------------------------------------------------------------------------------ -// print -//------------------------------------------------------------------------------ -void castor::stager::PriorityMap::print() const { - castor::ObjectSet alreadyPrinted; - print(std::cout, "", alreadyPrinted); -} - -//------------------------------------------------------------------------------ -// TYPE -//------------------------------------------------------------------------------ -int castor::stager::PriorityMap::TYPE() { - return OBJ_PriorityMap; -} - -//------------------------------------------------------------------------------ -// type -//------------------------------------------------------------------------------ -int castor::stager::PriorityMap::type() const { - return TYPE(); -} - -//------------------------------------------------------------------------------ -// clone -//------------------------------------------------------------------------------ -castor::IObject* castor::stager::PriorityMap::clone() { - return new PriorityMap(*this); -} - diff --git a/castor/stager/PriorityMap.hpp b/castor/stager/PriorityMap.hpp deleted file mode 100644 index cd90e06f22a0a8d237211a4dc44656f948733c08..0000000000000000000000000000000000000000 --- a/castor/stager/PriorityMap.hpp +++ /dev/null @@ -1,187 +0,0 @@ -/**** This file has been autogenerated by gencastor from Umbrello UML model ***/ - -/****************************************************************************** - * castor/stager/PriorityMap.hpp - * - * This file is part of the Castor project. - * See http://castor.web.cern.ch/castor - * - * Copyright (C) 2003 CERN - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * @author Castor Dev team, castor-dev@cern.ch - *****************************************************************************/ - -#ifndef CASTOR_STAGER_PRIORITYMAP_HPP -#define CASTOR_STAGER_PRIORITYMAP_HPP - -// Include Files -#include "castor/IObject.hpp" -#include "osdep.h" -#include <iostream> -#include <string> - -namespace castor { - - // Forward declarations - class ObjectSet; - - namespace stager { - - /** - * class PriorityMap - */ - class PriorityMap : public virtual castor::IObject { - - public: - - /** - * Empty Constructor - */ - PriorityMap() throw(); - - /** - * Empty Destructor - */ - virtual ~PriorityMap() throw(); - - /** - * Outputs this object in a human readable format - * @param stream The stream where to print this object - * @param indent The indentation to use - * @param alreadyPrinted The set of objects already printed. - * This is to avoid looping when printing circular dependencies - */ - virtual void print(std::ostream& stream, - std::string indent, - castor::ObjectSet& alreadyPrinted) const; - - /** - * Outputs this object in a human readable format - */ - virtual void print() const; - - /** - * Gets the type of this kind of objects - */ - static int TYPE(); - - /********************************************/ - /* Implementation of IObject abstract class */ - /********************************************/ - /** - * Gets the type of the object - */ - virtual int type() const; - - /** - * virtual method to clone any object - */ - virtual castor::IObject* clone(); - - /*********************************/ - /* End of IObject abstract class */ - /*********************************/ - /** - * Get the value of m_priority - * The priority associated with the user and group - * @return the value of m_priority - */ - u_signed64 priority() const { - return m_priority; - } - - /** - * Set the value of m_priority - * The priority associated with the user and group - * @param new_var the new value of m_priority - */ - void setPriority(u_signed64 new_var) { - m_priority = new_var; - } - - /** - * Get the value of m_euid - * The id of the user concerned - * @return the value of m_euid - */ - u_signed64 euid() const { - return m_euid; - } - - /** - * Set the value of m_euid - * The id of the user concerned - * @param new_var the new value of m_euid - */ - void setEuid(u_signed64 new_var) { - m_euid = new_var; - } - - /** - * Get the value of m_egid - * The id of the group concerned - * @return the value of m_egid - */ - u_signed64 egid() const { - return m_egid; - } - - /** - * Set the value of m_egid - * The id of the group concerned - * @param new_var the new value of m_egid - */ - void setEgid(u_signed64 new_var) { - m_egid = new_var; - } - - /** - * Get the value of m_id - * The id of this object - * @return the value of m_id - */ - u_signed64 id() const { - return m_id; - } - - /** - * Set the value of m_id - * The id of this object - * @param new_var the new value of m_id - */ - void setId(u_signed64 new_var) { - m_id = new_var; - } - - private: - - /// The priority associated with the user and group - u_signed64 m_priority; - - /// The id of the user concerned - u_signed64 m_euid; - - /// The id of the group concerned - u_signed64 m_egid; - - /// The id of this object - u_signed64 m_id; - - }; /* end of class PriorityMap */ - - } /* end of namespace stager */ - -} /* end of namespace castor */ - -#endif // CASTOR_STAGER_PRIORITYMAP_HPP diff --git a/codeGeneration/RH.xmi b/codeGeneration/RH.xmi index 5af6b38c914b1327cfde5d6b62702c27b9e30bd0..0071caa9212e2d53f2b091a7c669ee0fba130236 100644 --- a/codeGeneration/RH.xmi +++ b/codeGeneration/RH.xmi @@ -725,13 +725,6 @@ Resources can be allocated to one or many projects are are composed of a set of <UML:Generalization xmi.idref="0Nzi4BLx7uyV" /> </UML:GeneralizableElement.generalization> </UML:Class> - <UML:Class stereotype="53500" isSpecification="false" isLeaf="false" visibility="public" namespace="2105" xmi.id="Mo05JiglnuWE" isRoot="false" isAbstract="false" name="PriorityMap" > - <UML:Classifier.feature> - <UML:Attribute comment="The priority associated with the user and group" isSpecification="false" visibility="public" xmi.id="xvtRSyCeB3G8" type="131665" name="priority" /> - <UML:Attribute comment="The id of the user concerned" isSpecification="false" visibility="public" xmi.id="OKKf7Y8SM6Vf" type="131665" name="euid" /> - <UML:Attribute comment="The id of the group concerned" isSpecification="false" visibility="public" xmi.id="oBPa3vozofOH" type="131665" name="egid" /> - </UML:Classifier.feature> - </UML:Class> <UML:Class stereotype="53501" isSpecification="false" isLeaf="false" visibility="public" namespace="2105" xmi.id="R5j2pUzclG6J" isRoot="false" isAbstract="false" name="GCTypeCodes" > <UML:Classifier.feature> <UML:Attribute isSpecification="false" visibility="public" xmi.id="mY1OJFTaPC7B" initialValue="0" type="133771" name="GCTYPE_AUTO" /> @@ -1618,7 +1611,6 @@ Concerning the user list, an empty list means all users and all groups are conce </UML:Association> <UML:Abstraction isSpecification="false" visibility="public" namespace="1" xmi.id="dseFlZtRy0oH" client="KnuSEdL8nP1V" name="" supplier="960" /> <UML:Abstraction isSpecification="false" visibility="public" namespace="1" xmi.id="kzpixdyKReAv" client="KnuSEdL8nP1V" name="" supplier="1216" /> - <UML:Abstraction isSpecification="false" visibility="public" namespace="1" xmi.id="dotFx5uz0Xqb" client="Mo05JiglnuWE" name="" supplier="960" /> <UML:Association isSpecification="false" visibility="public" namespace="1" xmi.id="fP91g4eemKEs" name="" > <UML:Association.connection> <UML:AssociationEnd comment="SqlOnly" isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="iCkPXzLZFOj4" aggregation="none" type="1195" name="" multiplicity="1" /> @@ -2760,11 +2752,6 @@ Concerning the user list, an empty list means all users and all groups are conce <listitem open="0" type="814" id="pHJHmMqI7gJt" /> </listitem> <listitem open="0" type="813" id="RZYBAWDaUfHC" /> - <listitem open="0" type="813" id="Mo05JiglnuWE" > - <listitem open="0" type="814" id="xvtRSyCeB3G8" /> - <listitem open="0" type="814" id="OKKf7Y8SM6Vf" /> - <listitem open="0" type="814" id="oBPa3vozofOH" /> - </listitem> <listitem open="0" type="813" id="88537" > <listitem open="0" type="814" id="89088" /> <listitem open="0" type="814" id="klA7YdTtNlwL" /> diff --git a/debian/castor-dbtools.install.perm b/debian/castor-dbtools.install.perm index 1d479adf348baa16b2337aca88448b06d6cdd0d2..b5394580f5a9d5ed6dfed9ee8feaa24de625aeb8 100644 --- a/debian/castor-dbtools.install.perm +++ b/debian/castor-dbtools.install.perm @@ -28,9 +28,6 @@ %attr(0755,root,root) usr/bin/vdqmlistpriority %attr(0755,root,root) usr/bin/vdqmlistrequest %attr(0755,root,root) usr/bin/vdqmsetpriority -%attr(0755,root,root) usr/bin/deletePriority -%attr(0755,root,root) usr/bin/enterPriority -%attr(0755,root,root) usr/bin/listPriority %attr(0755,root,root) usr/bin/migrateNewCopy %attr(0755,root,root) usr/bin/fixFileSize %attr(0755,root,root) usr/bin/repack diff --git a/debian/castor-dbtools.manpages b/debian/castor-dbtools.manpages index 6be397086b45980a2dc98ec12b22b3bff2cf6e09..07a2ee3bdfc70f1aeae00cf5e2d4eb2e2d364c73 100644 --- a/debian/castor-dbtools.manpages +++ b/debian/castor-dbtools.manpages @@ -26,8 +26,5 @@ debian/castor/usr/share/man/man1/vdqmlistpriority.1castor.gz debian/castor/usr/share/man/man1/vdqmlistrequest.1castor.gz debian/castor/usr/share/man/man1/vdqmsetpriority.1castor.gz debian/castor/usr/share/man/man1/adminMultiInstance.1castor.gz -debian/castor/usr/share/man/man1/deletePriority.1castor.gz -debian/castor/usr/share/man/man1/enterPriority.1castor.gz -debian/castor/usr/share/man/man1/listPriority.1castor.gz debian/castor/usr/share/man/man1/migrateNewCopy.1castor.gz debian/castor/usr/share/man/man1/repack.1castor.gz diff --git a/hsmtools/Imakefile b/hsmtools/Imakefile index 358ffb461af03c5a1f34b44ee9e79f0f99eb9a33..28cc5ad6181a188921380677ab1f311a9336324b 100644 --- a/hsmtools/Imakefile +++ b/hsmtools/Imakefile @@ -19,9 +19,6 @@ DependsOnLibrary(rfio,castorrfio) NormalProgramTarget(reclaim,reclaim.o,,,755) NormalProgramTarget(adler32,adler32.o,,-lz,755) NormalProgramTarget(c2probe,c2probe.o,,,755) -NormalProgramTarget(listPriority,listPriority.o,,-lstdc++,755) -NormalProgramTarget(enterPriority,enterPriority.o,,-lstdc++,755) -NormalProgramTarget(deletePriority,deletePriority.o,,-lstdc++,755) LOCAL_PATH/rfcpupd.c: $(CASTOR_ROOT)/rfio/rfcp.c sed 's/| *O_TRUNC//' $< | sed 's/O_WRONLY/O_RDWR|O_APPEND/' > $@ PREFIX(FilesToClean) += LOCAL_PATH/rfcpupd.c @@ -100,9 +97,6 @@ EXEMANPAGE(moveDiskServer) EXEMANPAGE(c2probe) EXEMANPAGE(adler32) EXEMANPAGE(adminMultiInstance) -EXEMANPAGE(listPriority) -EXEMANPAGE(enterPriority) -EXEMANPAGE(deletePriority) EXEMANPAGE(draindiskserver) EXEMANPAGE(migrateNewCopy) diff --git a/hsmtools/deletePriority.cpp b/hsmtools/deletePriority.cpp deleted file mode 100644 index 46a7cc35d7b668152dc3ca759ef128569bda3899..0000000000000000000000000000000000000000 --- a/hsmtools/deletePriority.cpp +++ /dev/null @@ -1,158 +0,0 @@ -/****************************************************************************** - * deletePriority.cpp - * - * This file is part of the Castor project. - * See http://castor.web.cern.ch/castor - * - * Copyright (C) 2003 CERN - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * @(#)$RCSfile: deletePriority.cpp,v $ $Revision: 1.8 $ $Release$ $Date: 2009/07/13 06:22:09 $ $Author: waldron $ - * - * @author Castor Dev team, castor-dev@cern.ch - *****************************************************************************/ - -#include <iostream> -#include <castor/stager/SvcClass.hpp> -#include <castor/stager/IStagerSvc.hpp> -#include <castor/Services.hpp> -#include <castor/BaseAddress.hpp> -#include <castor/Constants.h> -#include <Cgetopt.h> -#include <castor/BaseObject.hpp> -#include <pwd.h> -#include <grp.h> -#include <stdio.h> -#include <stdlib.h> - -static struct Coptions longopts[] = { - { "help", NO_ARGUMENT, NULL, 'h'}, - { "uid", REQUIRED_ARGUMENT, NULL, 'u'}, - { "user", REQUIRED_ARGUMENT, NULL, 'U'}, - { "gid", REQUIRED_ARGUMENT, NULL, 'g'}, - { "group", REQUIRED_ARGUMENT, NULL, 'G'}, - { NULL, 0, NULL, 0 } -}; - -void usage(char *cmd) { - std::cout << "Usage : \n" - << cmd << " [-h] -u/--uid uid -g/--gid gid"<<std::endl; - std::cout << cmd << " [-h] -U/--user username -G/--group groupname"<< std::endl; -} - -int main(int argc, char *argv[]) { - int muid = -1; - int mgid = -1; - int muser = -1; - int mgroup = -1; - - char* progName = argv[0]; - - // Deal with options - Coptind = 1; - Copterr = 1; - int ch; - char *invptr; - - while ((ch = Cgetopt_long(argc, argv, "hu:U:g:G:", longopts, NULL)) != EOF) { - switch (ch) { - case 'h': - usage(progName); - return 1; - case 'u': - muid = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid uid: " << Coptarg << std::endl; - usage(progName); - return 1; - } - break; - case 'U': - { - struct passwd *pass = getpwnam(Coptarg); - if (0 == pass) { - std::cerr << " Not existing user." << std::endl; - usage(progName); - return 1; - } - muser = pass->pw_uid; - break; - } - case 'g': - mgid = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid gid: " << Coptarg << std::endl; - usage(progName); - return 1; - } - break; - case 'G': - { - struct group *grp = getgrnam(Coptarg); - if (grp == 0){ - std::cerr << " Not existing group." << std::endl; - usage(progName); - return 1; - } - mgroup = grp->gr_gid; - break; - } - default: - usage(progName); - return 1; - } - } - - // Check parameters - if ((muid < 0 && muser<0) && (mgid < 0 && mgroup<0)) { - std::cerr << "options missing" << std::endl; - usage(progName); - return 1; - } - if ((muid>=0 && muser>=0) ||(mgid>=0 && mgroup>=0)) { - std::cerr << " Invalid syntax"<<std::endl; - usage(progName); - return 1; - } - - muid=muid<0?muser:muid; - mgid=mgid<0?mgroup:mgid; - - try { - // retrieve a Services object - castor::Services* svcs = castor::BaseObject::services(); - // retrieve the DB service - castor::IService* isvc = svcs->service("DB", castor::SVC_DBSTAGERSVC); - - if (0 == isvc) { - std::cerr << " Unable to retrieve Stager Service." << std::endl - << " Please check your configuration." << std::endl; - exit(1); - } - - castor::stager::IStagerSvc* stgsvc = - dynamic_cast<castor::stager::IStagerSvc*>(isvc); - - // delete the priority - stgsvc->deletePriority(muid, mgid); - - } catch (castor::exception::Exception& e) { - std::cerr << "Caught exception :\n" - << e.getMessage().str() << std::endl; - exit(1); - } - return 0; -} - - - diff --git a/hsmtools/deletePriority.man b/hsmtools/deletePriority.man deleted file mode 100644 index b38841fa2d9ba5fc503a5bfae001decdcdb752eb..0000000000000000000000000000000000000000 --- a/hsmtools/deletePriority.man +++ /dev/null @@ -1,50 +0,0 @@ -.TH DELETEPRIORITY 1 "$Date: 2008/08/14 14:30:36 $" CASTOR "Delete entries from the priority map table used by VDQM" -.SH NAME -deletePriority -.SH SYNOPSIS -.B deletePriority -[ -.BI -u/--uid -.BI uid -] -[ -.BI -g/--gid -.BI gid -] -[ -.BI -h -] - -.B deletePriority -[ -.BI -U/--user -.BI user -] -[ -.BI -G/--group -.BI group -] -[ -.BI -h -] -.SH DESCRIPTION -.B deletePriority -deletes entries from the Priority Map Table. - -.SH EXAMPLES -.fi - -deletePriority -u 444, to delete all the entries associated to the user - -deletePriority -g 999, to delete all the entries associated to the group - -deletePriority -u 444 -g 999, to delete the entry with uid=444 and gid=999 - -deletePriority --user xxx --group ggg, to delete the entry associate to user xx with group ggg - -.SH NOTES -This command requires database client access to the stager catalogue. -Configuration for the database access is taken from /etc/castor/ORASTAGERCONFIG - -.SH AUTHOR -\fBCASTOR\fP Team <castor.support@cern.ch> diff --git a/hsmtools/enterPriority.cpp b/hsmtools/enterPriority.cpp deleted file mode 100644 index 510c10eeb0ab886584e13fc43ff80cfba7d4bd30..0000000000000000000000000000000000000000 --- a/hsmtools/enterPriority.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/****************************************************************************** - * enterPriority.cpp - * - * This file is part of the Castor project. - * See http://castor.web.cern.ch/castor - * - * Copyright (C) 2003 CERN - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * @(#)$RCSfile: enterPriority.cpp,v $ $Revision: 1.6 $ $Release$ $Date: 2009/07/13 06:22:09 $ $Author: waldron $ - * - * @author Castor Dev team, castor-dev@cern.ch - *****************************************************************************/ - -#include <iostream> -#include <castor/stager/SvcClass.hpp> -#include <castor/stager/IStagerSvc.hpp> -#include <castor/Services.hpp> -#include <castor/BaseAddress.hpp> -#include <castor/Constants.h> -#include <Cgetopt.h> -#include <castor/BaseObject.hpp> -#include <pwd.h> -#include <grp.h> -#include <stdio.h> -#include <stdlib.h> - -static struct Coptions longopts[] = { - { "help", NO_ARGUMENT, NULL, 'h'}, - { "uid", REQUIRED_ARGUMENT, NULL, 'u'}, - { "user", REQUIRED_ARGUMENT, NULL, 'U'}, - { "gid", REQUIRED_ARGUMENT, NULL, 'g'}, - { "group", REQUIRED_ARGUMENT, NULL, 'G'}, - { "priority", REQUIRED_ARGUMENT, NULL, 'p'}, - { NULL, 0, NULL, 0 } -}; - -void usage(char *cmd) { - std::cout << "Usage : \n" - << cmd << " [-h] -u/--uid uid -g/--gid gid -p/--priority priority"<<std::endl; - std::cout << cmd << " [-h] -U/--user username -G/--group groupname -p/--priority priority"<< std::endl; -} - -int main(int argc, char *argv[]) { - int muid = -1; - int mgid = -1; - int muser=-1; - int mgroup=-1; - int mpriority = -1; - - char* progName = argv[0]; - - // Deal with options - Coptind = 1; - Copterr = 1; - int ch; - char *invptr; - - while ((ch = Cgetopt_long(argc, argv, "hu:U:g:G:p:", longopts, NULL)) != EOF) { - switch (ch) { - case 'h': - usage(progName); - return 1; - case 'u': - muid = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid uid: " << Coptarg << std::endl; - usage(progName); - return 1; - } - if ( muid < 500 ) { - std::cerr <<" uid <500 is not allowed: " << muid << std::endl; - usage(progName); - return 1; - } - break; - case 'U': - { - struct passwd *pass = getpwnam(Coptarg); - if (0 == pass) { - std::cerr <<" Not existing user" << std::endl; - usage(progName); - return 1; - } - muser = pass->pw_uid; - if ( muser < 500 ) { - std::cerr <<" uid <500 is not allowed: " << muser << std::endl; - usage(progName); - return 1; - } - break; - } - case 'g': - mgid = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid gid: " << Coptarg << std::endl; - usage(progName); - return 1; - } - if ( mgid < 500 ) { - std::cerr <<" gid <500 is not allowed: " << mgid << std::endl; - usage(progName); - return 1; - } - break; - case 'G': - { - struct group *grp = getgrnam(Coptarg); - if (grp == 0){ - std::cerr << " Not existing group." << std::endl; - usage(progName); - return 1; - } - mgroup = grp->gr_gid; - if ( mgroup < 500 ) { - std::cerr <<" gid <500 is not allowed: " << mgroup << std::endl; - usage(progName); - return 1; - } - - break; - } - case 'p': - mpriority = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid priority: " << Coptarg << std::endl; - usage(progName); - return 1; - } - break; - default: - usage(progName); - return 1; - } - } - - // Check parameters - - if ((mpriority < 0) || (muid < 0 && muser < 0 )|| (mgid < 0 && mgroup < 0)) { - std::cerr << " Uid, gid and/or priority options missing" << std::endl; - usage(progName); - return 1; - } - if ((muid>=0 && muser>=0) || (mgid>=0 && mgroup>=0)){ - std::cerr << " Invalid syntax"<<std::endl; - usage(progName); - return 1; - } - - muid=muid>0?muid:muser; - mgid=mgid>0?mgid:mgroup; - - try { - // retrieve a Services object - castor::Services* svcs = castor::BaseObject::services(); - // retrieve the DB service - castor::IService* isvc = svcs->service("DB", castor::SVC_DBSTAGERSVC); - if (0 == isvc) { - std::cerr << "Unable to retrieve Stager Service." << std::endl - << "Please check your configuration." << std::endl; - exit(1); - } - - castor::stager::IStagerSvc* stgsvc = - dynamic_cast<castor::stager::IStagerSvc*>(isvc); - - // set the priority - stgsvc->enterPriority(muid, mgid, mpriority); - - } catch (castor::exception::Exception& e) { - if (e.code() == 1) { - std::cerr << "Priority for uid: " << muid << " and gid: " << mgid - << " already exists" << std::endl; - } else { - std::cerr << "Caught exception :\n" - << e.getMessage().str() << std::endl; - } - exit(1); - } - return 0; -} diff --git a/hsmtools/enterPriority.man b/hsmtools/enterPriority.man deleted file mode 100644 index a383faead29257deb37a95f1fcd31172e64ef1da..0000000000000000000000000000000000000000 --- a/hsmtools/enterPriority.man +++ /dev/null @@ -1,43 +0,0 @@ -.TH ENTERPRIORITY 1 "$Date: 2008/08/14 14:30:36 $" CASTOR "Set the priority for a specific uid and gid" -.SH NAME -enterPriority -.SH SYNOPSIS -.B enterPriority -.BI -u/--uid -.BI uid -.BI -g/--gid -.BI gid -.BI -p/--priority -.BI priority -[ -.BI -h -] - -.B enterPriority -.BI -U/--user -.BI user -.BI -G/--group -.BI group -.BI -p/--priority -.BI priority -[ -.BI -h -] -.SH DESCRIPTION -.B enterPriority -maps a uid-gid to a specific priority, which will be used by VDQM. - -uid, gid and priority must be positive intergers. - -.SH EXAMPLES -.fi -enterPriority -u 333 -g 333 -p 6 -enterPriority --user name --group group --priority 9 -.fi - -.SH NOTES -This command requires database client access to the stager catalogue. -Configuration for the database access is taken from /etc/castor/ORASTAGERCONFIG - -.SH AUTHOR -\fBCASTOR\fP Team <castor.support@cern.ch> diff --git a/hsmtools/listPriority.cpp b/hsmtools/listPriority.cpp deleted file mode 100644 index d73861e3f8fea7ebf2867044d244a83e52263fd3..0000000000000000000000000000000000000000 --- a/hsmtools/listPriority.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/****************************************************************************** - * listPriority.cpp - * - * This file is part of the Castor project. - * See http://castor.web.cern.ch/castor - * - * Copyright (C) 2003 CERN - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * @(#)$RCSfile: listPriority.cpp,v $ $Revision: 1.5 $ $Release$ $Date: 2009/07/13 06:22:09 $ $Author: waldron $ - * - * @author Castor Dev team, castor-dev@cern.ch - *****************************************************************************/ - -#include <iostream> -#include <pwd.h> -#include <grp.h> - -#include <castor/stager/SvcClass.hpp> -#include <castor/stager/IStagerSvc.hpp> -#include <castor/Services.hpp> -#include <castor/BaseAddress.hpp> -#include <castor/Constants.h> -#include <Cgetopt.h> -#include <castor/BaseObject.hpp> -#include <castor/stager/PriorityMap.hpp> -#include <stdio.h> -#include <stdlib.h> - -static struct Coptions longopts[] = { - { "help", NO_ARGUMENT, NULL, 'h'}, - { "uid", REQUIRED_ARGUMENT, NULL, 'u'}, - { "user", REQUIRED_ARGUMENT, NULL, 'U' }, - { "gid", REQUIRED_ARGUMENT, NULL, 'g'}, - { "group", REQUIRED_ARGUMENT, NULL, 'G'}, - { "priority", REQUIRED_ARGUMENT, NULL, 'p'}, - { NULL, 0, NULL, 0 } -}; - -void usage(char *cmd) { - std::cout << "Usage : \n" - << cmd << " [-h] [-u/--uid uid] [-g/--gid gid] [-p/--priority priority]\n" - << cmd << " [-h] [-U/--user user] [-G/--group gid] [-p/--priority priority]\n" - << std::endl; -} - -int main(int argc, char *argv[]) { - int muid = -1; - int mgid = -1; - int muser = -1; - int mgroup = -1; - int mpriority = -1; - - char* progName = argv[0]; - - // Deal with options - Coptind = 1; - Copterr = 1; - int ch; - char *invptr; - - while ((ch = Cgetopt_long(argc, argv, "hu:U:g:G:p:", longopts, NULL)) != EOF) { - switch (ch) { - case 'h': - usage(progName); - return 1; - case 'u': - muid = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid uid: " << Coptarg << std::endl; - usage(progName); - return 1; - } - break; - case 'U': - { - struct passwd *pass = getpwnam(Coptarg); - if (0 == pass) { - std::cerr << " Not existing user." << std::endl; - usage(progName); - return 1; - } - muser = pass->pw_uid; - break; - } - case 'g': - mgid = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid gid: " << Coptarg << std::endl; - usage(progName); - return 1; - } - break; - case 'G': - { - struct group *grp = getgrnam(Coptarg); - if (grp == 0){ - std::cerr << " Not existing group." << std::endl; - usage(progName); - return 1; - } - mgroup = grp->gr_gid; - break; - } - case 'p': - mpriority = strtol (Coptarg, &invptr, 10); - if ('\0' != *invptr) { - std::cerr <<" Invalid priority: " << Coptarg << std::endl; - usage(progName); - return 1; - } - break; - default: - usage(progName); - return 1; - } - } - - if ((muid>=0 && muser>=0) || (mgid>=0 && mgroup>=0)){ - std::cerr << " Invalid syntax"<<std::endl; - usage(progName); - return 1; - } - - muid=muid>0?muid:muser; - mgid=mgid>0?mgid:mgroup; - try { - // retrieve a Services object - castor::Services* svcs = castor::BaseObject::services(); - // retrieve the DB service - castor::IService* isvc = svcs->service("DB", castor::SVC_DBSTAGERSVC); - if (0 == isvc) { - std::cerr << "Unable to retrieve Stager Service." << std::endl - << "Please check your configuration." << std::endl; - exit(1); - } - - castor::stager::IStagerSvc* stgsvc = - dynamic_cast<castor::stager::IStagerSvc*>(isvc); - - // list the priorities - std::vector<castor::stager::PriorityMap*> listPriority = - stgsvc->selectPriority(muid, mgid, mpriority); - - // print out the returned results - std::vector<castor::stager::PriorityMap*>::iterator line = listPriority.begin(); - if (listPriority.empty()){ - fprintf(stdout, "No priorities found\n"); - } else { - fprintf(stdout, "%-8s %-8s %-8s\n", "Uid", "Gid", "Priority"); - while (line != listPriority.end()){ - struct passwd *pass= getpwuid((*line)->euid()); - char *pw_name=NULL; - char buf_name[32]; - if (NULL == pass){ - // we do not have such uid on this server - snprintf(buf_name,32,"%u",(unsigned int)(*line)->euid()); - pw_name = buf_name; - } else { - // resolve uid to the username - pw_name = pass->pw_name; - } - struct group *grp= getgrgid((*line)->egid()); - char *gr_name=NULL; - char buf_grp[32]; - if ( NULL == grp){ - // we do not have such gid on this server - snprintf(buf_grp,32,"%u",(unsigned int)(*line)->egid()); - gr_name = buf_grp; - } else { - // resolve gid to the groupname - gr_name = grp->gr_name; - } - - fprintf(stdout, "%-8s %-8s %-8llu\n", - pw_name, - gr_name, - (*line)->priority()); - line++; - } - } - - } catch (castor::exception::Exception& e) { - std::cerr << "Caught exception :\n" - << e.getMessage().str() << std::endl; - exit(1); - } - return 0; -} - - - diff --git a/hsmtools/listPriority.man b/hsmtools/listPriority.man deleted file mode 100644 index bf6e8068ad4ffcf07f75d9c0efd7615c0e3ac88c..0000000000000000000000000000000000000000 --- a/hsmtools/listPriority.man +++ /dev/null @@ -1,63 +0,0 @@ -.TH LISTPRIORITY 1 "$Date: 2008/08/14 14:30:36 $" CASTOR "List the entries in the priority map table used by VDQM" -.SH NAME -listPriority -.SH SYNOPSIS -.B listPriority -[ -.BI -u/--uid -.BI uid -] -[ -.BI -g/--gid -.BI gid -] -[ -.BI -p/--priority -.BI priority -] -[ -.BI -h -] - -.B listPriority -[ -.BI -U/--user -.BI username -] -[ -.BI -G/--group -.BI groupname -] -[ -.BI -p/--priority -.BI priority -] -[ -.BI -h -] - -.SH DESCRIPTION -.B listPriority -lists the entries from the Priority Map Table, depending the option given. - -.SH EXAMPLES -.fi - -listPriority --user name --group group - -listPriority -U name -G group - -listPriority --user name - -listPriority -u 444, to list all the entries associated to the user - -listPriority -g 999, to list all the entries associated to the group - -listPriority -p 5, to list all the entries associated to a specific priority - -.SH NOTES -This command requires database client access to the stager catalogue. -Configuration for the database access is taken from /etc/castor/ORASTAGERCONFIG. - -.SH AUTHOR -\fBCASTOR\fP Team <castor.support@cern.ch>