summaryrefslogtreecommitdiffstats
path: root/xlators/features/marker/src
Commit message (Collapse)AuthorAgeFilesLines
* features/marker: avoid race conditions in marker-quota and avoid memory ↵v3.2.3qa4Raghavendra Bhat2011-08-202-50/+199
| | | | | | | | | | corruption Change-Id: I9e69c7fcf47d611ea960f9969bbc3fb96d93d58e BUG: 3389 Reviewed-on: http://review.gluster.com/278 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* features/marker: send the errno sent by posix to the upper xlators, instead ↵Raghavendra Bhat2011-08-201-1/+2
| | | | | | | | | | | | | | | | | of ENOMEM Marker sends stat first, before sending the unlink. By the time stat reaches posix if the file is deleted by another client, then stat fails with op_errno set to ENOENT. But in the corresponding call back function of marker (i.e marker_unlink_stat_cbk), we check for (op_ret < 0) and if so we unwind by sending ENOMEM as the error to the above xlators which results in the applications (such as rm -rf) also getting ENOMEM. Change-Id: Idb63215a6c46f3acfe4c0fa7cb2dd97b0170441b BUG: 3429 Reviewed-on: http://review.gluster.com/253 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* features/marker: Correct behavior of local_ref/unrefVijay Bellur2011-08-203-7/+4
| | | | | | | | Change-Id: I8266754d4b53b525b13fed2383cf95d77bab47ba BUG: 3429 Reviewed-on: http://review.gluster.com/252 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* features/marker: do not unref the marker local twice to avoid memory corruptionRaghavendra Bhat2011-08-172-7/+16
| | | | | | | | Change-Id: I71bc8a477155cff62c3218fee285a22a44aa54ba BUG: 3385 Reviewed-on: http://review.gluster.com/241 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* Change Copyright current yearPranith Kumar K2011-08-109-9/+9
| | | | | | | | Change-Id: Id1f1a91cf15d933d5621a0073ddaebe02df0f159 BUG: 3348 Reviewed-on: http://review.gluster.com/198 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* LICENSE: s/GNU Affero General Public/GNU General Public/Pranith Kumar K2011-08-061-3/+3
| | | | | | | | Change-Id: Ibf5f45431d7a55b70d7304649af652d6f25bb688 BUG: 3348 Reviewed-on: http://review.gluster.com/183 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* features/marker-quota: Performance improvement.Junaid2011-08-053-11/+122
| | | | | | | | | | | With this patch new transactions will not be triggered if an updation is already in progress on that inode. Change-Id: I6477444ac69071b73b509ae670c83f301bb19bce BUG: 2988 Reviewed-on: http://review.gluster.com/169 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <raghavendra@gluster.com>
* features/marker-quota: Remove unused variable volname.Junaid2011-08-032-6/+1
| | | | | | | Change-Id: Id0ad3b9c00ab86baec7311998194b777948a5869 Reviewed-on: http://review.gluster.com/153 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* features/marker: log failures due to file not being presentRaghavendra G2011-08-031-33/+77
| | | | | | | | | | during quota updation transaction in DEBUG. Change-Id: I483caadbfd77d3830b1ea930a31eedddd0808fca BUG: 3143 Reviewed-on: http://review.gluster.com/42 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* features/marker-quota: Perform removexattr with frame uid and gid set to root.Junaid2011-07-292-0/+23
| | | | | | | | Change-Id: Iabd8ff835c76d828e4af50ce4941d2ff86797eee BUG: 3194 Reviewed-on: http://review.gluster.com/99 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra G <raghavendra@gluster.com>
* features/marker-quota: Fix some random memory leaks.Junaid2011-07-282-12/+11
| | | | | | | | | Change-Id: I1b01adf1d0ecf494f960d125f2bdcc9c10137115 BUG: 3169 Reviewed-on: http://review.gluster.com/73 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: Raghavendra G <raghavendra@gluster.com> Reviewed-by: Raghavendra G <raghavendra@gluster.com>
* 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/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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* features/marker: fix the excessive logs in markerAmar Tumballi2011-04-142-19/+27
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2754 ([glusterfs-3.2.0qa11]: excessive logging in marker) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2754
* marker: pass cookie properly while filtering quota xattrs.v3.2.0qa12Raghavendra G2011-04-141-6/+9
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@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/marker: Filter the quota xattr's on getxattr with NULL name argument.Junaid2011-04-133-2/+36
| | | | | | | | 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/marker: Call update txn when the directory size and its ↵Junaid2011-04-131-1/+8
| | | | | | | | | | contribution are not same. 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/marker: Adding NULL checks.Junaid2011-04-124-27/+35
| | | | | | | | 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
* marker: check the return value being less than zero instead of -1Raghavendra Bhat2011-04-111-1/+3
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2711 ([glusterfs-3.2.0qa10]: glusterfs server crashed in marker_setxattr operations) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2711
* marker/quota: use correct byte order while storing xattr values in backend.Raghavendra G2011-04-101-1/+1
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2604 (Quota: crossing the set limit) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2604
* features/marker: Synchronise the read and write of marker_local_ref.Junaid2011-04-081-2/+4
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2663 (glusterfsd crash with bonnie++ when marker is enabled) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2663
* features/marker: Perform quota updation on rmdir and unlink by holding ↵Junaid2011-04-071-30/+134
| | | | | | | | | | inodelk on parent. Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2664 (Quota: recreating the volume on same bricks shows similar info as for earlier one using "list") URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2664
* features/marker: Check for NULL before dereferencing pointers stored in local.Junaid2011-04-071-2/+5
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2607 (Fileop fails when quota is enabled) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2607
* features/marker: Check if gsync is enabled in getxattr fop before performing ↵Junaid2011-04-071-2/+8
| | | | | | | | | | gsync related operations. Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2681 (marker returns dummy data for volume-mark attribute if xtime is switched off) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2681
* features/marker, cli: use appropriate conversion specifiers.Raghavendra G2011-04-061-5/+8
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@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: Fix memory corruption.Junaid2011-03-314-17/+22
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2629 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2629
* return after stack winding instead of destroying the frameMohammed Junaid Ahmed2011-03-301-6/+7
| | | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2624 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2624
* assign local to frame->local before checking for error conditionsRaghavendra Bhat2011-03-301-2/+2
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2617 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2617
* features/marker: check for op_ret before doing any operations in lookup callbackMohammed Junaid Ahmed2011-03-291-10/+3
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2497 (client crashes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2497
* check the local for NULL before accessing itv3.2.0qa5Raghavendra Bhat2011-03-271-3/+3
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2592 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2592
* features/marker: Handle fop's gracefully when none of the feaures are enabled.Junaid2011-03-263-145/+253
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2529 (Starting Gsync causes ENOTCONN to glusterfs client) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2529
* features/marker: Donot fail init when both gsync and quota are not enabled.Mohammed Junaid Ahmed2011-03-221-35/+76
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2529 (Starting Gsync causes ENOTCONN to glusterfs client) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2529
* features/marker: Invalid option "marker", use "gsync" instead.Mohammed Junaid Ahmed2011-03-161-2/+9
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.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/marker: QUOTA related changes in marker translator.Mohammed Junaid Ahmed2011-03-1610-91/+2986
| | | | | | | | Signed-off-by: Junaid <junaid@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.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/marker: open the timestamp file with O_TRUNC to update the ctimeKaushik BV2011-03-141-6/+3
| | | | | | | | Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2354 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2354