summaryrefslogtreecommitdiffstats
path: root/libglusterfs
Commit message (Collapse)AuthorAgeFilesLines
* core: Add rbtree based hash tableShehjar Tikoo2009-10-063-3/+466
| | | | | | | 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
* mem-pool: Include stdlib for calloc()Shehjar Tikoo2009-10-061-0/+1
| | | | | | | | | | | Doing so removes build warnings about calloc and free for files that use mem-pool but do not by themselves include stdlib.h, for eg., rbthash.c 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
* core: Separate readdirp and readdir fopsShehjar Tikoo2009-10-069-1/+199
| | | | | | | 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
* libglusterfs: Add STACK_UNWIND_STRICT macro.Vikas Gorur2009-10-051-0/+18
| | | | | | | | | | | | | STACK_UNWIND_STRICT (op, frame, this, op_ret, op_errno, ...) The "op" argument is the name of the fop (lookup, open, etc.). This macro makes sure that the number and type of arguments passed match those of the callback function for the fop. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269
* Global: NFS-friendly prototype changesShehjar Tikoo2009-10-016-117/+399
| | | | | | | 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-019-2/+398
| | | | | | | 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
* Make changes such that glusterfs builds with Werror and fix LONG_LONG_MAX ↵Pavan Sondur2009-10-011-1/+1
| | | | | | | | | definition. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 289 (glusterfs does not build with Werror) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=289
* iobuf, logging: Expose existing functions as requiredShehjar Tikoo2009-09-242-0/+2
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 279 (File written with booster results in self-heal after dd exits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279
* fuse: emit a flush from release if we didn't get an adjacent FLUSH message ↵Csaba Henk2009-09-231-0/+1
| | | | | | | | | from the kernel Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 223 (flush not sent) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=223
* libglusterfs: Add RCHECKSUM fop.Vikas Gorur2009-09-229-2/+204
| | | | | | | rchecksum (fd, offset, len): Calculates both the weak and strong checksums for a block of {len} bytes at {offset} in {fd}. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Add checksum functions.Vikas Gorur2009-09-225-2/+495
| | | | | | | | | | | gf_rsync_weak_checksum: Calculates a simple 32-bit checksum. gf_rsync_strong_checksum: Calculates the MD5 checksum. The strong checksum function makes use of Christophe Devine's MD5 implementation (adapted from the rsync source code, version 3.0.6. <http://www.samba.org/ftp/rsync/>). Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* protocol/client: access glusterfs context from the ctx member of xlator objectRaghavendra G2009-09-221-0/+7
| | | | | | | | | | - A global context pointer cannot be used with libglusterfsclient, since there can be many contexts in a single process. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 271 (applications using booster protocol/client crash in client_setvolume_cbk.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=271
* Dumop inodectx addedVijay Bellur2009-09-162-0/+18
| | | | | | | | | | Added dumpop inodectx. Support for dumop inodectx added in dht, locks and client-protocol. 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
* Changed prototype for inode_table_dump() and inode_dump().Vijay Bellur2009-09-162-17/+23
| | | | | | | | | | 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
* libglusterfs:Acquire lock before accessing fdtable contents during statedump.Vijay Bellur2009-09-161-8/+16
| | | | | | | | | | Hold lock while dumping fdtable. Dump only inode ino instead of the complete inode. 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
* common-utils: introduce new macro GF_VALIDATE_OR_GOTO_WITH_ERRORRaghavendra G2009-09-081-0/+9
| | | | | | | | | | - the existing macro GF_VALIDATE_OR_GOTO sets errno to EINVAL which may not be appropriate in all cases. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* core: Fix build failure on non-Linux systemsShehjar Tikoo2009-09-021-2/+8
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 230 (Bulid fails on Solaris and Mac OS due to Linux specific flags) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=230
* TAKE2[PATCH BUG:213 1/1] Support for Process State DumpVijay Bellur2009-08-1911-7/+740
| | | | | | | | | 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
* libglusterfs: fix SuperFastHash function used in dicitionaries in fact it ↵smyczek2009-07-271-7/+0
| | | | | | | | | always returned the value of second parameter (len) as a result. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 155 (The SuperFastHash function used in dictionaries is broken.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=155
* libglusterfsclient: Fake a fsid for every VMPShehjar Tikoo2009-07-202-0/+13
| | | | | | | | | | | | This is needed to work around the replicate behaviour of possibly returning device number for the same file from different subvolumes. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 148 (replicate: Returns st_dev from different subvols resulting in ESTALE thru unfs3booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=148
* added timestamp to crash dump log.Amar Tumballi2009-07-201-4/+19
| | | | | | | | | also did some minor enhancements in formating Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 151 (crash dump log should be in 'logviewer' friendly format) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=151
* fix build warnings in 'libglusterfs/'Amar Tumballi2009-07-208-53/+145
| | | | | | | | | | | return value of 'asprintf' was not checked, and the flow was continuing without returning error, which could cause potential segfaults in code (mostly possible during ENOMEM case). 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
* add strict validatation of GF_OPTION_TYPE_PATH option type.Amar Tumballi2009-07-161-1/+9
| | | | | | | | | | Make sure that users don't provide "../" in the path value in volume file, which should be considered security issue. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 141 (GF_OPTION_TYPE_PATH should check for presence of ".." in path) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=141
* break inode_path if the length of the path crosses PATH_MAXAmar Tumballi2009-07-161-0/+7
| | | | | | | | | | | a given search for path can't exceed the length of PATH_MAX in any case. Hence, its best to make sure by adding a check inside the for loop of inode_path, so that it won't enter an infinite loop. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 134 (infinite loop in inode_path ()) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=134
* cleanup 'ctx' from inode and fdAmar Tumballi2009-07-164-70/+0
| | | | | | | | | Removing unused 'dict_t *ctx' from both inode and fd structures. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 128 (cleanup unwanted ctx dictionary in 'inode' and 'fd' structures.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=128
* protocol: add functions gf_flags_from_flags and gf_flags_to_flagsAnand Avati2009-07-071-0/+108
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs/defaults - send CHILD_UP notify only to the parent which has ↵Basavanagowda Kanur2009-07-061-1/+3
| | | | | | | | been init()ed. fixes bz# 12 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs/logging - fix memory leakBasavanagowda Kanur2009-07-061-0/+2
| | | | | | in _gf_log(), free 'msg' before returning. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs - remove definition of ZR_FILENAME_MAXBasavanagowda Kanur2009-07-061-5/+0
| | | | | | | to maintain uniformity of maximum length of file name, through out glusterfs, use NAME_MAX. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs/call-stub - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-061-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* mem-pool: Do not perform chunkhead2ptr on MALLOCed memoryShehjar Tikoo2009-07-061-2/+6
| | | | | | | | | | | | Memory allocated from the heap instead of the mem-pool need not under go the chunkhead to ptr conversion when returning to a mem-pool user since this address can be use directly. This fixes a crash in io-threads. Ref: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=102 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Print volume file after printing other details.Vikas Gorur2009-07-021-1/+1
| | | | | | | This makes the log format compatible with earlier versions. Fixes bug #105. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* version changes in GIT repo to differentiate between branchesAmar Tumballi2009-06-301-2/+2
| | | | | | | package-version: because master is undergoing changes for 2.1.x release, protocol-version: because of addition of mops 'log' Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs-fd: Simplify gf_roundup_power_of_twoShehjar Tikoo2009-06-291-30/+10
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Remove gf_fd_unused_get2Shehjar Tikoo2009-06-292-40/+4
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* version check between client/server made more specific to protocol only.Amar Tumballi2009-06-291-0/+5
| | | | | | | | | This patch is a step towards giving compatibility between the versions of GlusterFS. Now onwards, the protocol-version won't depend on release versions. In general, multiple glusterfs versions can have common protocol-version. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* gf-dirent: add support for stat attribute in dir entry (to work likeAnand V. Avati2009-06-262-5/+13
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Add command line option to specify central log server.Vikas Gorur2009-06-181-0/+2
| | | | | | | | | Added two command line options: --log-server SERVER --log-server-port PORT Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* adding an extra xlator option type, GF_OPTION_PERCENT_OR_SIZET.Amar Tumballi2009-06-182-3/+96
| | | | | | | | | | | Originally from Paul Rawson <plrca2@gmail.com> http://patches.gluster.com/patch/391/ : patch re-submitted with patching guidelines. with this patch, the xlator volume options get another type which can take arguments either in 'percent' or in 'bytes', which is useful in many cases. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Prevent gf_fd_put'ing of unallocated fdShehjar Tikoo2009-06-181-1/+11
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Chain newly allocated fdentries.Shehjar Tikoo2009-06-181-0/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Change GF_FDENTRY_ALLOCATED constantShehjar Tikoo2009-06-181-3/+2
| | | | | | | | | This change is being brought in so that we can differentiate between fdentry_ts when debugging using gdb. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Removed the swap being done for __noswap functions.Vijay Bellur2009-06-171-3/+3
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Turn fd-table O(1)Shehjar Tikoo2009-06-152-66/+125
| | | | | | | | | This commit reduces CPU usage of gf_fd_unused_get drastically by making it O(1) instead of O(n). Related to: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=16 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* write-behind: check for memory allocation failures and take appropriate actionRaghavendra G2009-06-151-0/+4
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Log to a central server.Vikas Gorur2009-06-112-8/+397
| | | | | | | | | | | | | Several functions to support centralized logging: - create a logging thread upon init - gf_log submits log messages to the logging thread which in turn sends it to the server using the MOP log - on the server side, log messages from a client are written to the filename <log file name>.client-<transport-identifier> Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Functions to store a central log flag in TLS.Vikas Gorur2009-06-112-0/+64
| | | | | | | The flag is set in TLS so that a re-entry into gf_central_log does not deadlock. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Include glusterfs.h in dict.cVikas Gorur2009-06-111-0/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Added MOP log to libglusterfs/*Vikas Gorur2009-06-117-0/+52
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Add empty and NULL dirents list checksShehjar Tikoo2009-06-082-0/+12
| | | | | | | | | | | | These checks are needed in case a higher layer intends to delink the dirent list and passes a NULL pointer to fop_readdir_cbk_stub for the entries parameter. Consequently, the gf_dirent_free must guard against an empty list because the stub that is passed to it mgiht have an empty dirent list. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>