summaryrefslogtreecommitdiffstats
path: root/drivers/staging/pohmelfs
Commit message (Collapse)AuthorAgeFilesLines
* writeback: remove unused nonblocking and congestion checksWu Fengguang2009-12-031-10/+0
| | | | | | | | | | | | | | | | | | | - no one is calling wb_writeback and write_cache_pages with wbc.nonblocking=1 any more - lumpy pageout will want to do nonblocking writeback without the congestion wait So remove the congestion checks as suggested by Chris. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Cc: Chris Mason <chris.mason@oracle.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Dave Chinner <david@fromorbit.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Cc: Alex Elder <aelder@sgi.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* pohmelfs/connector: Disallow unpliviged users to configure pohmelfsPhilipp Reisner2009-10-021-0/+3
| | | | | Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* connector: Provide the sender's credentials to the callbackPhilipp Reisner2009-10-021-1/+1
| | | | | | | Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Acked-by: Lars Ellenberg <lars.ellenberg@linbit.com> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* Staging: pohmelfs: sync with the development treeEvgeniy Polyakov2009-09-157-28/+132
| | | | | | | | | | | * cache coherency protocol fix * proper timeout handling * implement dump/del all config group command (Signed-off-by: Pierpaolo Giacomin <yrz@anche.no>) Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: fix type errorsAlan Cox2009-09-152-3/+2
| | | | | | | Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: fix atomic type spewAlan Cox2009-09-152-2/+2
| | | | | | | | | | atomic_long != atomic Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* pohmelfs: Use new syncing helperJan Kara2009-09-141-2/+2
| | | | | | | Use new generic_write_sync() helper instead of sync_page_range(). Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Jan Kara <jack@suse.cz>
* pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolockJan Kara2009-09-141-1/+1
| | | | | | | | Use new helper __generic_file_aio_write(). Since the fs takes care of syncing by itself afterwards, there are no more changes needed. CC: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Jan Kara <jack@suse.cz>
* writeback: get rid of generic_sync_sb_inodes() exportJens Axboe2009-09-111-8/+1
| | | | | | | | | | | | This adds two new exported functions: - writeback_inodes_sb(), which only attempts to writeback dirty inodes on this super_block, for WB_SYNC_NONE writeout. - sync_inodes_sb(), which writes out all dirty inodes on this super_block and also waits for the IO to complete. Acked-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* Staging: pohmelfs: Storage class should be before const qualifierTobias Klauser2009-06-191-1/+1
| | | | | | | | | | | | | The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: Remove braces around single statementsBill Pemberton2009-06-194-12/+10
| | | | | | | Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: Remove C99 commentsBill Pemberton2009-06-193-5/+5
| | | | | | Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Evgeniy Polyakov <zbr@ioremap.net>
* Staging: pohmelfs: move open brace to same line on structsBill Pemberton2009-06-193-46/+23
| | | | | | | Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: fix operator precedence errorsRoel Kluin2009-06-191-1/+2
| | | | | | | | `!' has a higher precedence than `&' and `|' has a higher precedence than `?' Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Add load balancing between network states with the same ↵Evgeniy Polyakov2009-04-172-1/+5
| | | | | | | | priority. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Added IO permissions and priorities.Evgeniy Polyakov2009-04-173-26/+66
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Added ->show_stats() callback.Evgeniy Polyakov2009-04-172-5/+49
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Drop ftrans debugging code.Evgeniy Polyakov2009-04-174-66/+2
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Use wait_on_page_timeout when waiting for remote ↵Evgeniy Polyakov2009-04-171-1/+1
| | | | | | | | directory sync instead of hardcoded 25 seconds. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Reduce debugging noise about non-existing objects.Evgeniy Polyakov2009-04-171-2/+2
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Sync fs before killing it, since dentry cache is shrunk ↵Evgeniy Polyakov2009-04-171-1/+19
| | | | | | | | before writeback is invoked via generic_shutdown_super() Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Extend remount option.Evgeniy Polyakov2009-04-171-27/+46
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Set NETFS_INODE_REMOTE_SYNCED and clear NETFS_INODE_OWNED ↵Evgeniy Polyakov2009-04-171-0/+2
| | | | | | | | bits in the root inode. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Added 'need_lock' variable into debug print.Evgeniy Polyakov2009-04-171-2/+2
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Disable read lock in pohmelfs_getattr().Evgeniy Polyakov2009-04-171-2/+2
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: Pohmelfs: Move parent lock to the place where we really have to ↵Evgeniy Polyakov2009-04-171-8/+8
| | | | | | | | send a lookup request to the server. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: Populate dentry cache when receiving the new readdir entry.Evgeniy Polyakov2009-04-171-0/+16
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: should include fs_struct.hAlexander Beregalov2009-04-031-1/+1
| | | | | | | | | | | | | | | | | drivers/staging/pohmelfs/path_entry.c: In function 'pohmelfs_construct_path_string': drivers/staging/pohmelfs/path_entry.c:48: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:49: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:50: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c: In function 'pohmelfs_path_length': drivers/staging/pohmelfs/path_entry.c:95: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:96: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:97: error: dereferencing pointer to incomplete type Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: fix kconfig dependenciesRandy Dunlap2009-04-031-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pohmelfs wants to use CONNECTOR, so it selects CONNECTOR, but when CONFIG_NET is not enabled, connector.c will not build, since select does not follow the dependency chain. Selecting NET is not a good idea, since that would build lots of code that someone seemingly didn't want to build/store and kconfig shouldn't do that behind someone's back. pohmelfs should depend on NET since it uses network interfaces. pohmelfs also uses CRYTPO and selects 2 cipher symbols, but it should also select the top-level CRYPTO symbol since kconfig dependency chains are not followed. (found by inspection) This allows the POHMELFS_CRYPTO option to depend only on POHMELFS and makes the kconfig menu align properly. Also fix minor typos & line lengths in kconfig help text. Drop CONFIG_* in kconfig symbols in Kconfig file. connector.c:(.text+0x46003): undefined reference to `kfree_skb' connector.c:(.text+0x460a6): undefined reference to `kfree_skb' connector.c:(.text+0x4612b): undefined reference to `kfree_skb' (.text+0x4624f): undefined reference to `netlink_has_listeners' (.text+0x4629b): undefined reference to `__alloc_skb' (.text+0x462ea): undefined reference to `kfree_skb' (.text+0x46308): undefined reference to `skb_put' (.text+0x46385): undefined reference to `netlink_broadcast' (.text+0x7b574): undefined reference to `sock_release' (.text+0x7b8dd): undefined reference to `sock_create' (.text+0x7b984): undefined reference to `kernel_connect' (.text+0x7ba4c): undefined reference to `sock_release' net.c:(.text+0x7bda4): undefined reference to `kernel_recvmsg' (.text+0x7ef42): undefined reference to `kernel_sendmsg' (.text+0x7f057): undefined reference to `kernel_sendpage' (.text+0x7f1e8): undefined reference to `kernel_sendmsg' connector.c:(.devinit.text+0x5b): undefined reference to `init_net' connector.c:(.devinit.text+0x60): undefined reference to `netlink_kernel_create' connector.c:(.devinit.text+0xc9): undefined reference to `netlink_kernel_release' connector.c:(.devexit.text+0x2c): undefined reference to `netlink_kernel_release' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs should depend on CRYPTOAlexander Beregalov2009-04-031-0/+1
| | | | | | | Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: fix printk format warnings v2Alexander Beregalov2009-04-032-7/+7
| | | | | | | | | | | | | | | | drivers/staging/pohmelfs/inode.c:917: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'size_t' drivers/staging/pohmelfs/inode.c:1036: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'size_t' drivers/staging/pohmelfs/trans.c:164: warning: format '%u' expects type 'unsigned int', but argument 5 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:170: warning: format '%u' expects type 'unsigned int', but argument 7 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:517: warning: format '%u' expects type 'unsigned int', but argument 6 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:600: warning: format '%u' expects type 'unsigned int', but argument 6 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:610: warning: format '%u' expects type 'unsigned int', but argument 7 has type '__kernel_size_t' Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Frank Seidel <frank@f-seidel.de> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: net.c: include vmalloc.hAlexander Beregalov2009-04-031-0/+1
| | | | | | | | | | | on Sparc64: drivers/staging/pohmelfs/net.c:33: error: implicit declaration of function 'vmalloc' drivers/staging/pohmelfs/net.c:42: error: implicit declaration of function 'vfree' Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: fix build breakageAlexander Beregalov2009-04-031-1/+1
| | | | | | | | | | drivers/staging/pohmelfs/inode.c:982: error: implicit declaration of function 'DQUOT_TRANSFER' Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: select crypto modules from the config.Evgeniy Polyakov2009-04-031-0/+2
| | | | | | Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: kconfig/makefile and vfs changes.Evgeniy Polyakov2009-04-032-0/+26
| | | | | | | | | This patch adds Kconfig and Makefile entries and exports to VFS functions to be used by POHMELFS. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: transaction layer.Evgeniy Polyakov2009-04-031-0/+715
| | | | | | | | | | | | | | | | This patch implements transaction processing helpers used to allocate/free/insert/remove and other operations with the transctions. Each transction is an object, which may embed multiple commands completed atomically. When server fails the whole transaction will be replied against it (or different server) later. This approach allows to maintain high data integrity and do not desynchronize filesystem state in case of network or server failures. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: network operations.Evgeniy Polyakov2009-04-032-0/+2178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a main network processing patch. It includes both low-level socket machinery, zero-copy sending helpers, receiving and parsing callbacks and mainly logical commands handlers. POHMELFS uses async network approach, when every command can be separated from its answer and received after some time after the request during which another lots of commands can be injected into the network and replies to them received. With read operation balancing between multiple hosts it is possible that operations will arrive out of order and this is handled by the transaction mechanism described partially here. Having a transaction to guard the set of logically compound operations allows to send data without thinking about its status and using zero-copy sending mechanism, since transaction will receive explicit acks from the servers when they are completed. This patch also contains header with network srtuctures, commands and short comments on how they are used. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: distributed locking and cache coherency protocol.Evgeniy Polyakov2009-04-032-0/+353
| | | | | | | | | | | | | | | POHMELFS utilizes writeback cache, which is built on top of MO(E)SI-like coherency protocol. This patch includes its implementation and cache object processing helpers (like allocation and completion callbacks). POHMELFS uses scalable cached read/write locking. No additional requests are performed if lock is granted to the filesystem. The same protocol is used by the server to on-demand flushing of the client's cache (for example when server wants to update local data). Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: inode operations.Evgeniy Polyakov2009-04-031-0/+1976
| | | | | | | | | | | | | | | | This is the main patch which implements inode operations (like reading and writing) and superblock processing (filesystem registration, initial autoconfiguration with the server like permissions, size of the exported dir, amount of the objects created and so on). POHMELFS relies on system's writeback cache mechanism shown here, as long as cache coherency protocol described later. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: directory operations.Evgeniy Polyakov2009-04-032-0/+1207
| | | | | | | | | | | | This patch implementes all supported directory operations like directory reading, object lookup, creation, removal and so on. Currently object removal is not optimized at all. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: crypto processing.Evgeniy Polyakov2009-04-031-0/+880
| | | | | | | | | | | | POHMELFS is able to encrypt the whole network channel or attach the strong checksum to own packets to catch faulty media. This patch implements crypto initialization, its autoconfiguration and sync with the server. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: pohmelfs: configuration interface.Evgeniy Polyakov2009-04-031-0/+478
This patch includes POHMELFS configuration interface based on the netlink kernel connector. This interface allows to create configuration groups in the kerenel indexed by mount ID option. Each configuration group can include multiple servers to work with and various operation parameters. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OpenPOWER on IntegriCloud