summaryrefslogtreecommitdiffstats
path: root/xlators/features
Commit message (Collapse)AuthorAgeFilesLines
* features/marker: fix race-conditions, memory corruptions and fd-leaks.Raghavendra G2011-07-207-374/+1019
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove xattrs from newpath after rename is complete. - hold inodelk on both parents (if they are different) before doing rename and gather contribution values of oldpath and newpath to their parents while still holding the locks. Use these contribution values to reduce parent sizes. - performance optimization: abort updation process if delta is zero. - libglusterfs/call-stub: Allow unwinding of frames for rename during call_resume_unwind. - fixes in dirty inode healing codepath: - fix fd-leak of fd opened on the directory. - don't add (instead just assign) next offset at which readdir has to be sent to local->d_off. - assign to local->d_off before winding lookup call to get child contribution. - use mutexes while accessing contribution values stored in inode context. - use contribution values from backend instead of in-memory while reducing parent sizes during rename - wipe parent_loc in marker_local_unref. - check for refcount being zero holding lock in quota_local_unref. - hold parent inodelk during creation of xattrs on directory. - use contribution value to reduce parent's size, if the value to be subtracted is not passed as argument to reduce_parent_size. - skip contribution creation on root. Change-Id: I97a9ac7efc5cf82abd3837fa6f9766c35676a908 BUG: 2697 Signed-off-by: Junaid <junaid@gluster.com> Reviewed-on: http://review.gluster.com/31 Tested-by: Gluster Build System <jenkins@build.gluster.com>
* features/locks: Avoid using reqlock to prevent racev3.2.2qa8v3.2.2Vijay Bellur2011-07-132-2/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2473 (Support for volume and directory level quota) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2473
* quota: update limit stored in inode-ctx when limit is removed on a directory.Raghavendra G2011-07-111-2/+7
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2971 (quota remove command doesn't remove quota on directories.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2971
* features/locks: Do not block UNLOCKsVijay Bellur2011-07-072-2/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2473 (Support for volume and directory level quota) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2473
* access-control: superseded by posix-acl translatorAnand Avati2011-07-013-2377/+1
| | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2815 (Server-enforced ACLs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2815
* features/marker-quota: call stack destroy when hardlink count is not greater 1.Junaid2011-07-011-0/+6
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2473 (Support for volume and directory level quota) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2473
* features/locks:check for inodelk lists and blocked inodelks instead of ↵Raghavendra Bhat2011-06-161-3/+3
| | | | | | | | | | entrylk in inodelk.c Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3032 (entrylks are checked instead of inodelks while checking the blocked inodelks conflict) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3032
* features/locks: update refcount while releasing a lockRaghavendra Bhat2011-06-141-0/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3025 (open lock and close leads to memleak) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3025
* Access-Control : Sticky bit validation for rename, unlink and rmdir.Gaurav2011-06-081-23/+197
| | | | | | | | Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2886 (No sticky bit validation in access control) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2886
* Access-Control : Changes in setattr for posix compliance.Gaurav2011-06-081-27/+114
| | | | | | | | Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 1337 (gnfs: posix compliance test fails) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1337
* syncdaemon: fix listing xattrs when there is none and failure handlingCsaba Henk2011-05-311-5/+4
| | | | | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2859 (gsyncd crashes if master vol root has no xattrs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2859 BUG: 2859 (gsyncd crashes if master vol root has no xattrs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2859
* syncdaemon: some refactor on monitorCsaba Henk2011-05-313-13/+17
| | | | | | | | | | | | | | - detect faulty state early - keep the feedback fd in gsyncd module Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2537 (gsync autorestart) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2537 BUG: 2537 (gsync autorestart) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2537
* marker: fill out the volume-mark properly in case of marking corruptionCsaba Henk2011-05-311-1/+1
| | | | | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2858 (volume-mark corruption swallowed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2858 BUG: 2858 (volume-mark corruption swallowed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2858
* features/locks: Unwind with SUCCESS on non-blocking entrylk successPranith Kumar K2011-05-311-3/+4
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2949 (self-heal hangs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2949
* marker: fix NULL deref in loggingv3.2.0Anand Avati2011-04-291-2/+3
| | | | | | | | | Fix bad gf_log argument Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2852 (Glusterfsd crashes on AMI) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2852
* syncdaemon: have the monitor kill the worker if it does not connect in 60 secCsaba Henk2011-04-223-4/+33
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2736 (gsyncd hangs if crash occurs in the non-main thread) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2736
* syncdaemon: handle errors in glusterfs mount more carefullyv3.2.0qa15Csaba Henk2011-04-211-4/+11
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2826 (stale auxiliary mounts are left over) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2826
* prevent few excessive logsAmar Tumballi2011-04-212-4/+8
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* features/marker-quota: handle creation of regular files using mknod.Raghavendra G2011-04-212-0/+7
| | | | | | | | | | - Add the disk-used to parents' size. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2649 (Quota: size field is not getting updated properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2649
* features/marker-quota: handle overflow of counter used to set ↵Raghavendra G2011-04-214-13/+42
| | | | | | | | | | frame->root->lk_owner. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2804 (Occasional log messages seen indicating failure of inodelk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2804
* features/marker-quota: Add the disk space used to parent sizes during ↵Raghavendra G2011-04-213-3/+6
| | | | | | | | | | creation of new-files or symlinks. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2649 (Quota: size field is not getting updated properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2649
* syncdaemon: fix double wait in monitorCsaba Henk2011-04-211-1/+1
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2816 ([glusterfs-3.2.0qa14]: gsyncd monitor crashed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2816
* NFS : Check proper permissions in access control for setattr.Gaurav2011-04-211-2/+2
| | | | | | | | Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2818 (Permission problems with gluster NFS works with native FUSE) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2818
* features/marker: reduce the size corresponding to destination file if it is ↵Raghavendra G2011-04-213-8/+18
| | | | | | | | | | already present from parent directories. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2697 (Quota: add-brick creates the size go awkward, though it was perfect earlier) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2697
* features/marker-quota: initialize dentry_child_count to total number of ↵Raghavendra G2011-04-211-6/+17
| | | | | | | | | | children a directory has in a single go. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2809 ([e89f2a1f5daf1513c533a47b90aec8f90702d09f]: glusterfsd crashed in quota_dirty_inode_readdir) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2809
* marker: fixes to bypass marker fops in case features are enabledAmar Tumballi2011-04-191-9/+22
| | | | | | | | | | mainly in unlink and rename Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2801 (glusterfsd process crash while running rebalance on simple volume) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2801
* syncdaemon: add session-owner optionCsaba Henk2011-04-192-1/+8
| | | | | | | | Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2785 (gsyncd logs on slave side go to /dev/null) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2785
* syncdaemon: implement template substitutions for config valuesCsaba Henk2011-04-193-22/+66
| | | | | | | | | | | | | | | | | | | | | | | | | So, for example, a log file setting of /var/log/${mastervol}/${eSlave}.log will be substituted with the volume name of the master and the canonicalized-escaped name of the slave for each master-slave pair. As template expanders, beyond the various forms and derivatives of master and slave, the following are also available: - gsyncd tunables (set in command line or in config) - for regexp sections, regexp group captures can be accessed via "match<i>_<n>", where i=1,2 corresponds to the i-th peer-rx in the section title and n=1,... to the n-th capture. This will enable us to have a static configuration (not having to add new entries on each gsyncd start). Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2785 (gsyncd logs on slave side go to /dev/null) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2785
* gsyncd service auto-discoveryCsaba Henk2011-04-191-1/+49
| | | | | | | | | | | If glusterd is running, gsyncd will find it out and adopt related settings automagically (even if started from not by glusterd) Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2785 (gsyncd logs on slave side go to /dev/null) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2785
* syncdaemon: fix swallowing of exit valueCsaba Henk2011-04-191-1/+1
| | | | | | | | Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2736 (gsyncd hangs if crash occurs in the non-main thread) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2736
* syncdaemon: pythonize accidentally copied ruby line in codeCsaba Henk2011-04-191-1/+1
| | | | | | | | Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2791 (trying to set up geo-replication with a gluster slave on the LAN screws up geo-rep irrecoverably) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2791
* syncdaemon: don't accept simple identifiers anymore as sugared urlsCsaba Henk2011-04-191-1/+3
| | | | | | | | | | | - we want to enforce the separation of the volume name and the url namespaces - resolving simple ids as relative paths was lame anyway Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2786 (Having to prepend geo-replication master vol with colon spoils the UI) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2786
* features/marker-quota: reduce contributions to parents during unlink only if ↵Raghavendra G2011-04-182-4/+33
| | | | | | | | | | | | | | | | | | | it is the last link. - since we are not having different contributions for different (parent, name) pairs, but only for different parents, links present in the same directory will have only one contribution representing all of them. Hence parents will not be updated for each link call and parents account for just file-size instead of (numlinks * filesize). However this patch will cause issues for links present accross directories, as only one of their contributions is subtracted when all of them removed (Here all the links are accounted in their parents, thereby total size accounted is [numlinks * filesize]). Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2689 (Quota: xattrs getting corrupted) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2689
* features/marker-quota: remove contribution xattrs from oldloc in rename.Raghavendra G2011-04-181-6/+43
| | | | | | | | | | | | | | - Though we are setting in memory contribution to zero, during updation process contribution is actually fetched from backend. If they are not deleted and if newpath did not exist before doing rename, contributions from oldloc->inode will be retained even for newloc->inode, there by preventing addition of file-size to parents in newpath. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2689 (Quota: xattrs getting corrupted) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2689
* syncdaemon: minor cleanups on terminationCsaba Henk2011-04-172-8/+9
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2736 (gsyncd hangs if crash occurs in the non-main thread) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2736
* marker/quota: use correct byte ordering when updating parent's size.Raghavendra G2011-04-161-1/+1
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2649 (Quota: size field is not getting updated properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2649
* marker: avoid memleak by unrefing dict, fd and localRaghavendra Bhat2011-04-162-0/+10
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2784 ([glusterfs-3.2.0qa13]: memleak in marker) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2784
* features/marker-quota: fixes in self-healing of dirty inode code path.Raghavendra G2011-04-161-2/+2
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2649 (Quota: size field is not getting updated properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2649
* syncdaemon: load xattrs from libc on-demandCsaba Henk2011-04-163-56/+75
| | | | | | | | | | | This reduces startup time for invocations other than master / slave role (kind of which now proliferates glusterd) Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2780 (geo-replication operations take too much time to complete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2780
* quota: do not assign frame->local to NULL which leads to memleakRaghavendra Bhat2011-04-161-1/+0
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2772 ([glusterfs-3.2.0qa12]: excessive quota local NULL errors) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2772
* quota: assign local to frame local to prevent memleakRaghavendra Bhat2011-04-161-0/+6
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2772 ([glusterfs-3.2.0qa12]: excessive quota local NULL errors) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2772
* features/quota: set 'frame->local' to local in fsyncAmar Tumballi2011-04-161-0/+2
| | | | | | | | | | so fsync call can succeed Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2772 ([glusterfs-3.2.0qa12]: excessive quota local NULL errors) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2772
* syncdaemon: yet another try to exit properlyCsaba Henk2011-04-163-83/+92
| | | | | | | | | | | | The final cleanup sequence + call to _exit, which was just done in the main thread, now is called for in each thread when the thread crashes. Seems we aren't left there hanging this way. Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2736 (gsyncd hangs if crash occurs in the non-main thread) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2736
* syncdaemon: when getting a single config option, don't display the option ↵Csaba Henk2011-04-161-5/+8
| | | | | | | | | | | | name, just the value This intends to ease scripting (you can just pass on the value to xargs etc.) Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 1570 (geosync related changes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1570
* features/quota: use disk usage instead of file-sizes.Raghavendra G2011-04-151-15/+15
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2760 (Quota: stripe volume not showing the quota size properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2760
* features/marker-quota: Use the actual disk-space consumed instead of ia_size ↵Raghavendra G2011-04-151-3/+3
| | | | | | | | | | returned in iatt for calculation of sizes. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2760 (Quota: stripe volume not showing the quota size properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2760
* syncdaemon: name tempdirs used by gsyncd more characteristically to ease ↵Csaba Henk2011-04-151-2/+2
| | | | | | | | | | debugging Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 1570 (geosync related changes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1570
* use "geo-replication" all over as the official name of this featureCsaba Henk2011-04-152-49/+49
| | | | | | | | | | Use GEOREP macro if you want to refer to the feature in code. Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2757 (refactory gsync/gsyncd/syncdaemon/whatever to geo-replication) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2757
* syncdaemon: split gluster_command to make it possible to set options for ↵Csaba Henk2011-04-151-1/+1
| | | | | | | | | | glusterfs Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 1570 (geosync related changes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1570
* syncdaemon: work around python feature of allowing double leading slashes in ↵Csaba Henk2011-04-151-1/+4
| | | | | | | | | | canonicalized paths Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 1570 (geosync related changes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1570