| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
..so that nfs does not return an error to the client, instead
the subvolume gets disabled till it comes back up again.
The client is expected to keep retransmitting requests in the mean time.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1724 (kernel untar fails during add-brick)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1724
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1756 (NFS must revalidate inode on first ESTALE on lookup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1756
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1259 (Memory leaks to 5.7g usage in gnfs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1259
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Overall, the aim of this patch is to change the result of an nfs
op depending on whether the underlying volume is up or down
as notified by CHILD_UP and CHILD_DOWN events.
This patch contains three intertwined changes:
o Only when the lookup on the root of a volume is successful does gnfs now
export the subvolume. Till now the result of the lookup was not used to
determine whether we should export that volume. Not accounting for root lookup
failure resulted in ESTALEs on first access because some children of distribute
were down at the time of the root lookup.
o Only when lookups on all the subvolumes have succeeded are
these exports enabled through NFS.
o When a child of say distribute goes down, on CHILD_DOWN event nfs will
ignore all incoming requests from the client because ignoring these
will prevent ESTALEs for those requests and in the hope that ignoring the
requests will make the client retransmit. There are risks in this approach
absent the DRC but we're willing to live with that for now.
When a child goes down, the mount exports list will continue to show it
but mount requests will be denied.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
..so that when EOF is reached on this fd, any further
requests on the same inode do not get handled through this
fd but result in a new fd being opened.
Unbinding results in the fd getting deleted from the inode's fd list.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1619 (glusterfs nfs server crashed on dht+replica(2x2))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1619
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1600 (showmount works but unable to mount)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1600
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1600 (showmount works but unable to mount)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1600
|
|
|
|
|
|
|
|
| |
Signed-off-by: Amar Tumballi <amar@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
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
..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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
..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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are three conditions when a dir fd_t needs to be unrefed
when:
a. the inode being searched is found as the candidate entry,
b. we have exhausted all the entries in the current dir,
c. we decide to step into a child directory because of a hash
match.
This decision is made in nfs3_fh_resolve_check_response.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1397 (Cached dir fd_ts are a leakin')
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1397
|
|
|
|
|
|
|
|
|
|
|
|
| |
..because the extra ref was under the mistaken assumption that
directory fd_t will be cached even during hard fh resolution and
that is not the case.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1397 (Cached dir fd_ts are a leakin')
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1397
|
|
|
|
|
|
|
|
|
|
| |
..because fd_lookup returns a ref'd fd_t.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1397 (Cached dir fd_ts are a leakin')
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1397
|
|
|
|
|
|
|
|
| |
Signed-off-by: Sachidananda Urs <sac@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1115 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1115
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed dead assignments and unused variables reported by clang.
One of the reports uncovers a minor bug in gnfs.
> Dead store Dead assignment xlators/nfs/server/src/nfs3.c 2860 1
A separate bug is logged for the above report and assigned to Shehjar.
Signed-off-by: Sachidananda Urs <sac@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1114 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1114
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generates the following 3 rpms:
1. glusterfs-fuse
2. glusterfs-main
3. glusterfs-ibverbs
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1275 (Fix rpm glusterfs spec file for 3.1)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1275
|
|
|
|
|
|
|
|
| |
Signed-off-by: Kaushik BV <kaushikbv@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1117 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1117
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1274 (nfs fails to start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1274
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1274 (nfs fails to start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suppose a file name 1 is created and some data is written to it. After this
another 512 files are newly created and written to. When the the 513th file is
created and an fd_t opened for it, it results in 1's fd_t being replaced in the
fd-lru with 513th file's fd_t. This is the correct behaviour resulting in all
refs getting unref from the fd_t of 1 and the fd and all related state being
freed.
But, in some workloads, some refs are still pending even after the fd_t is
removed from LRU, resulting in the fd still being bound to the inode. In
nfs3svc_remove_cbk, while removing the inode state, we also ensure that any
fd_ts in the cache for this inode are also removed. While removing the fd_t,
this situation where the fd_t has replaced with another, even while a ref
remains on the fd_t, results in a crash in the fdcache_remove path in
nfs3svc_remove_cbk. This happens because the fd_ctx_get results in a NULL value
because the ctx was already deleted when this fd_t was removed from fd-lru
earlier. This patch fixes the crash by introducing a NULL check.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 885 ([NFS Xlator] Crash in nfs3_fdcache_update)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=885
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 854 (nfs server didn't start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
|
|
|
|
|
|
|
|
|
|
|
|
| |
During hard fh resolution, if a directory traversal goes right
through to end-of-dir without finding a hash match, we need to return
an ESTALE, not ENOENT.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 854 (nfs server didn't start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 854 (nfs server didn't start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The order of locking while performing async fd opens was resulting in
a deadlock when a particular pattern of operations was generated by
compilebench. This patch improves handling of those situations while
locking the fd-cache, inode and inode queue.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1047 (Compilebench hangs nfs server)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1047
|
|
|
|
|
|
|
|
| |
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 960 (Disk space leakage and fs corruption after VMs are vmotion'ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nfsx has followed traditional approach of exporting whole volumes
as NFS exports. The Platform requires and some users have approached us for
introducing exports of only specific directories instead of full Gluster
volumes. This commit introduces this support through two nfsx options:
Option 1:
=========
option nfs3.<volume-name>.export-dir <subdir1-in-vol>,<subdir2-in-vol>,..<subdirN-in-vol>
export-dir will allow the export of a particular dir as a single export
by itself. For eg.:
volume posix
type storage/posix
option directory /export/
end-volume
volume posix-ac
type features/access-control
subvolumes posix
end-volume
volume nfs
type nfs/server
subvolumes posix-ac
option rpc-auth.addr.allow *
option nfs3.posix-ac.export-dir /homes/shehjart
end-volume
A comma separate list of sub-directories will set up those dirs as separated exports.
At the nfs client, the mount command will be:
$ mount <nfsserver>:/posix-ac/homes/shehjart /mnt
Option 2:
=========
option nfs3.<volume-name>.export-volumes <on|off>
There can be situations where users only want the directory level
exports and require that volume exports be completely disabled. The
above option allows us to do this. By default, volume exports are
enabled. From the earlier example, replacing <volume-name> with
posix-ac, will disable mounting of the posix-ac volume as a whole.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 989 (Support directory exports in nfsx)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=989
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 212 logical (NULL deref/divide by zero) errors reduced to 28
(27 of them in contrib/ and lex part of codebase, 1 is invalid)
* 11 API errors reduced to 0
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.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
|
|
|
|
|
|
|
|
|
|
|
| |
In case the nfs client sends an unmount request for a volume
that does not exist anymore.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 961 (Unmount with invalid export crashes nfsx)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=961
|
|
|
|
|
|
|
|
|
|
|
| |
Till now nfsx would crash if the export was mounted simply as
<volname> as compared to the traditional method of /<volname>.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 944 (vmware unmount crashes nfsx)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=944
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a lookup request comes in for (rootfh, ".."), we need to handle
it in a way that returns the attributes and handle of the root dir.
Not doing so crashes nfsx because the inode table is not able to
find a inode for the root's parent. This inode was being referenced in
nfs3_lookup_parentdir_resume when filling a loc for the lookup fop.
For the record, such a lookup request is sent by vmkernel.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 942 (NFS crashes as a vmware ESX data store)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=942
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the readdir reply for the root of the export, replace the ino
and gen number for the . and .. entries with 1 and 0 respectively.
On clients which inspect this field, the client will error out due
to the change in inode number of the root directory when see for "."
.. also needs to be replaced because we do not have a concept of
the parent directory of root. The return of 1 and 0 is the same as
the behaviour of: stat /.. command.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 942 (NFS crashes as a vmware ESX data store)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=942
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduces two new options:
1. nfs3.*.trusted-write: Forces UNSTABLE writes to return STABLE to NFS
clients to prevent the clients from sending a COMMIT. STABLE writes
are still handled in a sync manner and so are COMMITs if they're sent
at all.
2. nfs3.*.trusted-sync: Forces all WRITEs and COMMITs to return STABLE
return flags to NFS clients to avoid the overhead of STABLE writes, and
COMMITs that follow UNSTABLE writes. This includes the trusted-write
functionality. In addition to the trusted-write, it also writes
STABLE writes in an UNSTABLE manner.
Both violate the NFS protocol but allow better write perf in most
configurations. Use with caution.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 924 (Slow NFS synchronous writes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=924
|