Commit Graph

472 Commits

Author SHA1 Message Date
Martin Brandenburg
894ac432b4 Orangefs: Clean up error decoding.
Errors from the server need to be decoded. A bunch of code was imported from
the server to do this but much of it is convoluted and not even needed. The
result is better but still as convoluted as required by the protocol.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 12:04:46 -04:00
Martin Brandenburg
353908035f Orangefs: Use readonly mmap since writepage is not implemented.
Previously the code silently failed to update the disk. Now it will not
allow writable and shared mmaps.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:39 -04:00
Mike Marshall
1be21f865a Orangefs: don't use mount_nodev, use sget directly.
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:37 -04:00
Mike Marshall
8c3905adea Orangefs: update signal blocking code before Oleg sees it.
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:36 -04:00
Mike Marshall
50e01586f4 Orangefs: Don't opencode memcpy.
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:35 -04:00
Mike Marshall
f957ae2dec Orangefs: choose return codes from among the expected ones.
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:34 -04:00
Mike Marshall
d6fe654b7b Orangefs: put PVFS_util_min out of its misery.
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:33 -04:00
Mike Marshall
88309aae3d Orangefs: fix dir_emit code in pvfs2_readdir.
Al Viro glanced at readdir and surmised that getdents
would misbehave the way it was written... and sure enough.

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:32 -04:00
Mike Marshall
4d1c44043b Orangefs: use iov_iter interface
replace opencoded pvfs_bufmap_copy_to_kernel_iovec,
pvfs_bufmap_copy_to_user_iovec, pvfs_bufmap_copy_iovec_from_kernel,
and pvfs_bufmap_copy_iovec_from_user with pvfs_bufmap_copy_to_iovec
and pvfs_bufmap_copy_from_iovec, which both use the iov_iter
interface.

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:44:00 -04:00
Guenter Roeck
81b784b11e Orangefs: Swap order of include files
spinlock_types.h requires types from linux/types.h.
Including spinlock_types.h first may result in the following build errors,
as seen with arm:allmodconfig.

arch/arm/include/asm/spinlock_types.h:12:3: error: unknown type name 'u32'
arch/arm/include/asm/spinlock_types.h:16:4: error: unknown type name 'u16'

Fixes: deb4fb58ff73 ("Orangefs: kernel client part 2")
Cc: Mark Brown <broonie@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:08 -04:00
Sasha Levin
cb987f3cbe fs: orangefs: remove execute priviliges from module params
This makes no sense and causes warnings on boot.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:06 -04:00
Mike Marshall
f0566532fe Orangefs: use inode_set_bytes for directories
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:05 -04:00
Mike Marshall
c36316b74e Orangefs: large integer implicitly truncated to unsigned type
make.cross ARCH=tile doesn't like "inode->i_bytes = PAGE_CACHE_SIZE;",
so cast PAGE_CACHE_SIZE to unsigned short.

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:04 -04:00
Mike Marshall
eeaa3d448c Orangefs: address problems found by static checker
Don't check for negative rc from boolean.

  Don't pointlessly initialize variables, it short-circuits
  gcc's uninitialized variable warnings. And max_new_nr_segs
  can never be zero, so don't check for it.

  Preserve original kstrdup pointer for freeing later.

  Don't check for negative value in unsigned variable.

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:03 -04:00
Mike Marshall
84d02150de Orangefs: sooth most sparse complaints
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:02 -04:00
Mike Marshall
2c590d5fb6 Orangefs: kernel client update 1.
Stephen Rothwell noticed that orangefs would not compile
on powerpc...

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:01 -04:00
Mike Marshall
07f01962e3 Orangefs: kernel client part 7
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:40:00 -04:00
Mike Marshall
1182fca3bc Orangefs: kernel client part 5
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:39:57 -04:00
Mike Marshall
f7be4ee07f Orangefs: kernel client part 4
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:39:56 -04:00
Mike Marshall
274dcf55bd Orangefs: kernel client part 3
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:39:55 -04:00
Mike Marshall
5db11c21a9 Orangefs: kernel client part 2
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:39:54 -04:00
Mike Marshall
f7ab093f74 Orangefs: kernel client part 1
OrangeFS (formerly PVFS) is an lgpl licensed userspace networked parallel
file system. OrangeFS can be accessed through included system utilities,
user integration libraries, MPI-IO and can be used by the Hadoop
ecosystem as an alternative to the HDFS filesystem. OrangeFS is used
widely for parallel science, data analytics and engineering applications.

While applications often don't require Orangefs to be mounted into
the VFS, users do like to be able to access their files in the normal way.
The Orangefs kernel client allows Orangefs filesystems to be mounted as
a VFS. The kernel client communicates with a userspace daemon which in
turn communicates with the Orangefs server daemons that implement the
filesystem. The server daemons (there's almost always more than one)
need not be running on the same host as the kernel client.

Orangefs filesystems can also be mounted with FUSE, and we
ship code and instructions to facilitate that, but most of our users
report preferring to use our kernel module instead. Further, as an example
of a problem we can't solve with fuse, we have in the works a
not-yet-ready-for-prime-time version of a file_operations lock function
that accounts for the server daemons being distributed across more
than one running kernel.

Many people and organizations, including Clemson University,
Argonne National Laboratories and Acxiom Corporation have
helped to create what has become Orangefs over more than twenty
years. Some of the more recent contributors to the kernel client
include:

  Mike Marshall
  Christoph Hellwig
  Randy Martin
  Becky Ligon
  Walt Ligon
  Michael Moore
  Rob Ross
  Phil Carnes

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2015-10-03 11:39:53 -04:00