summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src
Commit message (Collapse)AuthorAgeFilesLines
* cluster/dht: clear local->cached_subvol when switching to do_fresh_lookupAnand Avati2011-08-061-0/+1
| | | | | | | | | | | | The presence of local->cached_subvol makes dht_lookup_everywhere_done behave as though it was a lookup on a file where linkfile needs to be recreated. In a fresh lookup, local->cached_subvol should be NULL. Change-Id: Ie6bd6ad536def03d970526d51e20c6daeb00922b BUG: 3317 Reviewed-on: http://review.gluster.com/186 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* DHT rename: Recreate linkfile after unlinkshishir gowda2011-08-033-143/+50
| | | | | | | | | | | | | This is done, so that there is no gfid mismatch. Unlink the older linkfile if it exists, and recreate it with the correct gfid. Also removed unused rename related code. BUG: 2522 Change-Id: Ia880adda5a94351f30971576b4faa861fac4682d Reviewed-on: http://review.gluster.com/144 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* storage/posix: handle dictionary being NULL in a functionAmar Tumballi2011-08-011-1/+1
| | | | | | | | Change-Id: Ib9cac6ed1635203802f089986f8acb1ce416265d BUG: 3215 Reviewed-on: http://review.gluster.com/97 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/dht: dht_rename() - handle GFID situationsAnand Avati2011-07-251-14/+60
| | | | | | | | | | | | In the pre-GFID era, the linkfile of the destination file could be reused the linkfile for the renamed file when dst_cached == src_cached. This patch handles this situation and reverts the previous (wrong) fix. Change-Id: Iba57b5eb91cf8b1fb40e74f6399cdf99b8b00410 BUG: 2464 Reviewed-on: http://review.gluster.com/89 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* cluster/distribute: send proper 'params' dictionary during linkfile creationAmar Tumballi2011-07-121-4/+13
| | | | | | | | | | | | when the code path enters the 'subvol_filled()' case, local->params is set, which contains the 'gfid-req' value, but the linkfile creation was not checking for its existance. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3159 (mknod (linkfile creation) with no 'gfid-req' key) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3159
* cluster/dht: fix race between two directory renamesv3.2.2qa5Anand Avati2011-07-121-7/+79
| | | | | | | | | let the race get arbitrated at the dst_hashed subvolume. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* DHT access: For nfs calls, op_ret is always 0, and mode is op_errnoshishir gowda2011-07-081-1/+10
| | | | | | | | | | Return the values received from the subvol Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3057 (acl permissions don't work on nfs mount) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3057
* dht: set linkto xattr with linkfile create (mknod)Anand Avati2011-07-011-75/+13
| | | | | | | 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
* loc_t: add 'gfid' and 'pargfid' fieldsAmar Tumballi2011-06-142-1/+7
| | | | | | | | | | | | | | | | | these fields are used mainly in case of selfheal path, where 'inode->gfid'||'parent->gfid' is not yet set. These fields in 'loc' will have lower precedence than 'inode->gfid' in client protocol. also contains 'Pranith <pranithk@gluster.com>'s patch to set proper loc->gfid during afr selfheal 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
* cluster/dht: use GFID returned from hashed subvolumev3.2.1qa4Anand Avati2011-06-091-0/+5
| | | | | | | | | | | | | .. to perform lookups on remaining subvolumes. This way, if there is a race between two clients to 'fix' GFIDs with gfid-req, then the hashed subvolume will arbitrate and return the winner in stbuf->ia_gfid. This patch uses the returned gfid as the new gfid-req thereby preventing mismatching GFIDs on other servers due to further races. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* DHT selheal dir: Recreate dirs with correct gfid.shishir gowda2011-06-081-3/+1
| | | | | | | | | | | | | When selfheal of dir is triggered, make sure the dirs are recreated with the correct gfid, to prevent mismatch of gfids in the backend. Also, remove the spurious memcpy to inode.gfid Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2994 ([glusterfs-3.2.1qa2]: untar and rm in parallel hangs untar) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2994
* dht-rename: Unlink older link files before creating new oneshishir gowda2011-05-313-2/+150
| | | | | | | | | | | If a older link file exists, unlink it and then create the linkfile. This will prevent mis-match of gfid's. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2464 ([7b07d444a77526f27f860210930bf1d4c7fbea9b]: rm -rf gives Invalid argumenrt error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2464
* cluster/dht: detect linkfiles mismatching gfids and delete+recreateAnand Avati2011-05-311-70/+107
| | | | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* cluster/dht: notify should succeed when waiting for all subvols first eventPranith Kumar K2011-05-311-1/+3
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2870 (Inconsistent xattr values when creating bricks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2870
* DHT: Propogate error if dht_rmdir_opendir_cbkshishir gowda2011-04-171-0/+2
| | | | | | | | | | | | | Earlier rmdir would succeed on all up subvols, but fuse would get an error if one of the subvol was down. In follow up lookup, self heal would be triggered, and since st_mode would be 0, the permissions would be bad. The behaviour now is to fail rmdir if subvol is down Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2591 (Directories changing to d--------- permission after trying to delete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2591
* DHT: Make assert-no-child-down a boolean optionshishir gowda2011-04-151-11/+11
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2765 (geo-replication should have mercy on brick failure) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2765
* DHT: Add xlator-option assert_no_child_downshishir gowda2011-04-143-0/+24
| | | | | | | | | | If this is set, when CHILD_DOWN event is received, call exit Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2536 (gsync service introspection) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2536
* cluster/distribute: Account for the first lookup sent to check whether the ↵Raghavendra G2011-04-101-1/+15
| | | | | | | | | | | | | | | path is a directory while aggregating quota-xattrs. - The total number of lookups sent for a directory is equal to (no of children + 1). Hence we should not aggregate the xattrs from the first lookup. Signed-off-by: Raghavendra G <raghavendra@gluster.com> 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
* DHT: send revalidate to all subvols and not just first subvolshishir gowda2011-04-101-6/+10
| | | | | | | | | | | Reverting commit 23d9783a192669b638d42b8dd127ad69ea36f950. When first subvolume is down, mount point becomes inaccessible. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2532 ([glusterfs-3.1.3qa8]: bringing first subvolume down makes mount point inaccessible) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2532
* removed reference to GF_LOG_NORMALAmar Tumballi2011-04-072-3/+3
| | | | | | | | | | instead used GF_LOG_INFO, which is more standard log level. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2669 (RuntimeError: cannot recognize log level "normal") URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2669
* cluster/dht: send back the proper inode number in the cbk functionsAmar Tumballi2011-04-061-2/+4
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2584 (Inode number changes on a directory when one of subvolumes is down in replicate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2584
* cluster/dht: log level fixes in lookup* functionsAmar Tumballi2011-04-061-21/+20
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* log gfid mismatches for the same file in cluster xlator lookupAmar Tumballi2011-04-061-1/+20
| | | | | | | | | | | | This can help in pin pointing some of the issues resulted in gfid mismatch for the same file, which is harder to find through basic debugging/logging of current codebase. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2346 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* Revert "Process dir/link from other subvol if error in dht_readdir"Vijay Bellur2011-03-311-17/+4
| | | | This reverts commit cd3d977b10e24c4b46e55f9831113aba3a241583.
* cluster/dht: Fix double freeing in quota aggregate.Junaid2011-03-261-10/+23
| | | | | | | | 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
* Process dir/link from other subvol if error in dht_readdirshishir gowda2011-03-251-4/+17
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2137 (dhtafr - self heal after renaming directory) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2137
* CLI : Validate options farmework.Gaurav2011-03-231-23/+20
| | | | | | | | Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2064 (NFS options are removed upon glusterd restart) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2064
* cluster/distribute: aggregate quota-sizes in lookup and getxattr.Raghavendra G2011-03-221-2/+54
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@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
* cluster/dht: log enhancementsAmar Tumballi2011-03-1710-311/+263
| | | | | | | | | Signed-off-by: Shishir Gowda <shishirng@gluster.com> Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* cluster/dht: whitespace cleanupAmar Tumballi2011-03-1713-4734/+4728
| | | | | | | | | | also fill tabs by spaces (untabify), and indent the code Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* dht: log filename on failed reavalidateAnand Avati2011-02-251-2/+3
| | | | | | | | | | The previous log message is pretty much useless without the path Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* dht: do not send revalidates to all subvolsAnand Avati2011-02-221-10/+6
| | | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2450 (scalability enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2450
* core: have framework for GF_EVENT_CHILD_MODIFIED notifcation eventAnand Avati2011-02-221-1/+8
| | | | | | | | | | | | | If anything changes anywhere in the graph, all xlators know that something has changed. Previously dht and afr would mask certain events from propagating up. Now they forward GF_EVENT_CHILD_MODIFIED event in those situations Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2450 (scalability enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2450
* Solaris build fixesshishir gowda2011-02-221-1/+1
| | | | | | | | | | | | | | Disable geosync build for non-linux platforms. And fix solaris related build failures.The symbol getxattr was not available on solaris. The build on linux passed as getxattr symbol was available in the library. The argument was not being used, hence removed it. Make 64 bit build default in CFLAGS option by passing -m64 option Signed-off-by: Shishir Gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2440 (Fix solaris build issues seen on latest git) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2440
* cluster/dht : implement a fsetxattr() commandAmar Tumballi2011-02-182-0/+45
| | | | | | | | | | Thanks to Jeff Darcy <jdarcy(at)redhat.com> for the patch Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2319 (DHT uses wrong subvolume for fsetxattr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2319
* cluster/dht: Send removexattr() to all subvolumes.Vikas Gorur2011-02-141-4/+52
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2426 (removexattr is not sent to all subvolumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2426
* cluster/dht: Perform self-heal as rootPranith K2011-02-083-35/+2
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2370 (cluster/afr: Perform self-heal as root) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2370
* cluster/dht: restore attrs of dirs in self-healPranith K2011-02-071-3/+63
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2371 (dht: Set owners of directories after performing self-heal as root) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2371
* Revert "distribute: Return ESTALE when dir selfheal finds no fix"Anand V. Avati2011-02-041-6/+2
| | | | This reverts commit a4c948aca6058049523e31acf33ce5770f8693ad.
* adding libxlator, to ensure proper client side aggregation of marks by ↵Kaushik BV2011-01-273-10/+76
| | | | | | | | | | | clustering translators Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2310 (georeplication) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2310
* cluster/distribute: fix warnings due to format string mismatches during ↵Raghavendra G2010-12-141-2/+2
| | | | | | | | | | invocation of gf_log. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2211 ((re)introduce warnings for format string/parameter mismatch) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2211
* distribute: handle a case of 'local->key' being free'd twice.Amar Tumballi2010-11-131-1/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2097 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2097
* Fix DHT getxattr for directoriesshishir gowda2010-11-033-17/+68
| | | | | | | | | | | | When a heal on the directory or layout changes, the user xattrs do not get healed in dht. The current fix sends the getxattr call n all the subvolumes, aggregates it and sends the response Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1991 (distribute directory self-heal does not copy user extended attributes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1991
* distribute: bring in statfs normalizationAmar Tumballi2010-10-272-6/+36
| | | | | | | | | | | | | | We had normalization of statvfs structure in 'cluster/unify' translator, with distribute, we had this section as 'TODO:'. Now, the same code is migrated to distribute. Thanks to <marty.rosenberg@gmail.com> for sending the patches Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1035 (The distribute translator does not handle differently sized block sizes and/or fragment sizes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1035
* unwind if layout is NULL in getxattr for dhtRaghavendra Bhat2010-10-121-0/+7
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1917 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1917
* dht: change behaviour CHILD_UP/DOWN/CONNECTING event propagationAnand Avati2010-10-112-1/+85
| | | | | | | | | | | The first CHILD_UP/DOWN/CONNECTING event to pass dht upwards should be only after all subvols have reported their status atleast once. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
* Revert "distribute: Propagate CHILD-UP when all subvols are up"Anand Avati2010-10-112-18/+3
| | | | | | | | | | This reverts commit 6b2e2fb0903fc56105c267881f202a4865a8b6c7. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
* Copyright changesVijay Bellur2010-10-1113-13/+13
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Reply back to CLI on error, by validating each xlator's optsKaushik BV2010-10-051-0/+39
| | | | | | | | Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1159 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1159
* distribute: check for 'conf' before dereferencing itAmar Tumballi2010-10-054-15/+85
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1806 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1806