2019-05-19 13:08:55 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-28 16:49:13 -08:00
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
NFS: Share NFS superblocks per-protocol per-server per-FSID
The attached patch makes NFS share superblocks between mounts from the same
server and FSID over the same protocol.
It does this by creating each superblock with a false root and returning the
real root dentry in the vfsmount presented by get_sb(). The root dentry set
starts off as an anonymous dentry if we don't already have the dentry for its
inode, otherwise it simply returns the dentry we already have.
We may thus end up with several trees of dentries in the superblock, and if at
some later point one of anonymous tree roots is discovered by normal filesystem
activity to be located in another tree within the superblock, the anonymous
root is named and materialises attached to the second tree at the appropriate
point.
Why do it this way? Why not pass an extra argument to the mount() syscall to
indicate the subpath and then pathwalk from the server root to the desired
directory? You can't guarantee this will work for two reasons:
(1) The root and intervening nodes may not be accessible to the client.
With NFS2 and NFS3, for instance, mountd is called on the server to get
the filehandle for the tip of a path. mountd won't give us handles for
anything we don't have permission to access, and so we can't set up NFS
inodes for such nodes, and so can't easily set up dentries (we'd have to
have ghost inodes or something).
With this patch we don't actually create dentries until we get handles
from the server that we can use to set up their inodes, and we don't
actually bind them into the tree until we know for sure where they go.
(2) Inaccessible symbolic links.
If we're asked to mount two exports from the server, eg:
mount warthog:/warthog/aaa/xxx /mmm
mount warthog:/warthog/bbb/yyy /nnn
We may not be able to access anything nearer the root than xxx and yyy,
but we may find out later that /mmm/www/yyy, say, is actually the same
directory as the one mounted on /nnn. What we might then find out, for
example, is that /warthog/bbb was actually a symbolic link to
/warthog/aaa/xxx/www, but we can't actually determine that by talking to
the server until /warthog is made available by NFS.
This would lead to having constructed an errneous dentry tree which we
can't easily fix. We can end up with a dentry marked as a directory when
it should actually be a symlink, or we could end up with an apparently
hardlinked directory.
With this patch we need not make assumptions about the type of a dentry
for which we can't retrieve information, nor need we assume we know its
place in the grand scheme of things until we actually see that place.
This patch reduces the possibility of aliasing in the inode and page caches for
inodes that may be accessed by more than one NFS export. It also reduces the
number of superblocks required for NFS where there are many NFS exports being
used from a server (home directory server + autofs for example).
This in turn makes it simpler to do local caching of network filesystems, as it
can then be guaranteed that there won't be links from multiple inodes in
separate superblocks to the same cache file.
Obviously, cache aliasing between different levels of NFS protocol could still
be a problem, but at least that gives us another key to use when indexing the
cache.
This patch makes the following changes:
(1) The server record construction/destruction has been abstracted out into
its own set of functions to make things easier to get right. These have
been moved into fs/nfs/client.c.
All the code in fs/nfs/client.c has to do with the management of
connections to servers, and doesn't touch superblocks in any way; the
remaining code in fs/nfs/super.c has to do with VFS superblock management.
(2) The sequence of events undertaken by NFS mount is now reordered:
(a) A volume representation (struct nfs_server) is allocated.
(b) A server representation (struct nfs_client) is acquired. This may be
allocated or shared, and is keyed on server address, port and NFS
version.
(c) If allocated, the client representation is initialised. The state
member variable of nfs_client is used to prevent a race during
initialisation from two mounts.
(d) For NFS4 a simple pathwalk is performed, walking from FH to FH to find
the root filehandle for the mount (fs/nfs/getroot.c). For NFS2/3 we
are given the root FH in advance.
(e) The volume FSID is probed for on the root FH.
(f) The volume representation is initialised from the FSINFO record
retrieved on the root FH.
(g) sget() is called to acquire a superblock. This may be allocated or
shared, keyed on client pointer and FSID.
(h) If allocated, the superblock is initialised.
(i) If the superblock is shared, then the new nfs_server record is
discarded.
(j) The root dentry for this mount is looked up from the root FH.
(k) The root dentry for this mount is assigned to the vfsmount.
(3) nfs_readdir_lookup() creates dentries for each of the entries readdir()
returns; this function now attaches disconnected trees from alternate
roots that happen to be discovered attached to a directory being read (in
the same way nfs_lookup() is made to do for lookup ops).
The new d_materialise_unique() function is now used to do this, thus
permitting the whole thing to be done under one set of locks, and thus
avoiding any race between mount and lookup operations on the same
directory.
(4) The client management code uses a new debug facility: NFSDBG_CLIENT which
is set by echoing 1024 to /proc/net/sunrpc/nfs_debug.
(5) Clone mounts are now called xdev mounts.
(6) Use the dentry passed to the statfs() op as the handle for retrieving fs
statistics rather than the root dentry of the superblock (which is now a
dummy).
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2006-08-22 20:06:13 -04:00
|
|
|
|
2013-07-03 15:02:32 -07:00
|
|
|
|
Detach sched.h from mm.h
First thing mm.h does is including sched.h solely for can_do_mlock() inline
function which has "current" dereference inside. By dealing with can_do_mlock()
mm.h can be detached from sched.h which is good. See below, why.
This patch
a) removes unconditional inclusion of sched.h from mm.h
b) makes can_do_mlock() normal function in mm/mlock.c
c) exports can_do_mlock() to not break compilation
d) adds sched.h inclusions back to files that were getting it indirectly.
e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
getting them indirectly
Net result is:
a) mm.h users would get less code to open, read, preprocess, parse, ... if
they don't need sched.h
b) sched.h stops being dependency for significant number of files:
on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
after patch it's only 3744 (-8.3%).
Cross-compile tested on
all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
alpha alpha-up
arm
i386 i386-up i386-defconfig i386-allnoconfig
ia64 ia64-up
m68k
mips
parisc parisc-up
powerpc powerpc-up
s390 s390-up
sparc sparc-up
sparc64 sparc64-up
um-x86_64
x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
as well as my two usual configs.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21 01:22:52 +04:00
|
|
|
|
2010-11-11 12:53:47 +00:00
|
|
|
|
2010-12-09 11:35:25 +00:00
|
|
|
|
2022-03-30 20:00:07 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2006-03-20 13:44:14 -05:00
|
|
|
|
2007-11-21 15:04:31 -08:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2011-07-16 20:44:56 -04:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-03-28 01:56:42 -08:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-02-02 17:53:56 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-12-01 14:17:06 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
|
|
|
|
|
2022-02-22 12:10:36 -05:00
|
|
|
|
|
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2022-02-22 12:10:36 -05:00
|
|
|
|
|
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2019-05-22 08:38:57 -04:00
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:54 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2022-02-25 10:22:30 -05:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2011-07-30 12:45:35 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
|
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2008-06-11 17:55:42 -04:00
|
|
|
|
|
|
|
|
|
2006-03-20 13:44:24 -05:00
|
|
|
|
2020-11-01 15:24:41 -05:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-21 20:11:25 -04:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
|
|
|
|
|
2010-11-20 14:26:44 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-04 08:32:19 -05:00
|
|
|
|
2024-08-14 12:01:28 +02:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2010-11-30 21:56:32 -05:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2007-04-16 09:35:27 +10:00
|
|
|
|
2008-10-14 19:16:07 -04:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2017-06-20 08:33:44 -04:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2017-06-20 08:33:44 -04:00
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-02-02 17:53:53 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2022-02-26 18:38:41 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-04 08:32:19 -05:00
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2020-02-02 17:53:53 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2010-12-01 14:17:06 -05:00
|
|
|
|
2022-02-26 18:38:41 -05:00
|
|
|
|
2010-11-15 20:26:22 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2017-03-10 17:07:46 -05:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2022-02-26 18:38:41 -05:00
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-05-01 08:00:56 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-05-01 08:00:56 -04:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-22 09:11:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
|
|
|
|
|
2010-11-11 12:53:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2022-02-22 10:39:26 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
2022-02-22 10:39:26 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2022-02-27 12:46:24 -05:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2010-11-20 15:18:22 -05:00
|
|
|
|
2023-05-03 19:24:11 +02:00
|
|
|
|
2022-02-27 12:46:24 -05:00
|
|
|
|
|
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
|
|
|
|
|
2010-11-20 15:18:22 -05:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2010-11-20 15:18:22 -05:00
|
|
|
|
2024-08-14 12:01:28 +02:00
|
|
|
|
|
|
|
|
|
2022-02-27 12:46:24 -05:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2010-11-20 14:26:44 -05:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-04 08:32:19 -05:00
|
|
|
|
|
|
|
|
|
2010-12-07 12:44:56 -05:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2022-02-27 12:46:24 -05:00
|
|
|
|
2023-05-03 19:24:11 +02:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-30 20:00:07 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-30 20:00:07 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-22 09:11:44 -04:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-03-21 22:27:13 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-03-21 22:27:13 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-03-21 22:27:13 -04:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-03-21 22:27:13 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2023-05-09 10:22:13 -07:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2020-11-01 13:45:55 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 13:14:10 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 13:14:10 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-06 10:16:19 -07:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 13:14:10 -05:00
|
|
|
|
|
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
2022-03-22 09:11:44 -04:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
|
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-07 16:02:21 +02:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-04 08:32:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2020-11-04 08:32:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2010-12-07 12:44:56 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2020-11-04 08:32:19 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2010-11-15 20:26:22 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2017-10-07 16:02:21 +02:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2010-12-07 12:44:56 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fs/nfs: Replace kmap_atomic() with kmap_local_page() in dir.c
kmap_atomic() is deprecated in favor of kmap_local_page().
With kmap_local_page() the mappings are per thread, CPU local, can take
page-faults, and can be called from any context (including interrupts).
Furthermore, the tasks can be preempted and, when they are scheduled to
run again, the kernel virtual addresses are restored and still valid.
kmap_atomic() is implemented like a kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels,
otherwise it only disables migration).
The code within the mappings/un-mappings in the functions of dir.c don't
depend on the above-mentioned side effects of kmap_atomic(), so that mere
replacements of the old API with the new one is all that is required
(i.e., there is no need to explicitly add calls to pagefault_disable()
and/or preempt_disable()).
Therefore, replace kmap_atomic() with kmap_local_page() in fs/nfs/dir.c.
Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-01-27 22:54:52 +01:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 15:24:41 -05:00
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-11-02 17:34:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2020-11-02 17:34:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-14 19:16:07 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-14 19:16:07 -04:00
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2020-11-02 17:34:23 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-02 17:34:23 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-16 09:35:27 +10:00
|
|
|
|
2008-10-14 19:16:07 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2010-12-14 14:58:11 +00:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
2010-12-14 14:58:11 +00:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
2010-12-14 14:58:11 +00:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-02-23 18:51:32 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-17 16:48:27 -04:00
|
|
|
|
2015-02-23 18:51:32 -05:00
|
|
|
|
|
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
|
|
|
|
|
2015-02-23 18:51:32 -05:00
|
|
|
|
2016-06-17 16:48:27 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-22 13:38:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-01 17:37:59 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
2012-05-01 17:37:59 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2016-11-19 11:21:54 -05:00
|
|
|
|
2012-05-01 17:37:59 -04:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2012-05-01 17:37:59 -04:00
|
|
|
|
2016-11-19 11:21:54 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2016-11-19 11:21:54 -05:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-01 17:37:59 -04:00
|
|
|
|
|
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
2016-11-19 11:21:54 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2016-11-19 11:21:54 -05:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-07 17:02:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-19 10:06:05 -05:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2022-02-19 09:56:45 -05:00
|
|
|
|
|
|
|
|
|
2022-02-19 10:06:05 -05:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2012-05-10 13:14:12 -07:00
|
|
|
|
2016-04-28 19:52:56 -04:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2013-05-22 12:50:44 -04:00
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2015-02-23 18:51:32 -05:00
|
|
|
|
|
|
|
|
|
2015-02-22 16:35:36 -05:00
|
|
|
|
|
|
|
|
|
2016-09-20 14:34:24 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-10 07:51:30 -07:00
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2010-10-23 14:53:23 -04:00
|
|
|
|
2016-04-28 19:52:56 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-02-22 16:35:36 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2016-09-22 13:38:52 -04:00
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2013-05-22 12:50:44 -04:00
|
|
|
|
2021-10-22 13:11:12 -04:00
|
|
|
|
2022-02-19 19:19:35 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
|
|
|
|
|
2022-02-19 19:19:35 -05:00
|
|
|
|
|
|
|
|
|
2014-02-13 09:46:25 -08:00
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2016-04-28 19:52:56 -04:00
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
|
|
|
|
|
2016-09-22 13:38:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
2021-10-22 13:11:11 -04:00
|
|
|
|
2014-10-12 22:24:21 -04:00
|
|
|
|
2016-04-28 19:52:56 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2022-02-19 19:19:35 -05:00
|
|
|
|
2010-09-24 18:50:01 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-24 11:48:35 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-01 13:14:10 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2010-10-20 15:44:29 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2011-05-19 14:16:47 -04:00
|
|
|
|
2022-02-27 12:46:24 -05:00
|
|
|
|
2010-11-20 12:43:45 -05:00
|
|
|
|
2010-10-20 15:44:29 -04:00
|
|
|
|
2011-01-08 17:45:38 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-20 15:44:29 -04:00
|
|
|
|
2011-05-19 14:16:47 -04:00
|
|
|
|
2020-11-11 15:52:47 -05:00
|
|
|
|
2010-10-21 16:33:16 -04:00
|
|
|
|
|
|
|
|
|
2022-02-24 11:48:35 -05:00
|
|
|
|
2020-11-01 17:15:43 -05:00
|
|
|
|
2010-10-21 16:33:16 -04:00
|
|
|
|
2010-11-20 12:43:45 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:14:10 -05:00
|
|
|
|
|
|
|
|
|
2010-10-21 16:33:16 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 17:15:43 -05:00
|
|
|
|
2010-10-21 16:33:16 -04:00
|
|
|
|
2020-11-01 17:15:43 -05:00
|
|
|
|
|
|
|
|
|
2022-02-24 11:48:35 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-24 11:48:35 -05:00
|
|
|
|
2020-11-01 17:15:43 -05:00
|
|
|
|
2017-05-03 20:52:21 +02:00
|
|
|
|
2020-11-01 17:15:43 -05:00
|
|
|
|
2022-02-24 11:48:35 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2011-01-08 17:45:38 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-01 13:14:10 -05:00
|
|
|
|
2011-01-08 17:45:38 -05:00
|
|
|
|
2010-11-15 20:26:22 -05:00
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-02-16 08:38:40 +08:00
|
|
|
|
|
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
|
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
2010-10-20 15:44:37 -04:00
|
|
|
|
|
|
|
|
|
2015-07-13 14:01:25 -04:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
2022-02-07 15:07:01 -05:00
|
|
|
|
2010-11-15 20:26:22 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
2021-10-22 13:11:01 -04:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 14:26:47 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:01 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2022-02-07 15:07:01 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-16 10:25:14 +00:00
|
|
|
|
2022-02-07 15:07:01 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2022-02-07 15:07:01 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-07 15:07:01 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-02-07 15:07:01 -05:00
|
|
|
|
2015-07-13 14:01:25 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-02-02 17:53:54 -05:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2020-01-22 20:45:39 -05:00
|
|
|
|
|
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-19 19:24:38 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2020-11-02 20:11:32 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-19 19:24:38 -05:00
|
|
|
|
2020-11-02 20:11:32 -05:00
|
|
|
|
|
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2022-02-19 19:09:21 -05:00
|
|
|
|
|
|
|
|
|
2020-11-02 20:11:32 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-22 20:45:39 -05:00
|
|
|
|
2021-03-17 08:46:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-22 16:23:12 -05:00
|
|
|
|
|
|
|
|
|
2021-03-17 08:46:19 -04:00
|
|
|
|
|
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2022-02-22 16:23:12 -05:00
|
|
|
|
2022-02-19 19:09:21 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2022-02-22 16:23:12 -05:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2020-02-02 17:53:54 -05:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2021-09-28 14:33:44 -04:00
|
|
|
|
2020-11-01 12:34:43 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-11-15 20:26:22 -05:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2010-12-07 12:44:56 -05:00
|
|
|
|
2020-02-02 17:53:54 -05:00
|
|
|
|
2010-12-07 12:44:56 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-20 13:00:21 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-16 07:57:40 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-11-01 18:20:03 -05:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
2022-09-20 13:00:21 -04:00
|
|
|
|
2011-03-23 15:04:31 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2010-11-20 13:55:33 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
nfs: fix redundant readdir request after get eof
When a directory contains 17 files (except . and ..), nfs client sends
a redundant readdir request after get eof.
A simple reproduce,
At NFS server, create a directory with 17 files under exported directory.
# mkdir test
# cd test
# for i in {0..16} ; do touch $i; done
At NFS client, no matter mounting through nfsv3 or nfsv4,
does ls (or ll) at the created test directory.
A tshark output likes following (for nfsv4),
# tshark -i eth0 tcp port 2049 -Tfields -e ip.src -e ip.dst -e nfs -e nfs.cookie4
srcip dstip SEQUENCE, PUTFH, READDIR 0
dstip srcip SEQUENCE PUTFH READDIR 909539109313539306,2108391201987888856,2305312124304486544,2566335452463141496,2978225129081509984,4263037479923412583,4304697173036510679,4666703455469210097,4759208201298769007,4776701232145978803,5338408478512081262,5949498658935544804,5971526429894832903,6294060338267709855,6528840566229532529,8600463293536422524,9223372036854775807
srcip dstip
srcip dstip SEQUENCE, PUTFH, READDIR 9223372036854775807
dstip srcip SEQUENCE PUTFH READDIR
The READDIR with cookie 9223372036854775807(0x7FFFFFFFFFFFFFFF) is redundant.
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2023-07-21 09:23:00 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-11-20 13:55:33 -05:00
|
|
|
|
2020-11-01 19:17:29 -05:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-11-20 13:55:33 -05:00
|
|
|
|
2021-03-16 07:57:40 -04:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2022-02-26 09:38:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-06-28 20:24:26 +02:00
|
|
|
|
2020-11-01 18:20:03 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-03 07:42:04 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-01-18 19:52:16 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2010-11-20 13:24:46 -05:00
|
|
|
|
2022-02-19 19:24:38 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2022-02-19 19:24:38 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-24 14:48:42 -04:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2021-03-16 07:57:40 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
|
|
|
|
|
2022-02-19 19:24:38 -05:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2023-04-04 15:12:52 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2020-11-06 20:38:47 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-03-26 16:14:39 -04:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2021-03-16 07:57:40 -04:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2006-03-20 13:44:14 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-02-22 08:31:28 -05:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-26 17:37:47 -05:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2008-01-26 17:37:47 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
|
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-22 08:59:33 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2008-01-26 17:37:47 -05:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 11:08:24 -05:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 14:33:44 -04:00
|
|
|
|
2010-12-07 12:44:56 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-11-20 13:55:33 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-05-17 16:34:50 -04:00
|
|
|
|
2010-11-20 13:55:33 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-11-02 20:11:32 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-20 08:33:44 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-16 07:57:40 -04:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
|
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-22 08:59:33 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2023-04-04 12:05:22 -04:00
|
|
|
|
2022-02-23 13:29:59 -05:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2022-02-07 13:37:00 -05:00
|
|
|
|
2020-11-02 20:06:12 -05:00
|
|
|
|
2020-11-01 09:56:18 -05:00
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2020-11-02 08:55:03 -05:00
|
|
|
|
|
|
|
|
|
2008-01-26 17:37:47 -05:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2006-03-20 13:44:24 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-12-17 15:59:39 -08:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2011-03-23 14:48:29 -04:00
|
|
|
|
2008-06-11 17:55:34 -04:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2008-06-11 17:55:34 -04:00
|
|
|
|
2012-12-17 15:59:39 -08:00
|
|
|
|
2018-06-27 16:25:40 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-30 17:57:29 -04:00
|
|
|
|
2018-06-27 16:25:40 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-30 17:57:29 -04:00
|
|
|
|
2018-06-27 16:25:40 -04:00
|
|
|
|
|
|
|
|
|
2020-10-30 17:57:29 -04:00
|
|
|
|
2018-06-27 16:25:40 -04:00
|
|
|
|
|
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 13:02:37 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
2020-02-03 14:49:33 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
2022-02-22 08:59:33 -05:00
|
|
|
|
2022-02-23 11:31:51 -05:00
|
|
|
|
|
|
|
|
|
2022-01-18 22:10:52 -05:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
2020-10-30 17:57:29 -04:00
|
|
|
|
2005-06-22 17:16:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-07-16 20:44:56 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2006-03-20 13:44:24 -05:00
|
|
|
|
2020-10-30 17:57:30 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-15 18:18:29 -04:00
|
|
|
|
|
|
|
|
|
2019-02-18 13:32:38 -05:00
|
|
|
|
2007-10-15 18:18:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-15 18:18:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
2007-10-15 18:18:29 -04:00
|
|
|
|
2012-07-30 16:05:25 -04:00
|
|
|
|
2007-10-15 18:18:29 -04:00
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-09-27 21:50:25 -04:00
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
2023-09-27 21:50:25 -04:00
|
|
|
|
2021-09-29 08:12:53 -04:00
|
|
|
|
2024-06-16 21:21:24 -04:00
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:56 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-15 17:58:13 -04:00
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:56 -05:00
|
|
|
|
2007-10-02 12:54:39 -04:00
|
|
|
|
|
|
|
|
|
2016-12-04 18:34:34 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:56 -05:00
|
|
|
|
2007-10-02 12:54:39 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-10-02 19:13:04 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-10 15:36:40 -04:00
|
|
|
|
2007-10-02 19:13:04 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-10 15:36:40 -04:00
|
|
|
|
2007-10-02 19:13:04 -04:00
|
|
|
|
|
|
|
|
|
2005-06-07 18:37:01 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-14 17:51:40 -05:00
|
|
|
|
2012-06-10 15:36:40 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-12-14 17:51:40 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2011-01-14 18:45:42 +00:00
|
|
|
|
2008-03-06 12:34:59 -05:00
|
|
|
|
2018-05-10 10:08:36 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-08-23 17:36:59 -05:00
|
|
|
|
2018-05-10 10:08:36 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-10 15:33:51 -04:00
|
|
|
|
2012-06-10 15:36:40 -04:00
|
|
|
|
2012-06-10 15:33:51 -04:00
|
|
|
|
2012-12-14 17:51:40 -05:00
|
|
|
|
2022-02-02 17:55:02 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
2012-12-14 17:51:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 11:24:57 -04:00
|
|
|
|
2021-03-08 14:42:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-10 10:34:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-10 15:36:40 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-10 10:34:21 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-07-15 17:58:13 -04:00
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-19 20:38:19 -05:00
|
|
|
|
2024-05-23 15:01:22 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-19 20:38:19 -05:00
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2022-02-19 20:38:19 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-08 01:27:11 -05:00
|
|
|
|
2022-02-19 10:06:05 -05:00
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
2022-02-19 10:06:05 -05:00
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:04 -04:00
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2024-12-08 01:27:11 -05:00
|
|
|
|
2024-05-23 15:01:22 -04:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2022-02-19 10:06:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:12 -04:00
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:56 -05:00
|
|
|
|
2021-03-08 14:42:51 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2024-05-23 15:01:22 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-03-20 13:44:14 -05:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-06-27 16:04:02 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2008-12-23 15:21:54 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-10 10:13:09 -04:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2017-07-05 12:22:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:51 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-08 01:27:11 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-23 15:01:22 -04:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
2018-09-28 09:04:05 -04:00
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
Pass parent directory inode and expected name to ->d_revalidate()
->d_revalidate() often needs to access dentry parent and name; that has
to be done carefully, since the locking environment varies from caller
to caller. We are not guaranteed that dentry in question will not be
moved right under us - not unless the filesystem is such that nothing
on it ever gets renamed.
It can be dealt with, but that results in boilerplate code that isn't
even needed - the callers normally have just found the dentry via dcache
lookup and want to verify that it's in the right place; they already
have the values of ->d_parent and ->d_name stable. There is a couple
of exceptions (overlayfs and, to less extent, ecryptfs), but for the
majority of calls that song and dance is not needed at all.
It's easier to make ecryptfs and overlayfs find and pass those values if
there's a ->d_revalidate() instance to be called, rather than doing that
in the instances.
This commit only changes the calling conventions; making use of supplied
values is left to followups.
NOTE: some instances need more than just the parent - things like CIFS
may need to build an entire path from filesystem root, so they need
more precautions than the usual boilerplate. This series doesn't
do anything to that need - these filesystems have to keep their locking
mechanisms (rename_lock loops, use of dentry_path_raw(), private rwsem
a-la v9fs).
One thing to keep in mind when using name is that name->name will normally
point into the pathname being resolved; the filename in question occupies
name->len bytes starting at name->name, and there is NUL somewhere after it,
but it the next byte might very well be '/' rather than '\0'. Do not
ignore name->len.
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Gabriel Krisman Bertazi <gabriel@krisman.be>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2024-12-08 00:28:51 -05:00
|
|
|
|
|
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
|
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2016-12-16 18:04:47 -05:00
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-25 17:34:41 +10:00
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-07 17:49:23 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:43:19 -05:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2008-01-28 19:43:19 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-27 13:05:09 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-14 16:38:46 -05:00
|
|
|
|
2008-06-11 15:44:04 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-14 16:38:46 -05:00
|
|
|
|
2018-04-08 18:11:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:54 -05:00
|
|
|
|
|
|
|
|
|
2021-04-01 14:57:56 -04:00
|
|
|
|
2008-06-11 15:44:04 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-14 15:39:58 -04:00
|
|
|
|
2012-12-14 16:38:46 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-16 05:44:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-20 05:51:22 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-02-20 11:19:05 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2011-01-14 18:45:42 +00:00
|
|
|
|
2011-03-16 05:44:14 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-16 16:39:10 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-04-16 16:22:47 -04:00
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2006-03-20 13:44:14 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-03-07 22:40:43 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-09-05 12:27:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-10 10:34:21 -04:00
|
|
|
|
2016-03-07 22:40:43 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-04-16 16:22:47 -04:00
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:04 -04:00
|
|
|
|
2010-04-16 16:22:47 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2013-08-20 11:26:17 -04:00
|
|
|
|
2024-12-08 01:27:11 -05:00
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:56 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-12-17 15:36:56 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-10-22 13:11:11 -04:00
|
|
|
|
2010-12-28 17:02:46 +00:00
|
|
|
|
2006-03-20 13:44:48 -05:00
|
|
|
|
2021-10-22 13:11:04 -04:00
|
|
|
|
NFS: Share NFS superblocks per-protocol per-server per-FSID
The attached patch makes NFS share superblocks between mounts from the same
server and FSID over the same protocol.
It does this by creating each superblock with a false root and returning the
real root dentry in the vfsmount presented by get_sb(). The root dentry set
starts off as an anonymous dentry if we don't already have the dentry for its
inode, otherwise it simply returns the dentry we already have.
We may thus end up with several trees of dentries in the superblock, and if at
some later point one of anonymous tree roots is discovered by normal filesystem
activity to be located in another tree within the superblock, the anonymous
root is named and materialises attached to the second tree at the appropriate
point.
Why do it this way? Why not pass an extra argument to the mount() syscall to
indicate the subpath and then pathwalk from the server root to the desired
directory? You can't guarantee this will work for two reasons:
(1) The root and intervening nodes may not be accessible to the client.
With NFS2 and NFS3, for instance, mountd is called on the server to get
the filehandle for the tip of a path. mountd won't give us handles for
anything we don't have permission to access, and so we can't set up NFS
inodes for such nodes, and so can't easily set up dentries (we'd have to
have ghost inodes or something).
With this patch we don't actually create dentries until we get handles
from the server that we can use to set up their inodes, and we don't
actually bind them into the tree until we know for sure where they go.
(2) Inaccessible symbolic links.
If we're asked to mount two exports from the server, eg:
mount warthog:/warthog/aaa/xxx /mmm
mount warthog:/warthog/bbb/yyy /nnn
We may not be able to access anything nearer the root than xxx and yyy,
but we may find out later that /mmm/www/yyy, say, is actually the same
directory as the one mounted on /nnn. What we might then find out, for
example, is that /warthog/bbb was actually a symbolic link to
/warthog/aaa/xxx/www, but we can't actually determine that by talking to
the server until /warthog is made available by NFS.
This would lead to having constructed an errneous dentry tree which we
can't easily fix. We can end up with a dentry marked as a directory when
it should actually be a symlink, or we could end up with an apparently
hardlinked directory.
With this patch we need not make assumptions about the type of a dentry
for which we can't retrieve information, nor need we assume we know its
place in the grand scheme of things until we actually see that place.
This patch reduces the possibility of aliasing in the inode and page caches for
inodes that may be accessed by more than one NFS export. It also reduces the
number of superblocks required for NFS where there are many NFS exports being
used from a server (home directory server + autofs for example).
This in turn makes it simpler to do local caching of network filesystems, as it
can then be guaranteed that there won't be links from multiple inodes in
separate superblocks to the same cache file.
Obviously, cache aliasing between different levels of NFS protocol could still
be a problem, but at least that gives us another key to use when indexing the
cache.
This patch makes the following changes:
(1) The server record construction/destruction has been abstracted out into
its own set of functions to make things easier to get right. These have
been moved into fs/nfs/client.c.
All the code in fs/nfs/client.c has to do with the management of
connections to servers, and doesn't touch superblocks in any way; the
remaining code in fs/nfs/super.c has to do with VFS superblock management.
(2) The sequence of events undertaken by NFS mount is now reordered:
(a) A volume representation (struct nfs_server) is allocated.
(b) A server representation (struct nfs_client) is acquired. This may be
allocated or shared, and is keyed on server address, port and NFS
version.
(c) If allocated, the client representation is initialised. The state
member variable of nfs_client is used to prevent a race during
initialisation from two mounts.
(d) For NFS4 a simple pathwalk is performed, walking from FH to FH to find
the root filehandle for the mount (fs/nfs/getroot.c). For NFS2/3 we
are given the root FH in advance.
(e) The volume FSID is probed for on the root FH.
(f) The volume representation is initialised from the FSINFO record
retrieved on the root FH.
(g) sget() is called to acquire a superblock. This may be allocated or
shared, keyed on client pointer and FSID.
(h) If allocated, the superblock is initialised.
(i) If the superblock is shared, then the new nfs_server record is
discarded.
(j) The root dentry for this mount is looked up from the root FH.
(k) The root dentry for this mount is assigned to the vfsmount.
(3) nfs_readdir_lookup() creates dentries for each of the entries readdir()
returns; this function now attaches disconnected trees from alternate
roots that happen to be discovered attached to a directory being read (in
the same way nfs_lookup() is made to do for lookup ops).
The new d_materialise_unique() function is now used to do this, thus
permitting the whole thing to be done under one set of locks, and thus
avoiding any race between mount and lookup operations on the same
directory.
(4) The client management code uses a new debug facility: NFSDBG_CLIENT which
is set by echoing 1024 to /proc/net/sunrpc/nfs_debug.
(5) Clone mounts are now called xdev mounts.
(6) Use the dentry passed to the statfs() op as the handle for retrieving fs
statistics rather than the root dentry of the superblock (which is now a
dummy).
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2006-08-22 20:06:13 -04:00
|
|
|
|
2016-11-19 11:21:54 -05:00
|
|
|
|
2022-02-19 10:06:05 -05:00
|
|
|
|
2012-05-01 17:37:59 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-10-12 22:24:21 -04:00
|
|
|
|
2006-10-21 10:24:20 -07:00
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-10-21 10:24:20 -07:00
|
|
|
|
2020-02-05 09:01:52 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-10-22 13:11:04 -04:00
|
|
|
|
2010-04-16 16:22:47 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-12-17 15:36:57 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:25 -04:00
|
|
|
|
Pass parent directory inode and expected name to ->d_revalidate()
->d_revalidate() often needs to access dentry parent and name; that has
to be done carefully, since the locking environment varies from caller
to caller. We are not guaranteed that dentry in question will not be
moved right under us - not unless the filesystem is such that nothing
on it ever gets renamed.
It can be dealt with, but that results in boilerplate code that isn't
even needed - the callers normally have just found the dentry via dcache
lookup and want to verify that it's in the right place; they already
have the values of ->d_parent and ->d_name stable. There is a couple
of exceptions (overlayfs and, to less extent, ecryptfs), but for the
majority of calls that song and dance is not needed at all.
It's easier to make ecryptfs and overlayfs find and pass those values if
there's a ->d_revalidate() instance to be called, rather than doing that
in the instances.
This commit only changes the calling conventions; making use of supplied
values is left to followups.
NOTE: some instances need more than just the parent - things like CIFS
may need to build an entire path from filesystem root, so they need
more precautions than the usual boilerplate. This series doesn't
do anything to that need - these filesystems have to keep their locking
mechanisms (rename_lock loops, use of dentry_path_raw(), private rwsem
a-la v9fs).
One thing to keep in mind when using name is that name->name will normally
point into the pathname being resolved; the filename in question occupies
name->len bytes starting at name->name, and there is NUL somewhere after it,
but it the next byte might very well be '/' rather than '\0'. Do not
ignore name->len.
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Gabriel Krisman Bertazi <gabriel@krisman.be>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2024-12-08 00:28:51 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-02-20 05:51:22 +00:00
|
|
|
|
2012-05-21 17:30:20 +02:00
|
|
|
|
2017-08-25 17:34:41 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2011-01-14 18:45:42 +00:00
|
|
|
|
2011-03-16 05:44:14 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-30 16:05:25 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-10-13 15:26:47 +11:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2016-10-13 15:26:47 +11:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-27 11:20:03 +01:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
|
|
|
|
|
2018-06-08 13:06:28 -04:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
2018-06-08 11:44:56 -04:00
|
|
|
|
2012-06-22 12:40:19 +04:00
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2022-08-20 11:47:03 -04:00
|
|
|
|
2017-07-03 15:27:26 +10:00
|
|
|
|
|
|
|
|
|
2019-08-09 12:15:07 -04:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
|
|
|
|
|
2012-07-16 16:39:12 -04:00
|
|
|
|
|
|
|
|
|
2018-06-08 13:32:02 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-07-05 09:49:21 -04:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2013-08-20 11:59:41 -04:00
|
|
|
|
2021-12-17 15:36:58 -05:00
|
|
|
|
2016-07-05 09:49:21 -04:00
|
|
|
|
2018-06-08 13:22:02 -04:00
|
|
|
|
2010-10-23 11:24:25 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2006-03-20 13:44:24 -05:00
|
|
|
|
2013-08-02 11:39:32 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
2016-07-05 09:44:53 -04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2013-08-20 11:59:41 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2016-12-02 22:53:30 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-17 22:04:26 -05:00
|
|
|
|
2016-12-02 22:53:30 -05:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2012-01-17 22:04:26 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
|
|
|
|
|
2016-07-05 09:49:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-10-13 15:26:47 +11:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2013-08-20 11:26:17 -04:00
|
|
|
|
2018-06-08 13:22:02 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2013-08-20 11:26:17 -04:00
|
|
|
|
2013-08-30 09:17:33 -04:00
|
|
|
|
2016-06-20 13:14:36 -04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
2017-06-29 06:34:50 -07:00
|
|
|
|
2021-12-17 15:36:58 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-18 14:20:18 -07:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2010-09-17 10:56:50 -04:00
|
|
|
|
2022-06-09 20:46:29 -04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2018-06-08 13:06:28 -04:00
|
|
|
|
2013-08-20 11:26:17 -04:00
|
|
|
|
2013-08-30 09:17:33 -04:00
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2016-07-05 09:49:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-22 12:39:14 +04:00
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-20 11:59:41 -04:00
|
|
|
|
2022-01-06 18:24:02 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-08 13:38:23 -05:00
|
|
|
|
2022-01-06 18:24:02 -05:00
|
|
|
|
2022-01-06 18:24:03 -05:00
|
|
|
|
|
|
|
|
|
2022-01-06 18:24:02 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-08 13:38:23 -05:00
|
|
|
|
2022-01-06 18:24:02 -05:00
|
|
|
|
|
|
|
|
|
2022-01-06 18:24:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-06 18:24:02 -05:00
|
|
|
|
|
|
|
|
|
2016-07-05 09:49:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-05 15:10:18 +02:00
|
|
|
|
2016-07-05 09:49:21 -04:00
|
|
|
|
2012-06-10 06:48:09 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-30 16:05:25 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2011-01-14 02:48:39 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-03 06:10:49 -04:00
|
|
|
|
|
|
|
|
|
2012-06-10 15:36:40 -04:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
2012-06-05 15:10:21 +02:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
2010-09-17 10:56:51 -04:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2010-09-17 10:56:51 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
|
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2020-02-05 09:01:54 -05:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
2007-10-01 20:10:12 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-05-21 17:30:20 +02:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-08 01:27:11 -05:00
|
|
|
|
2012-01-17 22:04:26 -05:00
|
|
|
|
2018-09-28 12:42:51 -04:00
|
|
|
|
2025-01-03 01:28:29 -05:00
|
|
|
|
2010-09-17 10:56:51 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-29 09:11:36 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-09-13 08:29:02 -04:00
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:10 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-09-29 17:41:33 -04:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-16 10:55:01 -04:00
|
|
|
|
2019-09-13 08:29:02 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-09-29 17:41:33 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-12-08 01:27:11 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-09-29 17:41:33 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-10-01 21:51:38 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-04-07 13:50:59 -04:00
|
|
|
|
2021-10-22 13:11:07 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-09-29 17:41:33 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-10-22 13:11:11 -04:00
|
|
|
|
2018-05-16 10:55:01 -04:00
|
|
|
|
2007-09-29 17:41:33 -04:00
|
|
|
|
|
|
|
|
|
2019-09-13 08:29:02 -04:00
|
|
|
|
2007-09-29 17:41:33 -04:00
|
|
|
|
2019-09-13 08:29:02 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:09 -04:00
|
|
|
|
2019-09-13 08:29:02 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-10-22 13:11:10 -04:00
|
|
|
|
2019-09-13 08:29:02 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 10:53:09 -04:00
|
|
|
|
2012-06-05 15:10:19 +02:00
|
|
|
|
2013-08-21 10:53:09 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-25 16:36:05 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-16 16:39:10 -04:00
|
|
|
|
2023-01-13 12:49:16 +01:00
|
|
|
|
2021-01-21 14:19:43 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-13 12:49:15 +01:00
|
|
|
|
2021-01-21 14:19:43 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:43:18 -05:00
|
|
|
|
|
|
|
|
|
2015-05-18 10:10:34 -04:00
|
|
|
|
2008-01-28 19:43:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-07-07 21:43:09 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-19 09:55:59 +10:00
|
|
|
|
|
|
|
|
|
2021-12-17 15:36:57 -05:00
|
|
|
|
|
|
|
|
|
2021-07-07 21:43:09 -04:00
|
|
|
|
2021-12-17 15:36:57 -05:00
|
|
|
|
2021-07-07 21:43:09 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-16 16:39:10 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2016-04-28 23:56:31 -04:00
|
|
|
|
2013-08-30 12:24:25 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2013-08-30 12:24:25 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-28 23:56:31 -04:00
|
|
|
|
2013-08-30 12:24:25 -04:00
|
|
|
|
|
|
|
|
|
2021-07-07 21:43:09 -04:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-03-20 16:43:15 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-06-11 15:44:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-03-20 16:43:15 -04:00
|
|
|
|
2008-01-28 19:43:18 -05:00
|
|
|
|
|
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-16 16:39:10 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-02-02 17:55:02 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-01-13 02:28:12 -05:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-12 09:14:40 +08:00
|
|
|
|
|
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2022-08-12 09:14:40 +08:00
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-07-07 21:43:09 -04:00
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-13 12:49:14 +01:00
|
|
|
|
2021-01-21 14:19:43 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
|
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
2013-08-21 12:36:04 -04:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-07-07 22:08:32 -04:00
|
|
|
|
|
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2023-09-15 18:33:33 +01:00
|
|
|
|
2006-08-22 20:06:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-16 16:39:10 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 13:54:44 -04:00
|
|
|
|
2007-10-02 21:58:05 -04:00
|
|
|
|
2021-12-15 16:38:15 -05:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-10-27 22:12:42 -04:00
|
|
|
|
2021-07-07 22:08:32 -04:00
|
|
|
|
2010-10-23 11:11:40 -04:00
|
|
|
|
2007-10-02 21:58:05 -04:00
|
|
|
|
2005-10-27 22:12:42 -04:00
|
|
|
|
2013-08-21 13:54:44 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-13 12:49:17 +01:00
|
|
|
|
2021-01-21 14:19:43 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-03-17 22:25:59 +00:00
|
|
|
|
|
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2014-03-17 07:06:56 -04:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
fs: make remaining filesystems use .rename2
This is trivial to do:
- add flags argument to foo_rename()
- check if flags is zero
- assign foo_rename() to .rename2 instead of .rename
This doesn't mean it's impossible to support RENAME_NOREPLACE for these
filesystems, but it is not trivial, like for local filesystems.
RENAME_NOREPLACE must guarantee atomicity (i.e. it shouldn't be possible
for a file to be created on one host while it is overwritten by rename on
another host).
Filesystems converted:
9p, afs, ceph, coda, ecryptfs, kernfs, lustre, ncpfs, nfs, ocfs2, orangefs.
After this, we can get rid of the duplicate interfaces for rename.
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: David Howells <dhowells@redhat.com> [AFS]
Acked-by: Mike Marshall <hubcap@omnibond.com>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Cc: Ilya Dryomov <idryomov@gmail.com>
Cc: Jan Harkes <jaharkes@cs.cmu.edu>
Cc: Tyler Hicks <tyhicks@canonical.com>
Cc: Oleg Drokin <oleg.drokin@intel.com>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Mark Fasheh <mfasheh@suse.com>
2016-09-27 11:03:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-16 10:53:17 -04:00
|
|
|
|
|
|
|
|
|
2013-07-05 18:59:33 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:08:45 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2013-07-05 18:59:33 +04:00
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
|
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
2009-12-03 15:58:56 -05:00
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
2009-03-19 15:35:49 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-12-15 16:38:16 -05:00
|
|
|
|
|
|
|
|
|
2022-08-01 10:33:34 +10:00
|
|
|
|
|
|
|
|
|
2014-03-17 07:06:56 -04:00
|
|
|
|
2024-05-28 13:27:17 +10:00
|
|
|
|
|
|
|
|
|
2014-03-17 07:06:56 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-16 11:13:00 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-17 07:06:56 -04:00
|
|
|
|
|
|
|
|
|
2018-04-08 18:11:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-08 14:42:54 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-04-08 18:11:18 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-21 12:08:45 -04:00
|
|
|
|
|
|
|
|
|
2017-06-16 11:12:59 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-06 15:28:04 -05:00
|
|
|
|
2017-06-16 11:12:59 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-08 09:14:11 -05:00
|
|
|
|
2014-07-21 13:53:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2014-03-17 18:06:10 +01:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2014-03-17 18:06:10 +01:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-21 13:53:48 -04:00
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
|
|
|
|
|
2010-09-29 15:11:56 -04:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
2013-08-28 10:18:09 +10:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
2007-06-05 19:23:43 -04:00
|
|
|
|
2010-09-29 15:11:56 -04:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-28 10:18:09 +10:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-03-17 18:06:10 +01:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
2014-03-17 18:06:10 +01:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
2010-05-26 08:42:24 -04:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
2013-08-28 10:18:09 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-21 13:53:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-28 10:18:09 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-28 10:17:53 +10:00
|
|
|
|
2006-07-25 11:28:19 -04:00
|
|
|
|
|
|
|
|
|
2014-07-21 13:53:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2012-07-30 16:05:24 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-26 19:44:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-01 20:17:23 -05:00
|
|
|
|
2022-08-26 19:44:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-05 09:10:54 -05:00
|
|
|
|
2023-01-01 20:17:23 -05:00
|
|
|
|
2022-08-26 19:44:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-08-18 11:24:09 -07:00
|
|
|
|
2022-08-26 19:44:44 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2016-06-03 17:07:19 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2016-06-03 17:07:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-12-16 18:40:03 -05:00
|
|
|
|
2016-06-03 17:07:19 -04:00
|
|
|
|
2020-01-06 15:39:36 -05:00
|
|
|
|
|
|
|
|
|
2016-06-03 17:07:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-26 19:44:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-30 11:04:32 +08:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-12-10 11:16:39 +05:30
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-30 11:04:32 +08:00
|
|
|
|
|
|
|
|
|
2016-12-16 18:40:03 -05:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2016-12-16 18:40:03 -05:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
|
|
|
|
|
2020-06-23 22:38:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2020-06-23 22:38:57 +00:00
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2020-06-23 22:38:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-03-08 16:03:27 +08:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2014-03-17 18:06:10 +01:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2014-03-17 18:06:10 +01:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
2010-05-13 12:51:06 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 11:28:18 -04:00
|
|
|
|
|
|
|
|
|
2014-07-21 13:53:48 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-09-10 14:00:46 -04:00
|
|
|
|
|
|
|
|
|
2017-07-26 10:14:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-11 17:54:35 -04:00
|
|
|
|
2017-07-26 10:14:55 -04:00
|
|
|
|
|
|
|
|
|
2017-07-11 17:54:32 -04:00
|
|
|
|
2017-07-11 17:54:35 -04:00
|
|
|
|
2017-07-11 17:54:32 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-11 17:54:35 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-11 17:54:32 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-10 14:00:46 -04:00
|
|
|
|
|
|
|
|
|
2017-07-11 17:54:34 -04:00
|
|
|
|
2012-09-10 14:00:46 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2016-06-03 17:07:19 -04:00
|
|
|
|
2020-01-06 15:25:12 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
2016-06-03 17:07:19 -04:00
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
2017-07-26 12:00:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-23 15:43:26 -05:00
|
|
|
|
|
|
|
|
|
2017-07-26 12:00:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2009-03-10 20:33:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-06 13:39:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-10 20:33:21 -04:00
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
2009-03-10 20:33:21 -04:00
|
|
|
|
2021-09-28 09:47:57 +10:00
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
2017-07-11 17:54:35 -04:00
|
|
|
|
2017-07-11 17:54:34 -04:00
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-01-06 15:25:12 -05:00
|
|
|
|
2013-08-19 18:59:33 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-08-10 17:45:10 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-03 16:42:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-10 17:45:10 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2007-08-10 17:45:10 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-30 16:05:25 -04:00
|
|
|
|
2007-08-10 17:45:10 -04:00
|
|
|
|
2015-12-28 19:30:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-12-16 18:40:03 -05:00
|
|
|
|
2015-12-28 19:30:05 -05:00
|
|
|
|
2018-07-24 14:27:11 -04:00
|
|
|
|
|
|
|
|
|
2021-04-13 09:41:16 -04:00
|
|
|
|
2016-12-16 18:40:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-28 19:30:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-01-13 12:49:22 +01:00
|
|
|
|
2021-01-21 14:19:43 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-12-03 11:30:30 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2006-03-20 13:44:14 -05:00
|
|
|
|
|
|
|
|
|
2008-07-15 21:03:57 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-07-23 11:43:51 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-26 21:54:58 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-06 03:45:26 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-12-28 19:30:05 -05:00
|
|
|
|
|
|
|
|
|
2008-07-31 13:41:58 +02:00
|
|
|
|
2013-12-17 18:20:16 +01:00
|
|
|
|
2006-03-20 13:44:24 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-07-14 11:28:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-13 09:41:16 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-01-13 12:49:22 +01:00
|
|
|
|
2006-03-20 13:44:24 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-30 16:05:23 -04:00
|
|
|
|