19 Jun, 2009

1 commit


12 Jun, 2009

7 commits

  • Add a ->sync_fs method for data integrity syncs, and reimplement
    ->write_super ontop of it.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • [xfs, btrfs, capifs, shmem don't need BKL, exempt]

    Signed-off-by: Alessio Igor Bogani
    Signed-off-by: Al Viro

    Alessio Igor Bogani
     
  • Push down lock_super into ->write_super instances and remove it from the
    caller.

    Following filesystem don't need ->s_lock in ->write_super and are skipped:

    * bfs, nilfs2 - no other uses of s_lock and have internal locks in
    ->write_super
    * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock
    * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in
    ->write_super
    * xfs - no other uses of s_lock and uses internal lock (buffer lock on
    superblock buffer) to serialize ->write_super. Also xfs_fs_write_super
    is superflous and will go away in the next merge window

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • Note that since we can't run into contention between remount_fs and write_super
    (due to exclusion on s_umount), we have to care only about filesystems that
    touch lock_super() on their own. Out of those ext3, ext4, hpfs, sysv and ufs
    do need it; fat doesn't since its ->remount_fs() only accesses assign-once
    data (basically, it's "we have no atime on directories and only have atime on
    files for vfat; force nodiratime and possibly noatime into *flags").

    [folded a build fix from hch]

    Signed-off-by: Al Viro

    Al Viro
     
  • Move BKL into ->put_super from the only caller. A couple of
    filesystems had trivial enough ->put_super (only kfree and NULLing of
    s_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,
    hugetlbfs, omfs, qnx4, shmem, all others got the full treatment. Most
    of them probably don't need it, but I'd rather sort that out individually.
    Preferably after all the other BKL pushdowns in that area.

    [AV: original used to move lock_super() down as well; these changes are
    removed since we don't do lock_super() at all in generic_shutdown_super()
    now]
    [AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • We just did a full fs writeout using sync_filesystem before, and if
    that's not enough for the filesystem it can perform it's own writeout
    in ->put_super, which many filesystems already do.

    Move a call to foofs_write_super into every foofs_put_super for now to
    guarantee identical behaviour until it's cleaned up by the individual
    filesystem maintainers.

    Exceptions:

    - affs already has identical copy & pasted code at the beginning of
    affs_put_super so no need to do it twice.
    - xfs does the right thing without it and I have changes pending for
    the xfs tree touching this are so I don't really need conflicts
    here..

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     

09 May, 2009

1 commit


03 Apr, 2009

1 commit


28 Mar, 2009

5 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)
    fs: avoid I_NEW inodes
    Merge code for single and multiple-instance mounts
    Remove get_init_pts_sb()
    Move common mknod_ptmx() calls into caller
    Parse mount options just once and copy them to super block
    Unroll essentials of do_remount_sb() into devpts
    vfs: simple_set_mnt() should return void
    fs: move bdev code out of buffer.c
    constify dentry_operations: rest
    constify dentry_operations: configfs
    constify dentry_operations: sysfs
    constify dentry_operations: JFS
    constify dentry_operations: OCFS2
    constify dentry_operations: GFS2
    constify dentry_operations: FAT
    constify dentry_operations: FUSE
    constify dentry_operations: procfs
    constify dentry_operations: ecryptfs
    constify dentry_operations: CIFS
    constify dentry_operations: AFS
    ...

    Linus Torvalds
     
  • Copy symlink data into the union member it is accessed through. Although
    this shouldn't make a difference to behaviour it makes the code easier
    to follow and grep through. It may also prevent problems if the
    struct/union definitions change in the future.

    Signed-off-by: Duane Griffin
    Signed-off-by: Al Viro

    Duane Griffin
     
  • Ensure fast symlink targets are NUL-terminated, even if corrupted
    on-disk.

    Signed-off-by: Duane Griffin
    Signed-off-by: Al Viro

    Duane Griffin
     
  • ufs2 fast symlinks can be twice as long as ufs ones, however the code
    was using the ufs size in various places. Fix that so ufs2 symlinks over
    60 characters aren't truncated.

    Note that we copy the entire area instead of using the maxsymlinklen field
    from the superblock. This way we will be more robust against corruption (of
    the superblock).

    While we are at it, use memcpy instead of open-coding it with for loops.

    Signed-off-by: Duane Griffin
    Signed-off-by: Al Viro

    Duane Griffin
     
  • The maximum fast symlink size is set in the superblock of certain types
    of UFS filesystem. Before using it we need to check that it isn't longer
    than the available space we have in the inode.

    Signed-off-by: Duane Griffin
    Signed-off-by: Al Viro

    Duane Griffin
     

26 Mar, 2009

1 commit


23 Mar, 2009

1 commit


22 Jan, 2009

1 commit


14 Nov, 2008

1 commit

  • Wrap access to task credentials so that they can be separated more easily from
    the task_struct during the introduction of COW creds.

    Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().

    Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more
    sense to use RCU directly rather than a convenient wrapper; these will be
    addressed by later patches.

    Signed-off-by: David Howells
    Reviewed-by: James Morris
    Acked-by: Serge Hallyn
    Cc: Evgeniy Dushistov
    Signed-off-by: James Morris

    David Howells
     

23 Oct, 2008

1 commit


14 Oct, 2008

1 commit

  • This is a much better version of a previous patch to make the parser
    tables constant. Rather than changing the typedef, we put the "const" in
    all the various places where its required, allowing the __initconst
    exception for nfsroot which was the cause of the previous trouble.

    This was posted for review some time ago and I believe its been in -mm
    since then.

    Signed-off-by: Steven Whitehouse
    Cc: Alexander Viro
    Signed-off-by: Linus Torvalds

    Steven Whitehouse
     

05 Aug, 2008

1 commit

  • This reverts commit f9247273cb69ba101877e946d2d83044409cc8c5 (and
    fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 - "fix fs/nfs/nfsroot.c
    compilation" - that fixed a missed conversion).

    The changes cause problems for at least the sparc build. Let's re-do
    them when the exact issues are resolved.

    Requested-by: Andrew Morton
    Requested-by: Steven Whitehouse
    Cc: David Miller
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

27 Jul, 2008

1 commit

  • Kmem cache passed to constructor is only needed for constructors that are
    themselves multiplexeres. Nobody uses this "feature", nor does anybody uses
    passed kmem cache in non-trivial way, so pass only pointer to object.

    Non-trivial places are:
    arch/powerpc/mm/init_64.c
    arch/powerpc/mm/hugetlbpage.c

    This is flag day, yes.

    Signed-off-by: Alexey Dobriyan
    Acked-by: Pekka Enberg
    Acked-by: Christoph Lameter
    Cc: Jon Tollefson
    Cc: Nick Piggin
    Cc: Matt Mackall
    [akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]
    [akpm@linux-foundation.org: fix mm/slab.c]
    [akpm@linux-foundation.org: fix ubifs]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

26 Jul, 2008

1 commit

  • Move declarations of some macros, which should be in fact functions to
    quotaops.h. This way they can be later converted to inline functions
    because we can now use declarations from quota.h. Also add necessary
    includes of quotaops.h to a few files.

    [akpm@linux-foundation.org: fix JFS build]
    [akpm@linux-foundation.org: fix UFS build]
    [vegard.nossum@gmail.com: fix QUOTA=n build]
    Signed-off-by: Jan Kara
    Cc: Vegard Nossum
    Cc: Arjen Pool
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     

25 Jul, 2008

1 commit

  • This patch adds a "const" to the parser token table. I've done an
    allmodconfig build to see if this produces any warnings/failures and the
    patch includes a fix for the only warning that was produced.

    Signed-off-by: Steven Whitehouse
    Acked-by: Alexander Viro
    Acked-by: Evgeniy Dushistov
    Signed-off-by: Linus Torvalds

    Steven Whitehouse
     

13 May, 2008

1 commit


28 Apr, 2008

4 commits


20 Mar, 2008

1 commit

  • fs/ufs/balloc.c: In function `ufs_change_blocknr':
    fs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 2)
    fs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 3)

    sector_t is u64 and we don't know what type the architecture uses to implement
    u64.

    Cc: Evgeniy Dushistov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

24 Feb, 2008

1 commit

  • This bug snuck in with

    commit 252e211e90ce56bf005cb533ad5a297c18c19407
    Author: Mark Fortescue
    Date: Tue Oct 16 23:26:31 2007 -0700

    Add in SunOS 4.1.x compatible mode for UFS

    Signed-off-by: Roel Kluin
    Acked-by: Evgeniy Dushistov
    Cc: Mark Fortescue
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     

09 Feb, 2008

2 commits

  • Per previous discussions about cleaning up ufs_fs.h, people just want
    this straight up dropped from userspace export. The only remaining
    consumer (silo) has been fixed a while ago to not rely on this header.
    This allows use to move it completely from include/linux/ to fs/ufs/
    seeing as how the only in-kernel consumer is fs/ufs/.

    Signed-off-by: Mike Frysinger
    Cc: Jan Kara
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • If we create symlink on UFS2 filesystem under Linux, it looks wrong under
    other OSes, because of max symlink length field was not initialized
    properly, and data blocks were not used to save short symlink names.

    [akpm@linux-foundation.org: add missing fs32_to_cpu()]
    Signed-off-by: Evgeniy Dushistov
    Cc: Steven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Dushistov
     

08 Feb, 2008

1 commit

  • Stop the UFS filesystem from using iget() and read_inode(). Replace
    ufs_read_inode() with ufs_iget(), and call that instead of iget(). ufs_iget()
    then uses iget_locked() directly and returns a proper error code instead of an
    inode in the event of an error.

    ufs_fill_super() returns any error incurred when getting the root inode
    instead of EINVAL.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: David Howells
    Cc: Evgeniy Dushistov
    Acked-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

06 Dec, 2007

1 commit

  • This patch fixes regression, introduced since 2.6.16. NextStep variant of
    UFS as OpenStep uses directory block size equals to 1024. Without this
    change, ufs_check_page fails in many cases.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Evgeniy Dushistov
    Cc: Dave Bailey
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Dushistov
     

30 Oct, 2007

1 commit

  • Evgeniy said:

    I wonder on what type of UFS do you test this patch? NetBSD and FreeBSD
    do not use "fs_state", they use "fs_clean" flag, only Solaris does check
    like this: fs_state + fs_time == FSOK.

    That's why parentheses was like that.

    At now with linux-2.6.24-rc1-git1, I get: fs need fsck, but NetBSD's fsck
    says that's all ok.

    I suggest revert this patch.

    Cc: Evgeniy Dushistov
    Cc: Satyam Sharma
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

17 Oct, 2007

3 commits

  • The current code skips the check to verify whether the filesystem was
    previously cleanly unmounted, if (flags & UFS_ST_MASK) == UFS_ST_44BSD or
    UFS_ST_OLD. This looks like an inadvertent bug that slipped in due to
    parantheses in the compound conditional to me, especially given that
    ufs_get_fs_state() handles the UFS_ST_44BSD case perfectly well. So, let's
    fix the compound condition appropriately.

    Signed-off-by: Satyam Sharma
    Cc: Evgeniy Dushistov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Satyam Sharma
     
  • Move prototypes and in-core structures to fs/ufs/ similar to what most
    other filesystems already do.

    I made little modifications: move also ufs debug macros and
    mount options constants into fs/ufs/ufs.h, this stuff
    also private for ufs.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Evgeniy Dushistov
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • An implementation of show_options method for UFS.

    Signed-off-by: Evgeniy Dushistov
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Dushistov