summaryrefslogtreecommitdiffstats
path: root/xlators/mount/fuse/src
Commit message (Collapse)AuthorAgeFilesLines
* mount/fuse: Inherit direct-io-mode values from fds alreadyrelease-3.1Raghavendra G2012-03-184-26/+173
| | | | | | | | | | | | | | | | opened, for a new fd being opened. When an fd is being opened, it inherits direct-io-mode characterstics (either enabled or disabled) from the fds already opened on inode. If none are opened and user has not specified the mode through cmdline options, default mode is used. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Change-Id: I0c9e959100e9130e46bbd16d63eca278260635b4 BUG: 801 Reviewed-on: http://review.gluster.com/56 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Csaba Henk <csaba@redhat.com>
* Change Copyright current yearPranith Kumar K2011-08-105-5/+5
| | | | | | | | Change-Id: Ia85fa5617fb0bb438dbe3660d36465c0ecb000be BUG: 3348 Reviewed-on: http://review.gluster.com/199 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* fuse-resolve: prevent linking of inodes of different inode-tableAmar Tumballi2011-08-101-25/+31
| | | | | | | | | | | | | | | | | | This can happen in deep_resolve_cbk, which happens after a graph switch. Root cause was because the graph change happened while a FOP was in transit and by the time the call came back, the active translator of fuse is now changed. Fix is to make sure the resolve operation happens on a given inode table, instead of taking the latest graph of fuse for each operation Change-Id: Idd6e2d5c2d5fc5d571f7a1fbc174e210babf8a2b BUG: 3355 Reviewed-on: http://review.gluster.com/193 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Shishir Gowda <shishirng@gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* LICENSE: s/GNU Affero General Public/GNU General Public/v3.1.6qa6Pranith Kumar K2011-08-065-15/+15
| | | | | | | | Change-Id: I30b1807f4493a9b4ffa9899548daf7d29a0a6364 BUG: 3348 Reviewed-on: http://review.gluster.com/184 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* fuse: fix inode-leaks in fuse_lookup_and_resume codepath.Raghavendra G2011-07-172-12/+31
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2525 ([glusterfs-3.1.3qa8]: inode leak in rdma) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2525
* mnt/fuse: generate uuids in fuse_lookup, not in fuse_lookup_resume.Raghavendra G2011-07-121-1/+2
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3041 ([glusterfs-3.1.5qa2]: stat gives EINVAL) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3041
* mnt/fuse: Do a pthread_cond_broadcast for both CHILD_UP and CHILD_DOWN events.Raghavendra G2011-07-012-6/+7
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3091 (rebalance fails with "transport endpoint not connected" in 3.2.1 rdma set-up) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3091
* mount/fuse: wait till CHILD_UP event is recieved to do the first lookup.Raghavendra G2011-07-011-9/+2
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3091 (rebalance fails with "transport endpoint not connected" in 3.2.1 rdma set-up) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3091
* fuse: consider a lookup as revalidate even if the inode is present in new graph.Raghavendra G2011-06-221-10/+12
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3041 ([glusterfs-3.1.5qa2]: stat gives EINVAL) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3041
* fuse: have the 'used' flag set in graph when used for first timev3.1.3qa7Amar Tumballi2011-03-091-12/+14
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2503 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2503
* fuse: change the graph in 'GRAPH_NEW' eventAmar Tumballi2011-03-091-10/+16
| | | | | | | | | | | Because in the current way, we have chances of changing the graph to old one too. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2503 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2503
* check for inode and path being NULL before copying themRaghavendra Bhat2011-02-281-24/+28
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2463 ([7b07d444a77526f27f860210930bf1d4c7fbea9b]: ./autogen.sh crashes glusterfs in fuse_getattr or fuse_setattr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2463
* send the CHILD_DOWN event also to fuseAmar Tumballi2011-02-221-31/+11
| | | | | | | | | | and start the fuse thread in CHILD_DOWN event too. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2005 (Mounting Gluster volume with RO bricks hangs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2005
* fuse-resolve: correction in resolve logicAmar Tumballi2011-02-224-91/+286
| | | | | | | | | | | | * bring in soft (gfid based) and hard (path based) resolving * 'fd' resolving to new graph is not yet done. * fuse-resolve works similar to server-resolve Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2281 (I/O operations exit when add-brick is done) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2281
* implement "--client-pid" option which can forcibly set the pid value in ↵Csaba Henk2011-01-273-0/+15
| | | | | | | | | | messages to a predefined value 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
* send_fuse_iov: check args to prevent possible NULL dereferencingshishir gowda2010-12-271-0/+4
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2223 (Crash in send_fuse_err) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2223
* check the return value properly after calling inode_pathRaghavendra Bhat2010-12-121-1/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2203 ([glusterfs 3.1.1]: Core generated with Segmentation fault in afr-open.c) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2203
* fuse-bridge: construct fa->rdev properlyAnand Avati2010-12-031-1/+2
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2145 ([3.1.1qa9] mknod does not work properly) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2145
* Remove spurious inode_ref call on parent dir in fuse_create_cbkshishir gowda2010-11-181-1/+0
| | | | | | | | | | | The additional ref caused leaks. The ref is taken in __dentry_create called from inode_link Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2117 ([glusterfs-3.1.1qa7]: memleak in glusterfsd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2117
* fuse: dentry create time inode resolution fixesAmar Tumballi2010-11-151-20/+30
| | | | | | | | | | | | treat successful 'inode' resolution as stale entries in case of entry creation fops, instead of continueing with an error log with old entry. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1240 (DVM: after graph change, inodes should resolve to new inode-table) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1240
* fuse: retire the faked-FLUSH-upon-RELEASE hackCsaba Henk2010-10-261-72/+9
| | | | | | | | | | | | | | | | | | Now the code has lived up to the glorious state of not relying on getting the FLUSH whenever a file is released. So we don't need to forge one in release for the cases when the kernel doesn't send it. Undo commits: - 155ffe5c - c50bc710 - b8779318 (partly, just release related parts) Signed-off-by: Csaba Henk <csaba@gluster.com> 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
* fuse: "terminating upon EBADF" log message is confusing, set its level to DEBUGCsaba Henk2010-10-261-1/+1
| | | | | | | | Signed-off-by: Csaba Henk <csaba@lowlife.hu> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1887 (logging mess) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1887
* Change assert to GF_ASSERTVijay Bellur2010-10-121-2/+2
| | | | | | | | 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
* check if fd is NULL before accessing it in fuse_open_resumeRaghavendra Bhat2010-10-121-0/+8
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1858 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1858
* Copyright changesVijay Bellur2010-10-113-3/+3
| | | | | | | | 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
* fuse_loc_fill(): handle a case of NULL dereferenceAmar Tumballi2010-10-111-2/+2
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1889 (gluster FUSE client crashes on irregularity) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1889
* fuse: handle the case of NULL dereferenceAmar Tumballi2010-10-041-1/+2
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1798 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1798
* Change GNU GPL to GNU AGPLPranith K2010-10-045-15/+15
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1388 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1388
* Add log-level option to command volume setshishir gowda2010-10-042-86/+0
| | | | | | | | | | | log-level option to set brick's log-level client-log-level to set client's log-level Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1789 (add log-level options to volume set) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1789
* rmdir: introduce extra flags parameter in FOP prototypeAnand V. Avati2010-10-021-1/+1
| | | | | | | | 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
* Changes to replace flock with gf_flock across GlusterFS.Pavan Sondur2010-10-012-5/+7
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 865 (Add locks recovery support in GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=865
* fuse-resolve: remove stale codeAmar Tumballi2010-09-231-192/+6
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1240 (DVM: after graph change, inodes should resolve to new inode-table) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1240
* mount/fuse: generate gfid only in case of a fresh lookupVijay Bellur2010-09-221-2/+1
| | | | | | | | 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
* fuse-resolve: don't resolve fd to new graph for nowAmar Tumballi2010-09-221-1/+5
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1674 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1674
* mount/fuse: By default enable direct-io only for fds not openened with O_RDONLY.Raghavendra G2010-09-211-2/+6
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@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
* mount/fuse: Perform malloc for appropriate lengthVijay Bellur2010-09-171-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1631 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1631
* fuse: suppress wrong/confusing log message about graph setup failureAmar Tumballi2010-09-081-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1527 (mount time defunct window with remote volumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1527
* in case of failures, don't hang fuse mountAmar Tumballi2010-09-071-1/+26
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1527 (mount time defunct window with remote volumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1527
* fuse resolve to return if resolve not successfulAmar Tumballi2010-09-071-1/+10
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1406 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1406
* changes in fuse proc thread initializationAmar Tumballi2010-09-061-16/+13
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1527 (mount time defunct window with remote volumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1527
* gfid: set request gfids for new entries in fuseAnand Avati2010-09-043-8/+54
| | | | | | | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@blackhole.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
* gfid: changes in symlink() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-1/+1
| | | | | | | | | 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
* gfid: changes in mkdir() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-1/+1
| | | | | | | | | 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
* gfid: changes in mknod() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-1/+1
| | | | | | | | | 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
* gfid: change in create() prototype to have params dictionary with uuid in itAnand Avati2010-09-041-1/+2
| | | | | | | | | 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
* gfid: changes in inode managementAnand Avati2010-09-041-20/+5
| | | | | | | | | | | | | - incorporate usage of uuid (gfid) as the key for finding inodes - deprecate inode number/generation number based inode_get - undo code specific to generation numbers (attic list etc.) 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
* Revert "fuse: introduce pre-test micro-framework, check for ↵Vijay Bellur2010-09-032-333/+6
| | | | | | execve-over-direct-IO" This reverts commit 588d807bdcbf5ed4df4d903428ab701479e9f8ac.
* fuse: introduce pre-test micro-framework, check for execve-over-direct-IOCsaba Henk2010-09-022-6/+333
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fuse: have the fsname passed to mount(2) include the volfile idCsaba Henk2010-08-301-3/+26
| | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1478 (show volfile id in mount(8) output) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1478
* fix notify mechanism to send CHILD_UP to fuseAmar Tumballi2010-08-271-0/+4
| | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>