summaryrefslogtreecommitdiff
path: root/drivers/staging/pohmelfs
AgeCommit message (Collapse)Author
2009-12-03writeback: remove unused nonblocking and congestion checksWu Fengguang
- 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>
2009-10-02pohmelfs/connector: Disallow unpliviged users to configure pohmelfsPhilipp Reisner
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-02connector: Provide the sender's credentials to the callbackPhilipp Reisner
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>
2009-09-15Staging: pohmelfs: sync with the development treeEvgeniy Polyakov
* 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>
2009-09-15Staging: pohmelfs: fix type errorsAlan Cox
Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15Staging: pohmelfs: fix atomic type spewAlan Cox
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>
2009-09-14pohmelfs: Use new syncing helperJan Kara
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>
2009-09-14pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolockJan Kara
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>
2009-09-11writeback: get rid of generic_sync_sb_inodes() exportJens Axboe
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>
2009-06-19Staging: pohmelfs: Storage class should be before const qualifierTobias Klauser
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>
2009-06-19Staging: pohmelfs: Remove braces around single statementsBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-19Staging: pohmelfs: Remove C99 commentsBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Evgeniy Polyakov <zbr@ioremap.net>
2009-06-19Staging: pohmelfs: move open brace to same line on structsBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-19Staging: fix operator precedence errorsRoel Kluin
`!' 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>
2009-04-17Staging: Pohmelfs: Add load balancing between network states with the same ↵Evgeniy Polyakov
priority. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Added IO permissions and priorities.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Added ->show_stats() callback.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Drop ftrans debugging code.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Use wait_on_page_timeout when waiting for remote ↵Evgeniy Polyakov
directory sync instead of hardcoded 25 seconds. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Reduce debugging noise about non-existing objects.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Sync fs before killing it, since dentry cache is shrunk ↵Evgeniy Polyakov
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>
2009-04-17Staging: Pohmelfs: Extend remount option.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Set NETFS_INODE_REMOTE_SYNCED and clear NETFS_INODE_OWNED ↵Evgeniy Polyakov
bits in the root inode. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Added 'need_lock' variable into debug print.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Disable read lock in pohmelfs_getattr().Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: Pohmelfs: Move parent lock to the place where we really have to ↵Evgeniy Polyakov
send a lookup request to the server. Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-17Staging: pohmelfs: Populate dentry cache when receiving the new readdir entry.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: pohmelfs: should include fs_struct.hAlexander Beregalov
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>
2009-04-03Staging: pohmelfs: fix kconfig dependenciesRandy Dunlap
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>
2009-04-03Staging: pohmelfs should depend on CRYPTOAlexander Beregalov
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Cc: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: pohmelfs: fix printk format warnings v2Alexander Beregalov
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>
2009-04-03Staging: pohmelfs: net.c: include vmalloc.hAlexander Beregalov
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>
2009-04-03Staging: pohmelfs: fix build breakageAlexander Beregalov
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>
2009-04-03Staging: pohmelfs: select crypto modules from the config.Evgeniy Polyakov
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: pohmelfs: kconfig/makefile and vfs changes.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: transaction layer.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: network operations.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: distributed locking and cache coherency protocol.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: inode operations.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: directory operations.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: crypto processing.Evgeniy Polyakov
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>
2009-04-03Staging: pohmelfs: configuration interface.Evgeniy Polyakov
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>