summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/server/src/server-protocol.c
Commit message (Collapse)AuthorAgeFilesLines
* renamed xlator/protocol to xlator/protocol/legacyAmar Tumballi2010-06-211-6573/+0
| | | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@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
* dynamic volume changes for graph replacementAnand Avati2010-06-071-1/+1
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* frame's 'op', 'type' restructuredAmar Tumballi2010-05-031-94/+91
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@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
* Memory accounting changesVijay Bellur2010-04-231-71/+93
| | | | | | | | | | | Memory accounting Changes. Thanks to Vinayak Hegde and Csaba Henk for their contributions. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* Do not hardcode the lru_limit on inodes to 1 Million while creating the ↵Raghavendra Bhat2010-04-221-1/+1
| | | | | | | | | | inode table Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 834 (lru_limit on inodes is hardcoded to 1 million) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=834
* backword compatibility with 3.0.x releases - restoredAmar Tumballi2010-04-071-0/+125
| | | | | | | | | | | | | | * glusterfs.h - added back the removed 'fop' types in same order * call-stub.c - enhanced logging in case of failure * server-protocol.c - added a ENOSYS function for these fops, so there will be no crash if a old client connects to mainline server. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 734 (keep only the working/usable code in build tree to focus more on development) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=734
* core: Do internal latency measurement of FOPs.Vikas Gorur2010-04-041-0/+2
| | | | | | | | | | | | | | | | | | | This patch adds a facility by which each translator keeps track of the average latency of a FOP from its point of view. That is, the duration between the translator handing over the call to a lower-level translator and the reply coming back. The latency measurement is off by default, and can be toggled by sending SIGUSR2 to the GlusterFS process. Latency data is printed as part of the process state dump. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 268 (Add timing instrumentation code) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=268
* fop namespace cleanup.Amar Tumballi2010-03-311-446/+0
| | | | | | | | | | | | removed 'lock_notify', 'lock_fnotify', 'setdents', 'getdents' from 'fop' list, and removed 'stats' from mop list, as they are no more used in the codebase, and had made code bulky/buggy. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 734 (keep only the working/usable code in build tree to focus more on development) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=734
* iatt: changes across the codebaseAnand V. Avati2010-03-161-106/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - libglusterfs -- call-stub -- inode -- protocol - libglusterfsclient - cluster/replicate - cluster/{dht,nufa,switch} - cluster/unify - cluster/HA - cluster/map - cluster/stripe - debug/error-gen - debug/trace - debug/io-stats - encryption/rot-13 - features/filter - features/locks - features/path-converter - features/quota - features/trash - mount/fuse - performance/io-threads - performance/io-cache - performance/quick-read - performance/read-ahead - performance/stat-prefetch - performance/symlink-cache - performance/write-behind - protocol/client - protocol/server - storage-posix Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 361 (GlusterFS 3.0 should work on Mac OS/X) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
* protocol/server: Do gf_flock to flock conversion at the right placeVijay Bellur2010-03-111-1/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 708 (solaris : ping pong test hangs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=708
* Add new gf_strstr dropin replacement for "strstr"Harshavardhana Ranganath2010-02-221-2/+3
| | | | | | | | Signed-off-by: Harshavardhana <harsha@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 609 (Add new "conf-dir" option) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=609
* Support new option "conf-dir"Harshavardhana Ranganath2010-02-201-19/+60
| | | | | | | | | | | Addresses fetching volume files from a non standard directory right now it is hardcoded to "CONFDIR" which is build time constant. Signed-off-by: Harshavardhana <harsha@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 609 (Add new "conf-dir" option) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=609
* server_writev: add proper iobuf into iobrefAnand Avati2010-02-181-1/+1
| | | | | | | | | | this typo results in corruption when write-behind is loaded on server side Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 639 (Data corruption with write-behind on server side) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=639
* Revert "Server backend storage hang should not cause the mount point to hang."Harshavardhana Ranganath2010-01-261-37/+2
| | | | | | | | | | This reverts commit a0b148ea4e2a0163548eeb89b7580be4adbb8070. Signed-off-by: Harshavardhana <harsha@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 272 (Server backend storage hang should not cause the mount point to hang) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=272
* protocol/server: unlink dentry only for non-root inodesAnand Avati2010-01-231-2/+5
| | | | | | | | | | | | in server_lookup_cbk, unlink dentry from the crash on receiving ENOENT from subvolume only for non-root inode. ENOENT can be returned for root inode if export directory is deleted Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 526 (glusterfsd crash when export dir is deleted and revalidate happens on /) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=526
* Server backend storage hang should not cause the mount point to hang.Anand Avati2010-01-231-2/+37
| | | | | | | | | | | | | | | | | | | Submitted-by: Krishna Srinivas <krishna@gluster.com> NOTE: fixed compilation issues in posix.c introduced while merging storage/posix polls for FS/kernel being functional by issuing statvfs() call. In case statvfs expires the timer, storage/posix will send CHILD_DOWN to upper translator. Ultimately this will cause protocol/server to disconnect all clients connected and also cleans up the data structures. Hence if soft lockup or other kernel bug causes backend FS to hang, the clients will not be hung. Signed-off-by: Krishna Srinivas <krishna@gluster.com> Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 272 (Server backend storage hang should not cause the mount point to hang) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=272
* protocol/server: handle group id decoding in a stricter wayAnand Avati2010-01-221-0/+3
| | | | | | | | | | This causes crash between 3.0.x servers and 2.0.x clients Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 564 (3.0.1rc3 server daemon crashes when any of the 2.0.x version client connects) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=564
* protocol/server: more fixes in server_link_cbkAnand Avati2009-12-061-4/+4
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 448 (server_link_cbk refers to @inode when op_ret is -1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=448
* protocol/server: fix bad reference to @inode in server_link_cbkAnand Avati2009-12-061-1/+1
| | | | | | | | | | | when op_ret is -1, gf_log refers to @inode which can be NULL. fix this to refer to state->loc2.inode instead Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 448 (server_link_cbk refers to @inode when op_ret is -1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=448
* fixing some warnings on 64bit machine.Amar Tumballi2009-12-031-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 408 (warning while building on 64bit machine..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=408
* protocol/server: Changes in protocol client to include lk_owner in protocol ↵Pavan Vilas Sondur2009-12-031-0/+1
| | | | | | | | | | header. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* core, client, server: Support auxiliary group idsShehjar Tikoo2009-12-031-0/+21
| | | | | | | | | | | | | | | | | | | Support for auxiliary group ids is needed for transmission of more than one group id right through the xlator tree so that posix can use these group ids to perform in-house permission tests. The in-house permission checks are needed so that we do not have to depend on non-POSIX calls like setfs[ug]id for changing the user for each fop. The setfs[ug]id are also limited since they do not allow setting multiple group id as required for operation with NFS, which sends us all the group ids for a process issuing file system requests. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 400 (Support auxiliary gids in GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=400
* protocol/server: enhance trace loggingAnand Avati2009-11-291-77/+203
| | | | | | | | | | add logging of fop name, callid number and make logging more friendly Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: fix improper validation of fd in server_rchecksumAnand Avati2009-11-281-6/+0
| | | | | | | | | | state->fd validation should be done _after_ resolve_and_resume() Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: Introduce option trace to log requests and replies in ↵Pavan Sondur2009-11-261-4/+165
| | | | | | | | | | normal log. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: Get all fops to use the new 'resolve_and_resume' path in ↵Pavan Sondur2009-11-261-277/+298
| | | | | | | | | | server/protocol. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: fix leak of xattrop dictionaryAnand Avati2009-10-291-1/+3
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server, mount/fuse: Handle returned inode in create properlyVikas Gorur2009-10-291-0/+19
| | | | | | | | | | | Check if linked_inode is different from returned inode in create, and if so, make the fd point to the correct inode. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 347 (Assertion failed: inode->ref) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=347
* protocol/server: fix assignment of inode number in server_readlinkAnand Avati2009-10-261-1/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: send fresh lookups on revalidate failuresAnand Avati2009-10-231-1/+23
| | | | | | | | | also unlink non existent dentries in lookup_cbk Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* whitespace fixesAnand Avati2009-10-231-3105/+3105
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* protocol/server: generation number and dentry resolutionAnand Avati2009-10-201-2533/+1074
| | | | | | | | | | - handle generation number in protocol - rewrite server dentry resolution code for inode cache miss Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* posix/client/server: Send postparent in lookup even if lookup fails on the ↵Vikas Gorur2009-10-131-1/+3
| | | | | | | | | entry itself. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 137 (Parent directory mtime not reset after a create in self-heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=137
* protocol/server: Set preparent and postparent in the response struct.Vikas Gorur2009-10-121-1/+17
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
* Changed occurrences of Z Research to Gluster.Vijay Bellur2009-10-071-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* server: Support readdirp fopShehjar Tikoo2009-10-061-0/+109
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 292 (Separate readdirp functionality from readdir fop) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292
* server: NFS-friendly logic changesShehjar Tikoo2009-10-011-1/+19
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
* Global: NFS-friendly prototype changesShehjar Tikoo2009-10-011-39/+66
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
* Global: Introduce setattr and fsetattr fopsShehjar Tikoo2009-10-011-578/+254
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* protocol/server: Implement rchecksum.Vikas Gorur2009-09-221-1/+80
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Changed prototype for inode_table_dump() and inode_dump().Vijay Bellur2009-09-161-1/+39
| | | | | | | | | | Changed prototype for inode_table_dump() and inode_dump() Added support for dumpop inode in mount/fuse and protocol/server Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 213 (Support for process state dump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213
* protocol/server: server_stub_resume should check for failure of lookup when ↵Raghavendra G2009-09-131-1/+2
| | | | | | | | | oldloc.parent is NULL. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 215 (crash on ib-verbs in 2.0.6-rc4) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=215
* in server_rename if we do_path_lookup on the newloc and parent directory is ↵Krishna Srinivas2009-08-191-24/+28
| | | | | | not found, the server crashes. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* TAKE2[PATCH BUG:213 1/1] Support for Process State DumpVijay Bellur2009-08-191-0/+81
| | | | | | | | | Support for process state dump. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 213 (Support for process state dump) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213
* added log message when server fails to send the reply frameAmar Tumballi2009-08-171-4/+8
| | | | | | | | | | | | | As of now, if a frame submit fails on server, there are no logs, and clients will have missing frames (which leads to 'hangs'). Supporting situation like this very tricky without proper log messages. As a step to make our log message lean and meaningful, this log is important. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 190 (missing frames due to larger reply message size.. (ib-verbs)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190
* server-lookup: added path info from header to log messageAmar Tumballi2009-08-041-3/+4
| | | | | | | | | | | | in the previous commit, the path info was removed to prevent the segfault, which instead could have been provided from request header directly. More specific information is required for debugging, and hence adding the path log. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 189 (segfault in server-lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189
* logging related bug fix in server_lookup()Amar Tumballi2009-08-041-4/+3
| | | | | | | | | | | | When 'dict_unserialize' failed, the log message was trying to print 'state->loc.path' and 'state->ino', which gets filled in later stages in flow. Caused segmentation fault when there was a failure. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 189 (segfault in server-lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189
* fix build warnings in 'server-protocol'Amar Tumballi2009-07-201-7/+23
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* server: don't check for 'loc->parent' in entrylk and inodelk callsAmar Tumballi2009-07-161-4/+2
| | | | | | | | | | | | the lock operation on entry or inode is going to happen on only one inode, and it doesn't need dentry (with info on parent) for the lock operation to complete. Hence, in server_{inode,entry}lk() calls after server_loc_fill, we -should not- be checking for parent inode. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
* protocol/server: use translated flags in protocol/server open and create fopsAnand Avati2009-07-071-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>