summaryrefslogtreecommitdiffstats
path: root/xlators/features/quota
Commit message (Collapse)AuthorAgeFilesLines
* Merge "quota-enforcer: initialize enforcer rpc iff quota is enabled" into ↵Krishnan Parthasarathi2013-09-242-7/+40
|\ | | | | | | upstream_on_quota
| * quota-enforcer: initialize enforcer rpc iff quota is enabledKrishnan Parthasarathi2013-09-242-8/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | Details: -------- In init, we should create an rpc only when quota is enabled on the volume. In reconfigure, we should reuse the enforcer rpc, if any, on enable. On disable, we should disable the enforcer rpc, if present. Change-Id: I03e9f7b2b6dfecd1e8d97f0fb2df3db717e4ad50 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
* | posix, quota, glusterd, dht: Modification to the pgfid xattr handlingVarun Shastry2013-09-191-6/+21
|/ | | | | | | | | | | | | | | Commit makes the following changes to the source. i. Updating hard link count for parent dir should be configurable. Starts working only when the quota is enabled. ii. Heal nlinks of pgfid xattr in lookup. iii. Start quota crawler without readdirp optimization. iv. Rename: Handle the internal fops properly. Use GLUSTERFS_INTERNAL_FOP_KEY for representing the internal fops. Change-Id: Ic6586a82a8bb6eb4329eb6cbd5430da11418e753 BUG: 969461 Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com> Signed-off-by: Varun Shastry <vshastry@redhat.com>
* features/quota: Quota related changes to statfs fopVarun Shastry2013-09-161-25/+184
| | | | | | | | | | | | | | | The code adjusts the statvfs values if the quota-deem-statfs option is enabled. i. Adjust statvfs based on limit configured on root. ii. If limit is set on the inode passed, use size/limits on that inode to populate statvfs. Otherwise, use size/limits configured on root. iii. Upon statvfs, update the ctx->size on the inode. iv. Don't let DHT aggregate, instead take the maximum of the usages from the subvols of the DHT, since each of it contains the complete information. Change-Id: Id43c5432be56b70c22c040a9b7f674ddddc9f930 BUG: 969461 Signed-off-by: Varun Shastry <vshastry@redhat.com>
* quotad: compare the entire volume_uuid with xlator name.Raghavendra G2013-09-101-1/+1
| | | | | | | | | | Current code compared only the first strlen (xlator_name) characters with volume_uuid. This can result in picking up a wrong subvol which has the first strlen (xlator_name) characters same as volume_uuid. Change-Id: I81bf251c0603ccfe2bd60b75d2e040f13b135669 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* features/quota: Don't error out if ctx is not set in inode.Raghavendra G2013-09-101-86/+129
| | | | | | | | | | | This patch addresses the issues we might run into in the time-window between crawler starts to build quota state and the crawler actually reaches the inode. In this time-window, quota is enabled but context of the inode in question is not populated. Change-Id: I10ba66d9aa3680e6c46f8f599e77fc39cc9601c5 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* cli: implement quota-list-all using quota.conf and quotad GETLIMIT rpcKrutika Dhananjay2013-09-062-2/+135
| | | | | | | Original-author: Krishnan Parthasarathi <kparthas@redhat.com> Change-Id: I07797fb5402dba89f81a7d2b8b20a11db74f69c9 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
* Merge "features/quota: Read the time option in its native format" into ↵Vijay Bellur2013-09-021-8/+8
|\ | | | | | | upstream_on_quota
| * features/quota: Read the time option in its native formatVarun Shastry2013-08-261-8/+8
| | | | | | | | | | Change-Id: Ibe7de155bb5be21ab2da2beed75eec86e9a2f001 Signed-off-by: Varun Shastry <vshastry@redhat.com>
* | features/quota: log only if soft limit is set.Raghavendra G2013-09-031-3/+3
| | | | | | | | | | | | Change-Id: I60f93727f04f1d16edfc7efdcb4e1c501ec760fa BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota: remove spurious logs about inode ctx being NULL.Raghavendra G2013-09-031-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | Its valid that directories on which limit is not set, to not have inode ctx NULL, since it servers no purpose. Change-Id: I0e31de7ffbfcb65cddf590833756ff11bab64434 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: https://code.engineering.redhat.com/gerrit/11830 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* | features/quota: Check quota on all parents after building ancestry.Raghavendra G2013-09-031-42/+94
| | | | | | | | | | | | | | | | | | | | This patch also fixes a potential race-condition while accessing dentry list stored in inode context while updating size and enforcing limits. Change-Id: I76c85fe782f6a53d74b453dd7dcb893e33003620 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota: Pass correct delta during quota_updationRaghavendra G2013-09-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to calculate delta as, delta = (postbuf->ia_blocks - prebuf->ia_blocks) * 512; However this can result in some blocks getting accounted twice in a multithreaded environment. This is because at storage/posix, we dont do, * stat (file, &prebuf) * write () * stat (file, &postbuf) as a single atomic operation. So, stat in step 3, can account for some blocks which are allocated as part of a parallel write. One of the possible fixes is to make these three operations by holding a lock. However, this is too costly operation and hence quota relies on size of the vector being written (with the check that if post and pre block count are same, entire write was accomodated in existing blocks). This seems to be acceptable since we don't solely rely on size_updation by quota-enforcer (we do fetch aggregated size from quotad after a timeout). Change-Id: Ifdc8174c77058322aca8f589f7558641b73f0bc1 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: https://code.engineering.redhat.com/gerrit/11829 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* | features/quota: Add log when enforcer builds an inode's ancestry.Raghavendra G2013-09-031-0/+3
| | | | | | | | | | | | Change-Id: Ic31b77192d7cc21462f6b0eeee2938109681ca55 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota: update in memory limit values when limit-set is done.Raghavendra G2013-09-032-37/+41
| | | | | | | | | | | | | | | | Also removes QUOTA_UPDATE_USAGE_KEY Change-Id: I71080eda562f8f4d451c4911f833de9048031da9 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota: cleanup of quota_inode_ctx_getRaghavendra G2013-09-031-83/+58
| | | | | | | | | | | | Change-Id: I49798f8b84a260e72bed722e08af6a194005dec1 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota: don't process "." and ".." in readdirp_cbkRaghavendra G2013-09-031-2/+6
| | | | | | | | | | | | Change-Id: I1aa76e6155876e0dcd996bf037ad76cbb17a0ac1 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota-enforcer: build inode contexts in readdirpRaghavendra G2013-08-291-9/+50
| | | | | | | | | | | | Change-Id: I8a224a332777d9e2506d6211606f10149ea537e0 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | posix/marker-quota/marker-enforcer: introduce and use GET_ANCESTRY_DENTRY_KEYRaghavendra G2013-08-262-48/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A getxattr on key GET_ANCESTRY_DENTRY_KEY to storage/posix would return a list of direntries which can be used to construct inode contexts of individual translators. The result of getxattr on this key can be viewed as similar to readdirp_cbk with the difference that the dentries returned here represent various paths from that inode till root rather than the children of a directory. This patch also modifies marker/quota and enforcer to utilize this key. Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Change-Id: I7132e7d56f2fac0f8749f51227d9f2ef27f9d354 BUG: 969461
* | features/quota: fix compiler warnings.Raghavendra G2013-08-261-15/+15
| | | | | | | | | | | | Change-Id: I960cf42c3cacecb9d1cdb258e063b8691a16ca20 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* | features/quota-enforcer: ask posix to construct dentry chain till root when ↵Raghavendra G2013-08-261-66/+142
|/ | | | | | | | | | | | | a parent cannot be found for an inode. Quota enforcement requires checking of limits on all ancestors till root. With anonymous fds and nameless lookups, all the ancestors may not be populated in inode table. A getxattr on key GET_PATH_KEY would make storage/posix to construct the dentry chain till root. Change-Id: I1e2172c28a9c7eb918fe41b63b30209733df148c BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* features/quota: remove the entry from the context for internal unlinks alsoRaghavendra Bhat2013-08-201-7/+5
| | | | | | | | | | | | | | | | distribute xlator does the below operations as internal fops for rename FOP: rename a -> b link b unlink a distribute sends the above link and unlink fops as internal fops. Quota xlator upon seeing link and unlink as internal fops does not add/remove the entries to/from the inode context. So when unlink comes, even though the fop is internal fop, go through the list of names in the context and if the name of the entry being unlinked is found in the list, then remove it from the list. Change-Id: I9a57e3b9c295f7fce6a9e952a24b59897e856e98 Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
* features/quota: Fix a memory leak in quota_lookup()Vijay Bellur2013-08-191-3/+8
| | | | | Change-Id: I1cb7eb190f52f6eba015c6fc25621ee7a5a05c26 Signed-off-by: Vijay Bellur <vbellur@redhat.com>
* Merge "features/quota: rename friendly changes" into upstream_on_quotaVijay Bellur2013-08-172-0/+18
|\
| * features/quota: rename friendly changesVijay Bellur2013-08-152-0/+18
| | | | | | | | | | Change-Id: I510a3f068ab141a707fd6535d51d4b3fa37930f0 Signed-off-by: Vijay Bellur <vbellur@redhat.com>
* | quota: log usage only when soft-quota-limit is crossedKrishnan Parthasarathi2013-08-152-41/+45
|/ | | | | | | | Also handled reconfigure event for quota options such as soft-timeout, hard-timeout and alert-time Change-Id: I5dfdb76901d4f3af824b30838318268e5edcee34 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
* features/quota: Resume fops for internal clients.Vijay Bellur2013-08-131-1/+7
| | | | | Change-Id: If1773603bcc5b393796e96439929e7fd2867127a Signed-off-by: Vijay Bellur <vbellur@redhat.com>
* quota: fix ESTALE in lookupKrishnan Parthasarathi2013-08-121-0/+1
| | | | | | Original-author: Raghavendra Gowdappa <rgowdapp@redhat.com> Change-Id: I245f1914a38332b8e5e7f1581c9437cf5a9ab6f0 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
* features/quota: Add support for statedumpVijay Bellur2013-08-122-0/+41
| | | | | | | | - dumps members of quota_priv_t. - also added validation count to keep track of number of validations done. Change-Id: I998fcccacf4bd7c61ead9ca9a489e0dc0e73763a Signed-off-by: Vijay Bellur <vbellur@redhat.com>
* quota: saner defaults, min and max values for timeoutsKrishnan Parthasarathi2013-08-121-4/+4
| | | | | | | | Also changed default soft-limit percentage to 80% of configured quota limit. Change-Id: Ia07b569216189a6e3bedb5cdbf8ffeb9f7739444 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
* glusterd, quotad: volume-id option fixupsBrian Foster2013-08-121-2/+7
| | | | | | | | | | | A few little hacks to set the volume id on the quota server and a mapping option on quotad to map the volume name to the uuid passed via the lookup request. Change-Id: Ic151acb18ed29d2ee4ae5d1bc6841ae4a4de176a Original-author: Brian Foster <bfoster@redhat.com> Signed-off-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
* features/quota: Fix compilation warningsKrutika Dhananjay2013-08-122-5/+4
| | | | | | | | | | | | | | | | | | The following are the compilation warnings I encountered: ----------------------------------- In file included from quota.c:12:0: quota.h:190:1: error: 'packed' attribute ignored [-Werror=attributes] quota.c: In function 'quota_lookup_cbk': quota.c:618:23: error: assignment from incompatible pointer type [-Werror] quota.c:637:53: error: 'soft_lim' undeclared (first use in this function) quota.c:637:53: note: each undeclared identifier is reported only once for each function it appears in quota.c:608:28: error: unused variable 'size' [-Werror=unused-variable] cc1: all warnings being treated as errors ----------------------------------- Change-Id: I7a09e654a9cc064a423a5f8362f2a9c6abbc7edb Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
* features/quota: minor fixes to enforcerRaghavendra G2013-08-122-12/+5
| | | | | | | | | | * send size query to quotad only if limit is set on that inode. * don't check for loc->parent while querying size from quotad, since its a nameless lookup Change-Id: I10dc2f9d1e40875382040b53cb4ee5f6d9a27133 BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* features/quota: fixes to code reading limits from xattrs.Raghavendra G2013-08-122-44/+33
| | | | | | | | | | It was assumed that hard and soft limits are stored as two different xattrs on disk. However they are stored as two members of a structure which is stored as a value for a single key. Change-Id: I947fa5c375209c31fe1511bda0d5cb0e249af9ba BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
* quota: Fix initialisation of privKrutika Dhananjay2013-08-121-0/+2
| | | | | | | Original-author: Vijay Bellur <vbellur@redhat.com> Change-Id: Iea21ef1cdfb78c79482ad02f81734516b7818714 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
* features/quota: Allow the gluster 'special' processes to supercede the limitsVijay Bellur2013-08-121-4/+18
| | | | | | | | | Don't block the gluster internal processes like rebalance, gsyncd, self heal etc from the disk quotas and the xattrs setting. Solution: Allow all the clients with negative PID. Change-Id: Iaeaa8096e00d48b2a4c3f5df61d103da0b3d6598
* features/quota: Fix compilation warningsVijay Bellur2013-08-122-8/+24
| | | | Change-Id: Ie0b3af8b52f2d909c61094bdcaccfd724ff4ecc0
* features/quota: Introduce quota log helper function.Vijay Bellur2013-08-122-0/+55
| | | | Change-Id: I38077c7adc497b314f4037cbbb116458a26ed589
* features/quota: design changesRaghavendra G2013-08-1210-1384/+1741
| | | | | | | | | | | | | | * hard and soft limits are persisted in xattrs of the inode. Associating limits with inode instead of maintaining as a global list helps us to scale better. * quotad-aggregator acts as a special client to provide cluster view through an rpc program. Quota enforcer loaded on brick uses this to get aggregated directory sizes. Aggregated sizes are cached for a timeout period in in-memory inode contexts. Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Change-Id: I2ab508d9d4fe224bc1d8cf01cf2b7969dd4200bb BUG: 969461
* features/quota: Improvements to quotaVarun Shastry2013-08-125-874/+1608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old implementation * Client side implementation of quota - Not secure - Increased traffic in updating the ctx New Implementation * 2 stages of quota implementation is done: Soft and hard quota Upon reaching soft quota limit on the directory it logs/alerts in the quota daemon log (ie DEFAULT_LOG_DIR/quotad.log) and no more writes allowed after hard quota limit. After reaching the soft-limit the daemon alerts the user/admin repeatively for every 'alert-time', which is configurable. * Quota is moved to server-side. There will be 2 quota xlators i. Quota Server It takes care of the enforcing the quota and maintains the context specific to the brick. Since this doesn't have the complete picture of the cluster, cluster wide usage is updated from the quota daemon. This updated context is saved and used for the enforcement. It updates its context by searching the QUOTA_UPDATE_KEY from the dict in the setxattr call, and is updated from nowhere else. The quota is always loaded in the server graph and is by passed if the feature is not enabled. Options specific to quota-server: server-quota - Specifies whether the features is on/off. It is used to by pass the quota if turned off. deem-statfs - If set to on, it takes quota limits into consideration while estimating fs size. (df command) ii. Quota Daemon This is the new xlator introduced with this patch. Its the *gluster client* process with no mount point, started upon enabling quota or restarting the volume. This is a single process for all the volumes in the cluster. Its volfile stored in GLUSTERD_DEFAULT_WORKI_DIR/quotad/quotad.vol. It queries for the sizes on all the bricks, aggregates the size and sends back the updated size, periodically. The timeout between successive updation is configurable and typically/by default more for below-soft-quota usage and less for above-soft-quota usage. It maintains the timeout inside the limit structure based on the usage; below soft limit and above soft limit. There will be thread running per volume which iterates through the list and decides whether the size to be queried in the current iteration based on its timeout. It takes the next iteration time taking the least of the timeouts in the list of entries. Maintains a separate inode table for each volume in the quotad. In the first iteration it builds the table for quota-dirs (dirs on which limit is set) and its components. Options specific to quotad: hard-timeout - Timeout for updation of usage to the quota-server when the usage is crosses the soft-limit. soft-timeout - Timeout for the updation of usage to the quota-server when the usage is below soft-limit. alert-time - Frequency of logging after the usage reached soft limit. Options common to both: default-soft-limit - This is used when individual paths are not configured with soft-limit and default value of this option is 90% of the hard-limit. limit-set - String containing all the limits. Thus in the current implementation we'll have 2 quota xlators: one in server graph and one in trusted client (quota daemon) of which the sole purpose will be to aggregate the quota size xattrs from all the bricks and send the same to server quota xlator. * Changes in glusterd and CLI A single volfile is created for all the volumes, similar to nfs volfile. All files related to quota client (volfile, pid etc) are stored in GLUSTERD_DEFAULT_WORK_DIR/quotad/. The new pattern of the quota limit stores in limit-set = <single-dir-limit>[,<single-dir-limit>] single-dir-limit = <abs-path>:<hard-limit>[:<soft-limit-in-percent>] It also introduces new options: volume quota <VOLNAME> {enable|disable|list [<path> ...]|remove <path>| default-soft-limit <percent>} | volume quota <VOLNAME> {limit-usage <path> <size> |soft-limit <path> <percent>} | volume quota <VOLNAME> {alert-time|soft-timeout|hard-timeout} {<time>} Credit: Raghavendra Bhat <rabhat@redhat.com> Varun Shastry <vshastry@redhat.com> Shishir Gowda <sgowda@redhat.com> Kruthika Dhananjay <kdhananj@redhat.com> Brian Foster <bfoster@redhat.com> Krishnan Parthasarathi <kparthas@redhat.com> Change-Id: I16ec5be0c2faaf42b14034b9ccaf17796adef082 BUG: 969461 Signed-off-by: Varun Shastry <vshastry@redhat.com>
* gluster: add fallocate fop supportBrian Foster2013-06-131-0/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for the fallocate file operation. fallocate allocates blocks for a particular inode such that future writes to the associated region of the file are guaranteed not to fail with ENOSPC. This patch adds fallocate support to the following areas: - libglusterfs - mount/fuse - io-stats - performance/md-cache,open-behind - quota - cluster/afr,dht,stripe - rpc/xdr - protocol/client,server - io-threads - marker - storage/posix - libgfapi BUG: 949242 Change-Id: Ice8e61351f9d6115c5df68768bc844abbf0ce8bd Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-on: http://review.gluster.org/4969 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* features/quota: Add option to consider the quota limit in statfs estimationVarun Shastry2013-02-192-3/+21
| | | | | | | | | | | | | | | Adds an option, features.quota-deem-statfs (default off) to consider the quota limits while calculating the volume stats. Eg: Backend is of size 10GB and limit set on / is 5GB. If the option is off df show actual size to be 10GB and when it is on df shows 5GB. Change-Id: Ib30733bb69afecce1dea9d0491af89d551d214cc BUG: 905425 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/4511 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* Use proper libtool option -avoid-version instead of bogus -avoidversionAnand Avati2013-02-071-1/+1
| | | | | | | | | | Change-Id: I1c9541058c7d07786539a3266ca125a6a15287d8 BUG: 859835 Signed-off-by: Anand Avati <avati@redhat.com> Original-author: Kacper Kowalik (Xarthisius) <xarthisius.kk@gmail.com> Signed-off-by: Kacper Kowalik (Xarthisius) <xarthisius.kk@gmail.com> Reviewed-on: http://review.gluster.org/3967 Tested-by: Gluster Build System <jenkins@build.gluster.com>
* features/quota: Failure of quota commands if the dir-name contains ':' in itVarun Shastry2012-11-091-3/+6
| | | | | | | | | | | | | | | | | | | | | PROBLEM: The first colon in the limit string is used to separate the path and the limit-value. The ':' in the path was the source of problem. FIX: Search for the last colon and separate based on the same. Added regression test. TEST: Create and set quota on directories with names containing ':' in start, middle and end. Change-Id: I363c8ad4cbfd02c23fc73974bef9aa8bc362d29c BUG: 848251 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/4137 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* build: split CPPFLAGS from CFLAGSJeff Darcy2012-10-031-2/+3
| | | | | | | | | | | | | | | | | Automake provides a separate variable for preprocessor flags (*_CPPFLAGS). They are already uses in a few places, so make it consistent and use it everywhere. Note that cflags obtained from pkg-config often are cppflags, which is why LIBXML2_CFLAGS moves with into AM_CPPFLAGS, for example. Change-Id: I15feed1d18b2ca497371271c4b5876d5ec6289dd BUG: 862082 Original-author: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4029 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* build: remove useless explicit -fPIC -shared fromJeff Darcy2012-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | CFLAGS libtool will automatically add "-fPIC" to the compiler command line as needed, so there is no need to specify it separately. "-shared" is normally a linker flag and has an odd effect when used with libtool --mode=compile, namely that it inhibits production of static objects. For that however, using AC_DISABLE_STATIC is a lot simpler. Change-Id: Ic4cba0fad18ffd985cf07f8d6951a976ae59a48f BUG: 862082 Original-author: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4027 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* build: remove -nostartfiles flagJeff Darcy2012-10-021-1/+1
| | | | | | | | | | | | | | | The "-nostartfiles" is a discouraged option and is documented to potentially result in undesired behavior. Since I see no reason why it should be in glusterfs, remove it. Change-Id: I56f2b08874516ebad91447b2583ca2fb776bb7ab BUG: 862082 Original-author: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4018 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* build: consolidate common compilation flags into one variableJeff Darcy2012-10-011-1/+1
| | | | | | | | | | | | | | | Some -D flags are present in all files, so collect them. This adds -D${GF_HOST_OS} to some compiler command lines, but this should not be a problem. Change-Id: I1aeb346143d4984c9cc4f2750c465ce09af1e6ca BUG: 862082 Original-author: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4013 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* features/quota: Avoid mem_put on null localPranith Kumar K2012-09-172-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: QUOTA_STACK_UNWIND does not check if local is NULL before mem_put. This leads to a callingfn log for every setxattr in quota. Fix: Made sure the mem_put happens only on non-null local in quota. Additional changes: Removed unused QUOTA_STACK_DESTROY macro. Tests: Peformed setfattr on the mount point and the Invalid argument logs don't come anymore. Checked that the change does not introduce any memory leak in quota. Change-Id: Ie4534c7af0fff80e35d8510311055f930262594f BUG: 856541 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.org/3936 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* All: License message changeVarun Shastry2012-09-133-21/+18
| | | | | | | | | | | | License message changed for server-side, dual license GPLV2 and LGPLv3+. Change-Id: Ia9e53061b9d2df3b3ef3bc9778dceff77db46a09 BUG: 852318 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/3940 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>