03 Oct, 2009

2 commits


16 Sep, 2009

3 commits


14 Sep, 2009

2 commits


11 Sep, 2009

1 commit

  • 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
    Signed-off-by: Jens Axboe

    Jens Axboe
     

20 Jun, 2009

5 commits


18 Apr, 2009

13 commits


04 Apr, 2009

14 commits

  • 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
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Alexander Beregalov
     
  • 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
    Cc: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Signed-off-by: Alexander Beregalov
    Cc: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Alexander 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
    Signed-off-by: Frank Seidel
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Alexander 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
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Alexander Beregalov
     
  • drivers/staging/pohmelfs/inode.c:982: error: implicit declaration of
    function 'DQUOT_TRANSFER'

    Signed-off-by: Alexander Beregalov
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Alexander Beregalov
     
  • Signed-off-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Evgeniy Polyakov
     
  • This patch adds Kconfig and Makefile entries and exports to
    VFS functions to be used by POHMELFS.

    Signed-off-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    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
    Signed-off-by: Greg Kroah-Hartman

    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
    Signed-off-by: Greg Kroah-Hartman

    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
    Signed-off-by: Greg Kroah-Hartman

    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
    Signed-off-by: Greg Kroah-Hartman

    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
    Signed-off-by: Greg Kroah-Hartman

    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
    Signed-off-by: Greg Kroah-Hartman

    Evgeniy Polyakov