04 Jan, 2012

3 commits


27 Jul, 2011

1 commit


28 May, 2011

1 commit


26 May, 2011

2 commits


06 Mar, 2011

4 commits

  • filldir returning an error does *not* mean "skip this entry, try the
    next one"...

    Signed-off-by: Al Viro
    Signed-off-by: Bob Copeland

    Al Viro
     
  • In case of directory-overwriting rename(), omfs forgot to mark the
    victim doomed, so omfs_evict_inode() didn't free it.

    We could fix that by calling omfs_rmdir() for directory victims
    instead of doing omfs_unlink(), but it's easier to merge omfs_unlink()
    and omfs_rmdir() instead. Note that we have no hardlinks here.

    It also makes the checks in omfs_rename() go away - they fold into
    what omfs_remove() does when it runs into a directory.

    Signed-off-by: Al Viro
    Signed-off-by: Bob Copeland

    Al Viro
     
  • Since omfs directories are hashes of inodes and name is part of
    inode, we have to remove inode from old directory before we can
    put it into new one / under new name. So instead of
    bump i_nlink
    call omfs_unlink, which does
    omfs_delete_entry()
    decrement i_nlink and mark parent dirty in case of success
    decrement i_nlink if omfs_unlink failed and hadn't done it itself
    let's just call omfs_delete_entry() and dirty the parent ourselves...

    Signed-off-by: Al Viro
    Signed-off-by: Bob Copeland

    Al Viro
     
  • we *do* mark it dirty before, but it doesn't guarantee that we
    don't get preempted just before assignment to ->i_ctime, with
    inode getting written out before we get CPU back...

    Signed-off-by: Al Viro
    Signed-off-by: Bob Copeland

    Al Viro
     

11 Jul, 2010

1 commit


02 Oct, 2009

1 commit


22 Sep, 2009

1 commit


23 Oct, 2008

1 commit


31 Jul, 2008

1 commit

  • Missing cpu_to_be64 on some constant assignments.
    fs/omfs/dir.c:107:16: warning: incorrect type in assignment (different base types)
    fs/omfs/dir.c:107:16: expected restricted __be64 [usertype] i_sibling
    fs/omfs/dir.c:107:16: got unsigned long long
    fs/omfs/file.c:33:13: warning: incorrect type in assignment (different base types)
    fs/omfs/file.c:33:13: expected restricted __be64 [usertype] e_next
    fs/omfs/file.c:33:13: got unsigned long long
    fs/omfs/file.c:36:24: warning: incorrect type in assignment (different base types)
    fs/omfs/file.c:36:24: expected restricted __be64 [usertype] e_cluster
    fs/omfs/file.c:36:24: got unsigned long long
    fs/omfs/file.c:37:23: warning: incorrect type in assignment (different base types)
    fs/omfs/file.c:37:23: expected restricted __be64 [usertype] e_blocks
    fs/omfs/file.c:37:23: got unsigned long long

    fs/omfs/bitmap.c:74:18: warning: incorrect type in argument 2 (different signedness)
    fs/omfs/bitmap.c:74:18: expected unsigned long volatile *addr
    fs/omfs/bitmap.c:74:18: got long *
    fs/omfs/bitmap.c:77:20: warning: incorrect type in argument 2 (different signedness)
    fs/omfs/bitmap.c:77:20: expected unsigned long volatile *addr
    fs/omfs/bitmap.c:77:20: got long *
    fs/omfs/bitmap.c:112:17: warning: incorrect type in argument 2 (different signedness)
    fs/omfs/bitmap.c:112:17: expected unsigned long volatile *addr
    fs/omfs/bitmap.c:112:17: got long *

    Signed-off-by: Harvey Harrison
    Acked-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

27 Jul, 2008

1 commit

  • Add lookup and directory management routines for OMFS. The filesystem uses
    hashing based on the filename and stores collisions, unordered, in siblings
    of files' inode structures. To support telldir, the current position in
    the hash table is encoded in fpos.

    Signed-off-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bob Copeland