From: Linus Torvalds Date: Sat, 11 Apr 2020 00:50:01 +0000 (-0700) Subject: Merge tag 'for-linus-5.7-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubca... X-Git-Tag: v5.7-rc1~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e4bdcfa21297ab6f4d963edae3abb8ec4eac312;p=thirdparty%2Flinux.git Merge tag 'for-linus-5.7-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux Pull orangefs updates from Mike Marshall: "A fix and two cleanups. Fix: - Christoph Hellwig noticed that some logic I added to orangefs_file_read_iter introduced a race condition, so he sent a reversion patch. I had to modify his patch since reverting at this point broke Orangefs. Cleanups: - Christoph Hellwig noticed that we were doing some unnecessary work in orangefs_flush, so he sent in a patch that removed the un-needed code. - Al Viro told me he had trouble building Orangefs. Orangefs should be easy to build, even for Al :-). I looked back at the test server build notes in orangefs.txt, just in case that's where the trouble really is, and found a couple of typos and made a couple of clarifications" * tag 'for-linus-5.7-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux: orangefs: clarify build steps for test server in orangefs.txt orangefs: don't mess with I_DIRTY_TIMES in orangefs_flush orangefs: get rid of knob code... --- 4e4bdcfa21297ab6f4d963edae3abb8ec4eac312 diff --cc Documentation/filesystems/orangefs.rst index 7d6d4cad73c49,5a3865702a71f..e41369709c5b0 --- a/Documentation/filesystems/orangefs.rst +++ b/Documentation/filesystems/orangefs.rst @@@ -41,17 -38,7 +41,7 @@@ Documentatio http://www.orangefs.org/documentation/ - - Userspace Filesystem Source - =========================== - - http://www.orangefs.org/download - - Orangefs versions prior to 2.9.3 would not be compatible with the - upstream version of the kernel client. - - -RUNNING ORANGEFS ON A SINGLE SERVER +Running ORANGEFS On a Single Server =================================== OrangeFS is usually run in large installations with multiple servers and @@@ -73,29 -60,37 +63,37 @@@ single line. Uncomment it and change t controls clients which use libpvfs2. This does not control the pvfs2-client-core. -Create the filesystem. +Create the filesystem:: -pvfs2-server -f /etc/orangefs/orangefs.conf + pvfs2-server -f /etc/orangefs/orangefs.conf -Start the server. +Start the server:: -systemctl start orangefs-server + systemctl start orangefs-server -Test the server. +Test the server:: -pvfs2-ping -m /pvfsmnt + pvfs2-ping -m /pvfsmnt Start the client. The module must be compiled in or loaded before this -point. +point:: -systemctl start orangefs-client + systemctl start orangefs-client -Mount the filesystem. +Mount the filesystem:: -mount -t pvfs2 tcp://localhost:3334/orangefs /pvfsmnt + mount -t pvfs2 tcp://localhost:3334/orangefs /pvfsmnt -USERSPACE FILESYSTEM SOURCE ++Userspace Filesystem Source + =========================== + + http://www.orangefs.org/download + + Orangefs versions prior to 2.9.3 would not be compatible with the + upstream version of the kernel client. + -BUILDING ORANGEFS ON A SINGLE SERVER +Building ORANGEFS on a Single Server ==================================== Where OrangeFS cannot be installed from distribution packages, it may be @@@ -105,51 -100,55 +103,57 @@@ You can omit --prefix if you don't car in /usr/local. As of version 2.9.6, OrangeFS uses Berkeley DB by default, we will probably be changing the default to LMDB soon. -./configure --prefix=/opt/ofs --with-db-backend=lmdb --disable-usrint +:: - ./configure --prefix=/opt/ofs --with-db-backend=lmdb -make ++ ./configure --prefix=/opt/ofs --with-db-backend=lmdb --disable-usrint -make install + make + + make install - Create an orangefs config file:: + Create an orangefs config file by running pvfs2-genconfig and + specifying a target config file. Pvfs2-genconfig will prompt you + through. Generally it works fine to take the defaults, but you + should use your server's hostname, rather than "localhost" when -it comes to that question. ++it comes to that question:: -/opt/ofs/bin/pvfs2-genconfig /etc/pvfs2.conf + /opt/ofs/bin/pvfs2-genconfig /etc/pvfs2.conf -Create an /etc/pvfs2tab file. +Create an /etc/pvfs2tab file:: + Localhost is fine for your pvfs2tab file: + -echo tcp://localhost:3334/orangefs /pvfsmnt pvfs2 defaults,noauto 0 0 > \ - /etc/pvfs2tab + echo tcp://localhost:3334/orangefs /pvfsmnt pvfs2 defaults,noauto 0 0 > \ + /etc/pvfs2tab -Create the mount point you specified in the tab file if needed. +Create the mount point you specified in the tab file if needed:: -mkdir /pvfsmnt + mkdir /pvfsmnt -Bootstrap the server. +Bootstrap the server:: -/opt/ofs/sbin/pvfs2-server -f /etc/pvfs2.conf + /opt/ofs/sbin/pvfs2-server -f /etc/pvfs2.conf -Start the server. +Start the server:: - /opt/osf/sbin/pvfs2-server /etc/pvfs2.conf -/opt/ofs/sbin/pvfs2-server /etc/pvfs2.conf ++ /opt/ofs/sbin/pvfs2-server /etc/pvfs2.conf Now the server should be running. Pvfs2-ls is a simple -test to verify that the server is running. +test to verify that the server is running:: -/opt/ofs/bin/pvfs2-ls /pvfsmnt + /opt/ofs/bin/pvfs2-ls /pvfsmnt If stuff seems to be working, load the kernel module and -turn on the client core. +turn on the client core:: - /opt/ofs/sbin/pvfs2-client -p /opt/osf/sbin/pvfs2-client-core -/opt/ofs/sbin/pvfs2-client -p /opt/ofs/sbin/pvfs2-client-core ++ /opt/ofs/sbin/pvfs2-client -p /opt/ofs/sbin/pvfs2-client-core -Mount your filesystem. +Mount your filesystem:: - mount -t pvfs2 tcp://localhost:3334/orangefs /pvfsmnt -mount -t pvfs2 tcp://`hostname`:3334/orangefs /pvfsmnt ++ mount -t pvfs2 tcp://`hostname`:3334/orangefs /pvfsmnt -RUNNING XFSTESTS +Running xfstests ================ It is useful to use a scratch filesystem with xfstests. This can be