1. 11 8月, 2010 15 次提交
    • M
      vfs: only add " (deleted)" where necessary · ffd1f4ed
      Miklos Szeredi 提交于
      __d_path() has 4 callers:
      
        d_path()
        sys_getcwd()
        seq_path_root()
        tomoyo_realpath_from_path2()
      
      Of these the only one which needs the " (deleted)" ending is d_path().
      
      sys_getcwd() checks for existence before calling __d_path().
      
      seq_path_root() is used to show the mountpoint path in
      /proc/PID/mountinfo, which is always a positive.
      
      And tomoyo doesn't want the deleted ending.
      
      Create a helper "path_with_deleted()" as subsequent patches will need
      this in multiple places.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ffd1f4ed
    • M
      vfs: add prepend_path() helper · f2eb6575
      Miklos Szeredi 提交于
      Split off prepend_path() from __d_path().  This new helper takes an
      end-of-buffer pointer and buffer-length pointer just like the other
      prepend_* functions.  Move the " (deleted)" postfix out to __d_path().
      
      This patch doesn't change any functionality but paves the way for the
      following patches.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      f2eb6575
    • M
      vfs: __d_path: dont prepend the name of the root dentry · 98dc568b
      Miklos Szeredi 提交于
      In the old times pseudo-filesystems set the name of theroot dentry to
      some prefix like "pipe:" and the name of the child dentry to "[123]"
      and relied on a hack in __d_path() to replace the preceding slash with
      the root's name to get "pipe:[123]".
      
      Then the d_dname() dentry operation was introduced which solved the
      same problem without having to pre-fill the name in each dentry.
      
      Currently the following pseudo filesystems exist in the kernel:
      
      perfmon
      mtd
      anon_inode
      bdev
      pipe
      socket
      
      Of these only perfmon, anon_inode, pipe and socket create
      sub-dentries, all of which have now been switched to using d_dname().
      
      bdev and mtd only create inodes.
      
      This means that now the hack to overwrite the slash can be removed, so
      for unreachable paths (e.g. within a detached mount) the path string
      won't be polluted with garbage.  For these cases a subsequent patch
      will add a prefix, indicating that the path is unreachable.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      98dc568b
    • M
      ia64: perfmon: add d_dname method · 7ae6bdbd
      Miklos Szeredi 提交于
      Switch ia64/perfmon to using the d_dname() instead of relying on
      __d_path() to prepend the name of the root dentry to the path.
      
      CC: Tony Luck <tony.luck@intel.com>
      CC: Fenghua Yu <fenghua.yu@intel.com>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      7ae6bdbd
    • M
      vfs: add helpers to get root and pwd · f7ad3c6b
      Miklos Szeredi 提交于
      Add three helpers that retrieve a refcounted copy of the root and cwd
      from the supplied fs_struct.
      
       get_fs_root()
       get_fs_pwd()
       get_fs_root_and_pwd()
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      f7ad3c6b
    • M
      cachefiles: use path_get instead of lone dget · 542ce7a9
      Miklos Szeredi 提交于
      Dentry references should not be acquired without a corresponding
      vfsmount ref.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      542ce7a9
    • L
      fs/sysv/super.c: add support for non-PDP11 v7 filesystems · 6d0b5456
      Lubomir Rintel 提交于
      This adds byte order autodetection (of PDP-11 and LE filesystems).  No
      attempt is made to detect big-endian filesystems -- were there any?
      Tested with PDP-11 v7 filesystems and PC-IX maintenance floppy.
      
      [akpm@linux-foundation.org: coding-style fixes]
      [AV: parser.h inclusion was a rudiment of discarded stuff]
      Signed-off-by: NLubomir Rintel <lkundrak@v3.sk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6d0b5456
    • L
      V7: Adjust sanity checks for some volumes · 496ee9b8
      Lubomir Rintel 提交于
      Newly mkfs-ed filesystems from Seventh Edition have last modification
      time set to zero, but are otherwise perfectly valid.
      
      Also, tighten up other sanity checks to filter out most filesystems with
      different bytesex than we're using.
      
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NLubomir Rintel <lkundrak@v3.sk>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      496ee9b8
    • L
      Add v7 alias · b76212d7
      Lubomir Rintel 提交于
      So that the module gets autoloaded when a v7 filesystem is mounted.
      
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NLubomir Rintel <lkundrak@v3.sk>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b76212d7
    • S
      8cef9c67
    • L
      Merge branch 'writable_limits' of git://decibel.fi.muni.cz/~xslaby/linux · b34d8915
      Linus Torvalds 提交于
      * 'writable_limits' of git://decibel.fi.muni.cz/~xslaby/linux:
        unistd: add __NR_prlimit64 syscall numbers
        rlimits: implement prlimit64 syscall
        rlimits: switch more rlimit syscalls to do_prlimit
        rlimits: redo do_setrlimit to more generic do_prlimit
        rlimits: add rlimit64 structure
        rlimits: do security check under task_lock
        rlimits: allow setrlimit to non-current tasks
        rlimits: split sys_setrlimit
        rlimits: selinux, do rlimits changes under task_lock
        rlimits: make sure ->rlim_max never grows in sys_setrlimit
        rlimits: add task_struct to update_rlimit_cpu
        rlimits: security, add task_struct to setrlimit
      
      Fix up various system call number conflicts.  We not only added fanotify
      system calls in the meantime, but asm-generic/unistd.h added a wait4
      along with a range of reserved per-architecture system calls.
      b34d8915
    • L
      Merge git://git.infradead.org/mtd-2.6 · e8a89ceb
      Linus Torvalds 提交于
      * git://git.infradead.org/mtd-2.6: (79 commits)
        mtd: Remove obsolete <mtd/compatmac.h> include
        mtd: Update copyright notices
        jffs2: Update copyright notices
        mtd-physmap: add support users can assign the probe type in board files
        mtd: remove redwood map driver
        mxc_nand: Add v3 (i.MX51) Support
        mxc_nand: support 8bit ecc
        mxc_nand: fix correct_data function
        mxc_nand: add V1_V2 namespace to registers
        mxc_nand: factor out a check_int function
        mxc_nand: make some internally used functions overwriteable
        mxc_nand: rework get_dev_status
        mxc_nand: remove 0xe00 offset from registers
        mtd: denali: Add multi connected NAND support
        mtd: denali: Remove set_ecc_config function
        mtd: denali: Remove unuseful code in get_xx_nand_para functions
        mtd: denali: Remove device_info_tag structure
        mtd: m25p80: add support for the Winbond W25Q32 SPI flash chip
        mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chips
        mtd: m25p80: add support for the EON EN25P{32, 64} SPI flash chips
        ...
      
      Fix up trivial conflicts in drivers/mtd/maps/{Kconfig,redwood.c} due to
      redwood driver removal.
      e8a89ceb
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bcopeland/omfs · 8196867c
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bcopeland/omfs:
        omfs: fix uninitialized variable warning
        omfs: sanity check cluster size
        omfs: refuse to mount if bitmap pointer is obviously wrong
        omfs: check bounds on block numbers before passing to sb_bread
        omfs: fix memory leak
      8196867c
    • L
      Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify · 8c8946f5
      Linus Torvalds 提交于
      * 'for-linus' of git://git.infradead.org/users/eparis/notify: (132 commits)
        fanotify: use both marks when possible
        fsnotify: pass both the vfsmount mark and inode mark
        fsnotify: walk the inode and vfsmount lists simultaneously
        fsnotify: rework ignored mark flushing
        fsnotify: remove global fsnotify groups lists
        fsnotify: remove group->mask
        fsnotify: remove the global masks
        fsnotify: cleanup should_send_event
        fanotify: use the mark in handler functions
        audit: use the mark in handler functions
        dnotify: use the mark in handler functions
        inotify: use the mark in handler functions
        fsnotify: send fsnotify_mark to groups in event handling functions
        fsnotify: Exchange list heads instead of moving elements
        fsnotify: srcu to protect read side of inode and vfsmount locks
        fsnotify: use an explicit flag to indicate fsnotify_destroy_mark has been called
        fsnotify: use _rcu functions for mark list traversal
        fsnotify: place marks on object in order of group memory address
        vfs/fsnotify: fsnotify_close can delay the final work in fput
        fsnotify: store struct file not struct path
        ...
      
      Fix up trivial delete/modify conflict in fs/notify/inotify/inotify.c.
      8c8946f5
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 5f248c9c
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)
        no need for list_for_each_entry_safe()/resetting with superblock list
        Fix sget() race with failing mount
        vfs: don't hold s_umount over close_bdev_exclusive() call
        sysv: do not mark superblock dirty on remount
        sysv: do not mark superblock dirty on mount
        btrfs: remove junk sb_dirt change
        BFS: clean up the superblock usage
        AFFS: wait for sb synchronization when needed
        AFFS: clean up dirty flag usage
        cifs: truncate fallout
        mbcache: fix shrinker function return value
        mbcache: Remove unused features
        add f_flags to struct statfs(64)
        pass a struct path to vfs_statfs
        update VFS documentation for method changes.
        All filesystems that need invalidate_inode_buffers() are doing that explicitly
        convert remaining ->clear_inode() to ->evict_inode()
        Make ->drop_inode() just return whether inode needs to be dropped
        fs/inode.c:clear_inode() is gone
        fs/inode.c:evict() doesn't care about delete vs. non-delete paths now
        ...
      
      Fix up trivial conflicts in fs/nilfs2/super.c
      5f248c9c
  2. 10 8月, 2010 25 次提交