07 Jan, 2012
1 commit
-
Signed-off-by: Al Viro
04 Jan, 2012
4 commits
-
Signed-off-by: Al Viro
-
new helper (wrapper around mnt_drop_write()) to be used in pair with
mnt_want_write_file().Signed-off-by: Al Viro
-
A bunch of places in nfsd does mnt_{want,drop}_write on vfsmount of
export of given fhandle. Switched to obvious inlined helpers...Signed-off-by: Al Viro
-
it's both faster (in case when file has been opened for write) and cleaner.
Signed-off-by: Al Viro
07 Nov, 2011
1 commit
-
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
Revert "tracing: Include module.h in define_trace.h"
irq: don't put module.h into irq.h for tracking irqgen modules.
bluetooth: macroize two small inlines to avoid module.h
ip_vs.h: fix implicit use of module_get/module_put from module.h
nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
include: replace linux/module.h with "struct module" wherever possible
include: convert various register fcns to macros to avoid include chaining
crypto.h: remove unused crypto_tfm_alg_modname() inline
uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
pm_runtime.h: explicitly requires notifier.h
linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
miscdevice.h: fix up implicit use of lists and types
stop_machine.h: fix implicit use of smp.h for smp_processor_id
of: fix implicit use of errno.h in include/linux/of.h
of_platform.h: delete needless include
acpi: remove module.h include from platform/aclinux.h
miscdevice.h: delete unnecessary inclusion of module.h
device_cgroup.h: delete needless include
net: sch_generic remove redundant use of
net: inet_timewait_sock doesnt need
...Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
- drivers/media/dvb/frontends/dibx000_common.c
- drivers/media/video/{mt9m111.c,ov6650.c}
- drivers/mfd/ab3550-core.c
- include/linux/dmaengine.h
05 Nov, 2011
1 commit
-
* 'nfs-for-3.2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (25 commits)
nfs: set vs_hidden on nfs4_callback_version4 (try #2)
pnfs-obj: Support for RAID5 read-4-write interface.
pnfs-obj: move to ore 03: Remove old raid engine
pnfs-obj: move to ore 02: move to ORE
pnfs-obj: move to ore 01: ore_layout & ore_components
pnfs-obj: Rename objlayout_io_state => objlayout_io_res
pnfs-obj: Get rid of objlayout_{alloc,free}_io_state
pnfs-obj: Return PNFS_NOT_ATTEMPTED in case of read/write_pagelist
pnfs-obj: Remove redundant EOF from objlayout_io_state
nfs: Remove unused variable from write.c
nfs: Fix unused variable warning from file.c
NFS: Remove no-op less-than-zero checks on unsigned variables.
NFS: Clean up nfs4_xdr_dec_secinfo()
NFS: Fix documenting comment for nfs_create_request()
NFS4: fix cb_recallany decode error
nfs4: serialize layoutcommit
SUNRPC: remove rpcbind clients destruction on module cleanup
SUNRPC: remove rpcbind clients creation during service registering
NFSd: call svc rpcbind cleanup explicitly
SUNRPC: cleanup service destruction
...
03 Nov, 2011
1 commit
02 Nov, 2011
1 commit
-
Signed-off-by: Benny Halevy
Signed-off-by: J. Bruce Fields
01 Nov, 2011
2 commits
-
Some files were using the complete module.h infrastructure without
actually including the header at all. Fix them up in advance so
once the implicit presence is removed, we won't get failures like this:CC [M] fs/nfsd/nfssvc.o
fs/nfsd/nfssvc.c: In function 'nfsd_create_serv':
fs/nfsd/nfssvc.c:335: error: 'THIS_MODULE' undeclared (first use in this function)
fs/nfsd/nfssvc.c:335: error: (Each undeclared identifier is reported only once
fs/nfsd/nfssvc.c:335: error: for each function it appears in.)
fs/nfsd/nfssvc.c: In function 'nfsd':
fs/nfsd/nfssvc.c:555: error: implicit declaration of function 'module_put_and_exit'
make[3]: *** [fs/nfsd/nfssvc.o] Error 1Signed-off-by: Paul Gortmaker
-
These files were getting via an implicit include
path, but we want to crush those out of existence since they cost
time during compiles of processing thousands of lines of headers
for no reason. Give them the lightweight header that just contains
the EXPORT_SYMBOL infrastructure.Signed-off-by: Paul Gortmaker
25 Oct, 2011
1 commit
-
We have to call svc_rpcb_cleanup() explicitly from nfsd_last_thread() since
this function is registered as service shutdown callback and thus nobody else
will done it for us.Signed-off-by: Stanislav Kinsbursky
Signed-off-by: Trond Myklebust
24 Oct, 2011
5 commits
-
According to rfc5661 18.50, implement DESTROY_CLIENTID operation.
Signed-off-by: Mi Jinlong
Signed-off-by: J. Bruce Fields -
Signed-off-by: Benny Halevy
Signed-off-by: J. Bruce Fields -
RFC5661 says:
The client may set one or both of
OPEN4_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL and
OPEN4_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED.Signed-off-by: Benny Halevy
Signed-off-by: J. Bruce Fields -
Reported-by: Gopala Suryanarayana
Signed-off-by: Benny Halevy
Signed-off-by: J. Bruce Fields -
Signed-off-by: Benny Halevy
Signed-off-by: J. Bruce Fields
19 Oct, 2011
2 commits
-
Signed-off-by: J. Bruce Fields
-
0c12eaffdf09466f36a9ffe970dda8f4aeb6efc0 "nfsd: don't break lease on
CLAIM_DELEGATE_CUR" was a temporary workaround for a problem fixed
properly in the vfs layer by 778fc546f749c588aa2f6cd50215d2715c374252
"locks: fix tracking of inprogress lease breaks", so we can revert that
change (but keeping some minor cleanup from that commit).Signed-off-by: J. Bruce Fields
18 Oct, 2011
8 commits
-
If we create the object and then return failure to the client, we're
left with an unexpected file in the filesystem.I'm trying to eliminate such cases but not 100% sure I have so an
assertion might be helpful for now.Signed-off-by: J. Bruce Fields
-
As with the nfs4_file, we'd prefer to find out about any failure before
creating a new file rather than after.Signed-off-by: J. Bruce Fields
-
Move idr preallocation out of stateid initialization, into stateid
allocation, so that we no longer have to handle any errors from the
former.This is a little subtle due to the way the idr code manages these
preallocated items--document that in comments.Signed-off-by: J. Bruce Fields
-
Creating a new file is an irrevocable step--once it's visible in the
filesystem, other processes may have seen it and done something with it,
and unlinking it wouldn't simply undo the effects of the create.Therefore, in the case where OPEN creates a new file, we shouldn't do
the create until we know that the rest of the OPEN processing will
succeed.For example, we should preallocate a struct file in case we need it
until waiting to allocate it till process_open2(), which is already too
late.Signed-off-by: J. Bruce Fields
-
If process_open1() creates a new open owner, but the open later fails,
the current code will leave the open owner around. It won't be on the
close_lru list, and the client isn't expected to send a CLOSE, so it
will hang around as long as the client does.Similarly, if process_open1() removes an existing open owner from the
close lru, anticipating that an open owner that previously had no
associated stateid's now will, but the open subsequently fails, then
we'll again be left with the same leak.Fix both problems.
Reported-by: Bryan Schumaker
Signed-off-by: J. Bruce Fields -
No change in behavior.
Signed-off-by: J. Bruce Fields
-
Signed-off-by: J. Bruce Fields
-
There doesn't seem to be any harm to renewing the client a bit earlier,
when it is looked up. That saves us from having to sprinkle
renew_client calls over quite so many places.Also remove a redundant comment and do a little cleanup.
Signed-off-by: J. Bruce Fields
17 Oct, 2011
1 commit
-
This should be a bitwise negate here. It silences a Sparse warning:
fs/nfsd/nfs4xdr.c:693:16: warning: dubious: x & !ySigned-off-by: Dan Carpenter
Signed-off-by: J. Bruce Fields
12 Oct, 2011
2 commits
-
Mask out the WANT bits right at the start instead of on each use.
Signed-off-by: J. Bruce Fields
-
Again, these checks are better in the xdr code.
Signed-off-by: J. Bruce Fields
11 Oct, 2011
5 commits
-
I'd rather put more of these sorts of checks into standardized xdr
decoders for the various types rather than have them cluttering up the
core logic in nfs4proc.c and nfs4state.c.Signed-off-by: J. Bruce Fields
-
We don't use WANT bits yet--and sending them can probably trigger a
BUG() further down.Cc: stable@kernel.org
Signed-off-by: J. Bruce Fields -
These comments are mostly out of date.
Reported-by: Bryan Schumaker
-
In response to some review comments, get rid of the somewhat obscure
for-loop with bitops, and improve a comment.Reported-by: Steve Dickson
Signed-off-by: J. Bruce Fields -
In commit 5ec094c1096ab3bb795651855d53f18daa26afde "nfsd4: extend state
lock over seqid replay logic" I modified the exit logic of all the
seqid-based procedures except nfsd4_locku(). Fix the oversight.The result of the bug was a double-unlock while handling the LOCKU
procedure, and a warning like:[ 142.150014] WARNING: at kernel/mutex-debug.c:78 debug_mutex_unlock+0xda/0xe0()
...
[ 142.152927] Pid: 742, comm: nfsd Not tainted 3.1.0-rc1-SLIM+ #9
[ 142.152927] Call Trace:
[ 142.152927] [] warn_slowpath_common+0x7f/0xc0
[ 142.152927] [] warn_slowpath_null+0x1a/0x20
[ 142.152927] [] debug_mutex_unlock+0xda/0xe0
[ 142.152927] [] __mutex_unlock_slowpath+0x80/0x140
[ 142.152927] [] mutex_unlock+0xe/0x10
[ 142.152927] [] nfs4_lock_state+0x35/0x40 [nfsd]
[ 142.152927] [] nfsd4_proc_compound+0x2a1/0x690
[nfsd]
[ 142.152927] [] nfsd_dispatch+0xeb/0x230 [nfsd]
[ 142.152927] [] svc_process_common+0x345/0x690
[sunrpc]
[ 142.152927] [] ? try_to_wake_up+0x280/0x280
[ 142.152927] [] svc_process+0x102/0x150 [sunrpc]
[ 142.152927] [] nfsd+0xbd/0x160 [nfsd]
[ 142.152927] [] ? 0xffffffffa039efff
[ 142.152927] [] kthread+0x8c/0xa0
[ 142.152927] [] kernel_thread_helper+0x4/0x10
[ 142.152927] [] ? kthread_worker_fn+0x190/0x190
[ 142.152927] [] ? gs_change+0x13/0x13Reported-by: Bryan Schumaker
Tested-by: Bryan Schumaker
Signed-off-by: J. Bruce Fields
27 Sep, 2011
4 commits
-
Use a separate stateid idr per client, and lookup a stateid by first
finding the client, then looking up the stateid relative to that client.Also some minor refactoring.
This allows us to improve error returns: we can return expired when the
clientid is not found and bad_stateid when the clientid is found but not
the stateid, as opposed to returning expired for both cases.I hope this will also help to replace the state lock mostly by a
per-client lock, but that hasn't been done yet.Signed-off-by: J. Bruce Fields
-
Test_stateid is 4.1-only and only allowed after a sequence operation, so
this check is unnecessary.Cc: Bryan Schumaker
Signed-off-by: J. Bruce Fields -
The idr system is designed exactly for generating id and looking up
integer id's. Thanks to Trond for pointing it out.Signed-off-by: J. Bruce Fields
-
This will be convenient.
Signed-off-by: J. Bruce Fields
21 Sep, 2011
1 commit
-
I'm not sure why I used a new field for this originally.
Also, the differences between some of these flags are a little subtle;
add some comments to explain.Signed-off-by: J. Bruce Fields