summaryrefslogtreecommitdiffstats
path: root/xlators/mount/fuse/src
Commit message (Collapse)AuthorAgeFilesLines
* 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
* iatt: changes across the codebaseAnand V. Avati2010-03-161-81/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* fuse: check the return value of pthread_cond_timedwait before logging in ↵Raghavendra Bhat2010-02-201-7/+6
| | | | | | | | | | fuse_thread_proc Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 650 (log message says "pthread_cond_timedout returned nonzero value" even when the return value is zero) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=650
* mount/fuse: Fix file type checking.Vikas Gorur2010-01-251-7/+10
| | | | | | | | | | | | This patch fixes two things: - Check for symlinks and set d_type appropriately - Use S_IS* macros for checking. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 571 (find -type l ignores symlinks on GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=571
* fuse: treat DESTROY message as proto requires, ie. don't leave it unansweredCsaba Henk2010-01-121-2/+4
| | | | | | | | Signed-off-by: Csaba Henk <csaba@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
* fuse: fix memleakCsaba Henk2010-01-061-0/+1
| | | | | | | | | | continuing the work of d281971e Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 438 (Memory leak) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438
* fuse-bridge: Don't try to fill a loc in setattr when we can proceed on with ↵Csaba Henk2009-12-181-2/+9
| | | | | | | | | | | | an fd. This fixes broken ftruncate on unlinked files. Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 472 (OpenOffice fails on GlusterFS $HOME due to fuse_loc_fill error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=472
* fix typo in 76d6f3fbeCsaba Henk2009-12-061-1/+1
| | | | | | | | Signed-off-by: Csaba Henk <csaba@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
* fuse-bridge: set lk_owner to -1 for release forged flush.Csaba Henk2009-12-061-0/+1
| | | | | | | | | | Server would interpret 0 as a sign of us getting disconnected. Signed-off-by: Csaba Henk <csaba@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
* fuse-bridge: make use of lock owner data in a protocol adherent way.Csaba Henk2009-12-061-22/+29
| | | | | | | | | | | | | | | | | No need for pid fallback, for those cases where we use it, it's always available. It appears conditionally in read/write/truncate (related to mandatory locking). There just get it for demonstrative purposes. Discard it from release, there locking data exists only as a portability hack, no use of it on Linux. Signed-off-by: Csaba Henk <csaba@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
* fuse-bridge: log cases where newer generation is found in tableAnand Avati2009-12-061-1/+12
| | | | | | | | | | | This is usually the case when there is a bug a cluster xlator and returns generation number from the wrong subvolume Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433
* fuse: fix leak in fuse_getxattr and fuse_getattrAnand Avati2009-12-051-0/+2
| | | | | | | | | | | | | In fuse_getxattr, @finh was leaked in the case of posix ACL getxattr request In fuse_getattr, @state was leaked when fuse_loc_fill() failed Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 438 (Memory leak) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438
* mount/fuse: Refactored fuse_setattr.Vikas Gorur2009-12-041-103/+40
| | | | | | | | | | | | | | | | | | | | | | If both truncate & setattr need to be sent from fuse_setattr, they are now sent one after the other (setattr first, and then truncate) instead of being sent parallelly. The earlier code that sent them parallelly had a couple of problems: 1) A bug in the logic that would sometimes cause the setattr call to never return, making the application hang. 2) A possibility that truncate and setattr would race at the server/io-threads/posix end, thus returning the wrong stat structure to the application. This patch also removes an unneccessary "can_fuse_return" call in fuse_attr_cbk, which would cause a call to hang if STAT or FSTAT failed. Signed-off-by: Vikas Gorur <vikas@gluster.com> 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
* mount/fuse: Print correct log message if encountered with errno - EAGAIN.Pavan Vilas Sondur2009-12-031-0/+9
| | | | | | | | 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
* mount/fuse: Use fuse lock_owner field in posix locks.Pavan Vilas Sondur2009-12-031-4/+36
| | | | | | | | 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
* mount/fuse: Handle the case when attribute_timeout is set to 0 in dictionary.Vijay Bellur2009-12-031-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 252 (client coherence problem with locks and truncate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=252
* Fixed typo in gf_proc_dump for attribute_timeout.Harshavardhana Ranganath2009-11-261-1/+1
| | | | | | | | Signed-off-by: Harshavardhana <harsha@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 410 (Typo in gf_proc_dump for attribute_timeout) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=410
* Upgrade FUSE protocol to rev. 7.13Csaba Henk2009-11-161-3/+9
| | | | | | | | | | | | | 2.6.32 will feature FUSE proto 7.13 which lets us tune the maximal number of in-kernel backgrounded requests via INIT. Hereby we live up to this enhancement. Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 385 (Upgrade FUSE protocol to rev. 7.13) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=385
* mount/fuse: Assign the right inode to fuse_entry_out in fuse_create_cbk().Vijay Bellur2009-11-161-2/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 380 ([3.0.0 pre1] Crash in fuse_create_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=380
* mount/fuse: Prevent a hang on the mount point if no server is up when the ↵Pavan Sondur2009-11-131-4/+49
| | | | | | | | | | client is started. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 373 (Spawn fuse thread after a parent_up and wait and block until child_up) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=373
* mount/fuse: Do readdirp in fuse_readdir.Vikas Gorur2009-11-131-2/+2
| | | | | | | | | | | Do the readdirp FOP in fuse_readdir. This is needed because dht_readdir is not "reliable", whereas dht_readdirp is. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 249 (Self heal of a file that does not exist on the first subvolume) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249
* Remove fuse_lowlevel.h from xlator.h in libglusterfs.Pavan Sondur2009-11-031-2/+2
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343
* protocol/server, mount/fuse: Handle returned inode in create properlyVikas Gorur2009-10-291-6/+13
| | | | | | | | | | | 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
* fuse: use postbuf in truncate_cbk for attributes to returnAnand Avati2009-10-281-4/+4
| | | | | | | | | | this causes a problem where inodes even after truncate show old file size for a short time (till attributes are expired in fuse kernel module) 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
* mount/fuse: Derive fd from the file handle for setattrVikas Gorur2009-10-281-1/+3
| | | | | | | 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
* mount/fuse: Use correct offset for name in fuse_getxattrVikas Gorur2009-10-271-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* mount/fuse: Don't use fsi if it is already cleaned upVijay Bellur2009-10-231-1/+4
| | | | | | | 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
* fuse-bridge: send fresh lookup on failed revalidate to return new nodeidAnand Avati2009-10-231-47/+56
| | | | | | | 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
* fuse: use inode_t address as nodeid and use new inode APIAnand V. Avati2009-10-181-224/+105
| | | | | | | 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
* mount/fuse: Initialize attr and set nsec values for atime and mtime.Vijay Bellur2009-10-151-1/+3
| | | | | | | | | | | attr was not being initialized and NSEC values were not being set in attr. These were being referenced in posix_do_utimes which could cause a failure of utimes (). Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 296 (handle futimes correctly in FUSE) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=296
* mount/fuse: Handle FATTR_MODE flag properly.Vikas Gorur2009-10-071-0/+3
| | | | | | | | | Handle the FATTR_MODE flag in fattr_to_gf_set_attr. 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
* Changed occurrences of Z Research to Gluster.Vijay Bellur2009-10-071-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* mount/fuse: Don't send fsetattr if ATIME or MTIME needs to be changed.Vikas Gorur2009-10-061-1/+8
| | | | | | | | | | There is no "futimes" call. Hence, if either the FATTR_MTIME or FATTR_ATIME flag is set, don't send fsetattr. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 296 (handle futimes correctly in FUSE) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=296
* Global: NFS-friendly prototype changesShehjar Tikoo2009-10-011-16/+241
| | | | | | | 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-142/+185
| | | | | | | 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
* fuse: emit a flush from release if we didn't get an adjacent FLUSH message ↵Csaba Henk2009-09-231-5/+51
| | | | | | | | | 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
* Changed prototype for inode_table_dump() and inode_dump().Vijay Bellur2009-09-161-0/+13
| | | | | | | | | | 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
* mount/fuse: Support for dumpop priv.Vijay Bellur2009-09-161-0/+47
| | | | | | | 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
* mount/fuse: Set d_type in readdir_cbk using the stat buf for the entry.Vikas Gorur2009-09-091-1/+32
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 207 ([ glusterfs 2.0.6rc4 ] - "ls --color" takes time) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=207
* mount/fuse: Include missing header files in Makefile.amVijay Bellur2009-09-071-1/+3
| | | | | | | | | | Compilation fails in a new glusterfs tarball due to missing fuse headers. Including them in Makefile.am. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 244 (compilation after make dist fails because of missing headers) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=244
* fuse: protocol fix: fix bogus parsing of MKDIR messageCsaba Henk2009-09-011-1/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 226 (mkdir after rm of regular file of same name fails) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=226
* fuse: a compat fix for older protocol revisionsCsaba Henk2009-08-161-1/+4
|
* fuse: optimize request iov aligment for writesCsaba Henk2009-08-161-12/+53
| | | | Idea by Avati.
* fuse: switch off direct I/O mode if big writes are supportedCsaba Henk2009-08-141-1/+7
|
* bring in fusermountCsaba Henk2009-08-121-4/+1
|
* fuse: add proper mounting support, based on libfuse routinesCsaba Henk2009-08-122-42/+20
|
* fuse: move libfuse derived code over under contrib/Csaba Henk2009-08-123-618/+8
|
* upgrade FUSE protocol to 7.12 and add support for older versions of the protocolCsaba Henk2009-08-122-18/+115
|
* basic version of direct FUSE interface (ie. not relying on libfuse)Csaba Henk2009-08-125-949/+1471
|
* fuse-bridge: Export user.glusterfs-booster-mount xattrShehjar Tikoo2009-07-161-0/+3
| | | | | | | | | | | | | | | This needs to be exported in order to have the booster Mount Point Bypass technique work through libglusterfsclient. Booster uses the mount point to register with libglusterfsclient as a VMP. Subsequently, all file operations on the mounted GlusterFS mount point get redirected to libglusterfsclient. This fixes bug 136. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 136 (booster does not redirect ops on GlusterFS mount point into libglusterfsclient) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=136