09 May, 2009

2 commits


21 Apr, 2009

1 commit


20 Apr, 2009

1 commit

  • Since commit 0a1c01c9477602ee8b44548a9405b2c1d587b5a2 ("Make relatime
    default") when a file system is mounted explicitely with noatime it gets
    both the MNT_RELATIME and MNT_NOATIME bits set.

    This shows up like this in /proc/mounts:

    /dev/xxx /yyy ext3 rw,noatime,relatime,errors=continue,data=writeback 0 0

    That looks strange. The VFS uses noatime in this case, but both flags
    are set. So it's more a cosmetic issue, but still better to fix.

    Cc: mjg@redhat.com
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

01 Apr, 2009

3 commits


28 Mar, 2009

2 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
     
  • simple_set_mnt() is defined as returning 'int' but always returns 0.
    Callers assume simple_set_mnt() never fails and don't properly cleanup if
    it were to _ever_ fail. For instance, get_sb_single() and get_sb_nodev()
    should:

    up_write(sb->s_unmount);
    deactivate_super(sb);

    if simple_set_mnt() fails.

    Since simple_set_mnt() never fails, would be cleaner if it did not
    return anything.

    [akpm@linux-foundation.org: fix build]
    Signed-off-by: Sukadev Bhattiprolu
    Acked-by: Serge Hallyn
    Cc: Al Viro
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Al Viro

    Sukadev Bhattiprolu
     

27 Mar, 2009

2 commits

  • Change the default behaviour of the kernel to use relatime for all
    filesystems. This can be overridden with the "strictatime" mount
    option.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Linus Torvalds

    Matthew Garrett
     
  • Add support for explicitly requesting full atime updates. This makes it
    possible for kernels to default to relatime but still allow userspace to
    override it.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Linus Torvalds

    Matthew Garrett
     

18 Feb, 2009

1 commit

  • Getting this wrong caused

    WARNING: at fs/namespace.c:636 mntput_no_expire+0xac/0xf2()

    due to optimistically checking cpu_writer->mnt outside the spinlock.

    Here's what we really want:
    * we know that nobody will set cpu_writer->mnt to mnt from now on
    * all changes to that sucker are done under cpu_writer->lock
    * we want the laziest equivalent of
    spin_lock(&cpu_writer->lock);
    if (likely(cpu_writer->mnt != mnt)) {
    spin_unlock(&cpu_writer->lock);
    continue;
    }
    /* do stuff */
    that would make sure we won't miss earlier setting of ->mnt done by
    another CPU.

    Anyway, for now we just move the spin_lock() earlier and move the test
    into the properly locked region.

    Signed-off-by: Al Viro
    Reported-and-tested-by: Li Zefan
    Signed-off-by: Linus Torvalds

    Al Viro
     

14 Jan, 2009

2 commits


01 Jan, 2009

1 commit


14 Nov, 2008

2 commits

  • Conflicts:
    security/keys/internal.h
    security/keys/process_keys.c
    security/keys/request_key.c

    Fixed conflicts above by using the non 'tsk' versions.

    Signed-off-by: James Morris

    James Morris
     
  • 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: Al Viro
    Signed-off-by: James Morris

    David Howells
     

13 Nov, 2008

1 commit

  • In the last refactoring of shrink_submounts a variable was not completely
    renamed. So finish the renaming of mnt to m now.

    Without this if you attempt to mount an nfs mount that has both automatic
    nfs sub mounts on it, and has normal mounts on it. The unmount will
    succeed when it should not.

    Signed-off-by: Eric W. Biederman
    Cc: Alexey Dobriyan
    Cc: Al Viro
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

23 Oct, 2008

3 commits


01 Aug, 2008

1 commit


27 Jul, 2008

4 commits


14 Jul, 2008

1 commit

  • This patch causes SELinux mount options to show up in /proc/mounts. As
    with other code in the area seq_put errors are ignored. Other LSM's
    will not have their mount options displayed until they fill in their own
    security_sb_show_options() function.

    Signed-off-by: Eric Paris
    Signed-off-by: Miklos Szeredi
    Signed-off-by: James Morris

    Eric Paris
     

30 Apr, 2008

1 commit


29 Apr, 2008

1 commit

  • Remove lives_below_in_same_fs() since is_subdir() from fs/dcache.c is
    providing the same functionality.

    Signed-off-by: Jan Blunck
    Acked-by: Miklos Szeredi
    Cc: Al Viro
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     

28 Apr, 2008

1 commit


25 Apr, 2008

1 commit


23 Apr, 2008

5 commits

  • Show peer group ID of nearest dominating group that has intersection
    with the mount's namespace.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • [mszeredi@suse.cz] rewrite and split big patch into managable chunks

    /proc/mounts in its current form lacks important information:

    - propagation state
    - root of mount for bind mounts
    - the st_dev value used within the filesystem
    - identifier for each mount and it's parent

    It also suffers from the following problems:

    - not easily extendable
    - ambiguity of mountpoints within a chrooted environment
    - doesn't distinguish between filesystem dependent and independent options
    - doesn't distinguish between per mount and per super block options

    This patch introduces /proc//mountinfo which attempts to address
    all these deficiencies.

    Code shared between /proc//mounts and /proc//mountinfo is
    extracted into separate functions.

    Thanks to Al Viro for the help in getting the design right.

    Signed-off-by: Ram Pai
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Ram Pai
     
  • Allow /proc//mountinfo to use the root of to calculate
    mountpoints.

    - move definition of 'struct proc_mounts' to
    - add the process's namespace and root to this structure
    - pass a pointer to 'struct proc_mounts' into seq_operations

    In addition the following cleanups are made:

    - use a common open function for /proc//{mounts,mountstat}
    - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS
    - make the seq_operations structures const

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • Add a unique ID to each peer group using the IDR infrastructure. The
    identifiers are reused after the peer group dissolves.

    The IDR structures are protected by holding namepspace_sem for write
    while allocating or deallocating IDs.

    IDs are allocated when a previously unshared vfsmount becomes the
    first member of a peer group. When a new member is added to an
    existing group, the ID is copied from one of the old members.

    IDs are freed when the last member of a peer group is unshared.

    Setting the MNT_SHARED flag on members of a subtree is done as a
    separate step, after all the IDs have been allocated. This way an
    allocation failure can be cleaned up easilty, without affecting the
    propagation state.

    Based on design sketch by Al Viro.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • Add a unique ID to each vfsmount using the IDR infrastructure. The
    identifiers are reused after the vfsmount is freed.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     

22 Apr, 2008

3 commits


19 Apr, 2008

1 commit

  • Originally from: Herbert Poetzl

    This is the core of the read-only bind mount patch set.

    Note that this does _not_ add a "ro" option directly to the bind mount
    operation. If you require such a mount, you must first do the bind, then
    follow it up with a 'mount -o remount,ro' operation:

    If you wish to have a r/o bind mount of /foo on bar:

    mount --bind /foo /bar
    mount -o remount,ro /bar

    Acked-by: Al Viro
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Al Viro

    Dave Hansen