summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gfid: introduce uuid based handles for inodesAnand Avati2010-09-044-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfid represents a gluter file id. This is a universally unique id assigned to a logical inode, independent of the inode numbers assigned by the various backend filesystems to that file/directory. The gfid of a file/directory will be the same on servers depending on the cluster translator in picture. The same gfid can be used as a handle across layers of various translators and across servers and clients. This was not the case previously as the cluster translators would pick the backend inode number from one of the servers and convert that into a logical inode number by performing some mathematical transforms. This new technique of addressing inodes also makes dynamic volume management have a more robust implementation as the file handles remain the same on all versions of the graphs, and allows for seamless NFS daemon restarts as well. This change makes way for server originating communication which was not possible earlier as the servers did not have any reliable way of addressing client side inodes at all. gfid solves this problem by preserving the same uuid as the handle on all the servers and across all clients Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.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
* rpc-transport/rdma: notify rpc when pollerr happens, so that client side can ↵Raghavendra G2010-09-031-2/+2
| | | | | | | | | | try to reconnect. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 513 (Introduce 0 copy rdma) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=513
* cli: Fix clang errors.Sachidananda2010-09-031-1/+16
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1145 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1145
* cluster/afr: Remove dead variables.Sachidananda2010-09-031-31/+6
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1081 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1081
* Revert "fuse: introduce pre-test micro-framework, check for ↵Vijay Bellur2010-09-033-334/+11
| | | | | | execve-over-direct-IO" This reverts commit 588d807bdcbf5ed4df4d903428ab701479e9f8ac.
* mgmt/glusterd: clear op ctx after cli responsePranith Kumar K2010-09-033-13/+15
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1513 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1513
* mgmt/glusterd: fix warnings during build.Raghavendra G2010-09-031-2/+3
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1307 (gluster volume defrag <VOLNAME> status) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1307
* cluster/replicate: fix warnings during build.Raghavendra G2010-09-031-2/+2
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 960 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960
* do not free the hostname from the responseRaghavendra Bhat2010-09-031-2/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1511 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1511
* mgmt/glusterd: retrieve version upon restartVijay Bellur2010-09-022-0/+6
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1265 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1265
* check if the export directory is present only on the brick being addedRaghavendra Bhat2010-09-021-5/+19
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1510 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1510
* fuse: introduce pre-test micro-framework, check for execve-over-direct-IOCsaba Henk2010-09-023-11/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The presence of some potential FUSE features in the actual kernel-side FUSE implementation we run on is not always straightforward. More precisely, it is straightforward only if there is a dedicated feature flag or protocol revision number. In the other cases we are left to clumsy and platform specific hacks which wire in 3rd-party software revision numbers into our source... at least, if we insist on sticking to (the otherwise venerable) KISS principle. However, here we go for another route, loosely inspired by the way autotools provide an abstraction layer for our build system over the gory details of platform specific build environments. At start time, we use a preliminary set of FUSE operations which overlay the standard ones such that apart from the "usual stuff", they also present some synthetic files to the FUSE client (kernel). Then we spawn some test programs which perform the needed tests on these synthetic files to evaulate the FUSE implementation in terms of the features in question. According to the result of the test programs, we set the respective parameters of the fuse xlator; when the testing phase is over, the FUSE operation set is replaced by the standard one. As of now, we use this approach to test whether execve(2) works with direct I/O. If yes, and if glusterfs is used with --enable-direct-io-mode, then we let direct I/O for files opened for reading; if no, then we restrict direct I/O only to writing files. Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 801 (Direct io-mode support and related changes in caching translators.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=801
* rpc-transport/rdma: when rdma msg of type RDMA_ERROR is recieved, disconnect ↵Raghavendra G2010-09-021-6/+13
| | | | | | | | | | transport. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1462 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1462
* mgmt/glusterd: fix rebalance with new option use-readdirpAmar Tumballi2010-09-021-19/+40
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1508 (add-brick works but files are not distributed to newly added server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1508
* cluster/distribute: add option 'use-readdirp' to force readdirpAmar Tumballi2010-09-023-1/+15
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1508 (add-brick works but files are not distributed to newly added server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1508
* mgmt/glusterd: memory leak fixesPranith Kumar K2010-09-026-13/+138
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1186 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1186
* cluster/dht: check for op_ret in dht_selfheal_dir_mkdir_cbk ()Vijay Bellur2010-09-021-8/+13
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1503 (segfault in distribute during failover testing) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1503
* dump total entries cached in stat-prefetch to state-dump fileRaghavendra Bhat2010-09-022-1/+79
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1059 (enhancements for getting statistics from performance translators) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1059
* cluster/dht: fixes to handle 'fix.layout' attribute properly.Amar Tumballi2010-09-021-3/+10
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1508 (add-brick works but files are not distributed to newly added server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1508
* nfs3: Do not unref dst inode on rename cbkShehjar Tikoo2010-09-021-6/+0
| | | | | | | | | | | This gets done when the call state gets wiped. Doing it here results an extra unref causing a segfault. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1464 (fd leak after rename) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1464
* update the volume information first before checksumRaghavendra Bhat2010-09-023-9/+16
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1504 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1504
* cli, mgmt/glusterd: Added replace brick cli responsePranith Kumar K2010-09-026-22/+50
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1322 (Replace brick should show status of paused and abort states) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1322
* nfs3: Free vectored write args using FREE not GF_FREEShehjar Tikoo2010-09-022-2/+2
| | | | | | | | | | | ..because the file handle in write3args is allocated inside libc using malloc not memory accounting code in glusterfs. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1499 (GNFS from mainline Glusterfs-3.1-qa13 crashes while initiating SFS2008) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1499
* mgmt/glusterd: support for GET_NEXT volume infoVijay Bellur2010-09-023-10/+54
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1255 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1255
* cli: Changes for GET_NEXT volume infoVijay Bellur2010-09-028-13/+120
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1255 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1255
* mgmt/glusterd: multi subvol support for nfs xlatorPranith Kumar K2010-09-021-15/+36
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1319 (gnfs support in gluster command line) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1319
* crash fixed in 'gluster volume log locate'Amar Tumballi2010-09-021-6/+11
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1506 (crash in log locate..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1506
* Remove brick validationshishir gowda2010-09-027-7/+159
| | | | | | | | | | | | Added checks for duplicate bricks in cli arguments, valid bricks for the volume, valid volume name, and prevent removing of incorrect pairs for replica. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1486 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1486
* mgmt/glusterd: gnfs support in gluster command linePranith Kumar K2010-09-017-4/+484
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1319 (gnfs support in gluster command line) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1319
* mgmt/glusterd: Fix replicate/stripe subvolume count in volgen.Pavan Sondur2010-09-011-86/+109
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1497 (gluster volume create creates incorrect volume file) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1497
* peer status returns duplicate peer info on restartshishir gowda2010-09-012-1/+2
| | | | | | | | | | | removing the peerinfo file for hostname once peerinfo is stored in the uuid file name. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1498 (Peer status duplicate entries on restart of glusterd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1498
* rpc-transport/rdma: set whether pollin data is for request/reply.Raghavendra G2010-09-011-0/+2
| | | | | | | | | | | - with implementation of call backs client and server can both recieve request/reply. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1488 (rdma client fails to connect to the servers) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1488
* check if the volume is already started before startingRaghavendra Bhat2010-09-011-0/+6
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1496 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1496
* mgmt/glusterd: send unlock upon commit failureVijay Bellur2010-08-312-1/+13
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1476 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1476
* cluster/afr: Break STACK_WIND loop when the call count is reached.Pavan Sondur2010-08-312-1/+30
| | | | | | | | | | | Fix also has a check for self heal relevant to pump. Tested with dbench with AFR client and pump on server. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1443 (Crash in afr_nonblocking_entrylk_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1443
* mgmt/glusterd: memory leak fixesPranith Kumar K2010-08-3116-148/+280
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1186 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1186
* rpc-transport/socket: use xdr_sizeof instead of sizeof when trying to read ↵Raghavendra G2010-08-311-2/+21
| | | | | | | | | | vectored request/reply Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875
* mgmt/glusterd: prevent a double reply for the same request.Amar Tumballi2010-08-311-2/+10
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1401 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1401
* fixes in 'gluster volume rebalance'Amar Tumballi2010-08-315-18/+56
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1481 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1481
* check if the export directory is present only on the correct hostRaghavendra Bhat2010-08-311-6/+31
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1489 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1489
* 'gluster volume log' feature addedAmar Tumballi2010-08-3126-142/+1372
| | | | | | | | | * 'gluster volume log filename <VOLNAME> [BRICK] <path>' * 'gluster volume log locate <VOLNAME> [BRICK]' * 'gluster volume log rotate <VOLUME> [BRICK]' Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
* nfs, mount3: Fix assumptions of this being child xlShehjar Tikoo2010-08-312-6/+9
| | | | | | | | | | | This is plain wrong. this must always be the xlator that receives the callback. Use cookie to access the child subvolume on which the fop was issued. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1410 (nfs uses this for child translator during frame creation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1410
* nfs: Create frames with frame->root as nfsxShehjar Tikoo2010-08-311-58/+58
| | | | | | | | | | | | | frame root was being set to the subvol on which the fop was to be performed. Apart from just being totally wrong behaviour, this also messes up mem-accouting because there THIS points to the wrong xlator resulting in crap addresses being dereferenced through the mem type index. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1410 (nfs uses this for child translator during frame creation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1410
* nfs: Set actorxl to enable setting THIS to nfsxShehjar Tikoo2010-08-311-0/+1
| | | | | | | | | | ..for fixing mem-accounting for NFS in mainline. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1280 (gf_mem_set_acct_info goes into spinlock busyloop, never returns) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1280
* nfsrpc: Introduce THIS-setting support to fix mem-accountingShehjar Tikoo2010-08-312-0/+10
| | | | | | | | | | | | | Not setting THIS in nfs/rpc has been a blocker for NFS on mainline because without THIS set correctly to nfsx, mem-accounting goes looking into translators other than nfsx for nfs memory allocations, resulting in dereferencing bad addresses. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1280 (gf_mem_set_acct_info goes into spinlock busyloop, never returns) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1280
* nfs3: Close dst cached fd & unref inode on renameShehjar Tikoo2010-08-311-0/+19
| | | | | | | | | | | | If the src file is over-writing an existing file and if the destination file is open, then close the cached fd on the destination file and unref the inode for it. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1464 (fd leak after rename) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1464
* nfs: Free fop local only after inode checksShehjar Tikoo2010-08-312-53/+52
| | | | | | | | | | | | | | Fixes a crash that occurs because the nfs-fops code accesses a fop local after it has been returned to the mem pool. Generally seen when nfs load is so high that the mem-pool runs out of memory and starts CALLOCing. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1449 (NFS crash in nfs_fop_fsync_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1449
* nfs3: Return ESTALE when going beyond fh-hashcount or max-hashesShehjar Tikoo2010-08-311-7/+40
| | | | | | | | | | | | During fh resolution, if we go beyond the max hashes support by gnfs or if we go beyond the dir depth specified in the filehandle, then return ESTALE. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1378 (Deep directory creation crashes gnfs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1378
* nfs3: Logging and comments made more accurateShehjar Tikoo2010-08-312-11/+24
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1378 (Deep directory creation crashes gnfs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1378
* nfs3: Support hashcounts larger than hash array sizeShehjar Tikoo2010-08-312-5/+26
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1378 (Deep directory creation crashes gnfs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1378