27 May, 2011

12 commits

  • * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    gfs2: Drop __TIME__ usage
    isdn/diva: Drop __TIME__ usage
    atm: Drop __TIME__ usage
    dlm: Drop __TIME__ usage
    wan/pc300: Drop __TIME__ usage
    parport: Drop __TIME__ usage
    hdlcdrv: Drop __TIME__ usage
    baycom: Drop __TIME__ usage
    pmcraid: Drop __DATE__ usage
    edac: Drop __DATE__ usage
    rio: Drop __DATE__ usage
    scsi/wd33c93: Drop __TIME__ usage
    scsi/in2000: Drop __TIME__ usage
    aacraid: Drop __TIME__ usage
    media/cx231xx: Drop __TIME__ usage
    media/radio-maxiradio: Drop __TIME__ usage
    nozomi: Drop __TIME__ usage
    cyclades: Drop __TIME__ usage

    Linus Torvalds
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (28 commits)
    Ocfs2: Teach local-mounted ocfs2 to handle unwritten_extents correctly.
    ocfs2/dlm: Do not migrate resource to a node that is leaving the domain
    ocfs2/dlm: Add new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG
    Ocfs2/move_extents: Set several trivial constraints for threshold.
    Ocfs2/move_extents: Let defrag handle partial extent moving.
    Ocfs2/move_extents: move/defrag extents within a certain range.
    Ocfs2/move_extents: helper to calculate the defraging length in one run.
    Ocfs2/move_extents: move entire/partial extent.
    Ocfs2/move_extents: helpers to update the group descriptor and global bitmap inode.
    Ocfs2/move_extents: helper to probe a proper region to move in an alloc group.
    Ocfs2/move_extents: helper to validate and adjust moving goal.
    Ocfs2/move_extents: find the victim alloc group, where the given #blk fits.
    Ocfs2/move_extents: defrag a range of extent.
    Ocfs2/move_extents: move a range of extent.
    Ocfs2/move_extents: lock allocators and reserve metadata blocks and data clusters for extents moving.
    Ocfs2/move_extents: Add basic framework and source files for extent moving.
    Ocfs2/move_extents: Adding new ioctl code 'OCFS2_IOC_MOVE_EXT' to ocfs2.
    Ocfs2/refcounttree: Publicize couple of funcs from refcounttree.c
    Ocfs2: Add a new code 'OCFS2_INFO_FREEFRAG' for o2info ioctl.
    Ocfs2: Add a new code 'OCFS2_INFO_FREEINODE' for o2info ioctl.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:
    xen: cleancache shim to Xen Transcendent Memory
    ocfs2: add cleancache support
    ext4: add cleancache support
    btrfs: add cleancache support
    ext3: add cleancache support
    mm/fs: add hooks to support cleancache
    mm: cleancache core ops functions and config
    fs: add field to superblock to support cleancache
    mm/fs: cleancache documentation

    Fix up trivial conflict in fs/btrfs/extent_io.c due to includes

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    xfs: correctly decrement the extent buffer index in xfs_bmap_del_extent
    xfs: check for valid indices in xfs_iext_get_ext and xfs_iext_idx_to_irec
    xfs: fix up asserts in xfs_iflush_fork
    xfs: do not do pointer arithmetic on extent records
    xfs: do not use unchecked extent indices in xfs_bunmapi
    xfs: do not use unchecked extent indices in xfs_bmapi
    xfs: do not use unchecked extent indices in xfs_bmap_add_extent_*
    xfs: remove if_lastex
    xfs: remove the unused XFS_BMAPI_RSVBLOCKS flag
    xfs: do not discard alloc btree blocks
    xfs: add online discard support

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (61 commits)
    jbd2: Add MAINTAINERS entry
    jbd2: fix a potential leak of a journal_head on an error path
    ext4: teach ext4_ext_split to calculate extents efficiently
    ext4: Convert ext4 to new truncate calling convention
    ext4: do not normalize block requests from fallocate()
    ext4: enable "punch hole" functionality
    ext4: add "punch hole" flag to ext4_map_blocks()
    ext4: punch out extents
    ext4: add new function ext4_block_zero_page_range()
    ext4: add flag to ext4_has_free_blocks
    ext4: reserve inodes and feature code for 'quota' feature
    ext4: add support for multiple mount protection
    ext4: ensure f_bfree returned by ext4_statfs() is non-negative
    ext4: protect bb_first_free in ext4_trim_all_free() with group lock
    ext4: only load buddy bitmap in ext4_trim_fs() when it is needed
    jbd2: Fix comment to match the code in jbd2__journal_start()
    ext4: fix waiting and sending of a barrier in ext4_sync_file()
    jbd2: Add function jbd2_trans_will_send_data_barrier()
    jbd2: fix sending of data flush on journal commit
    ext4: fix ext4_ext_fiemap_cb() to handle blocks before request range correctly
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (25 commits)
    cifs: remove unnecessary dentry_unhash on rmdir/rename_dir
    ocfs2: remove unnecessary dentry_unhash on rmdir/rename_dir
    exofs: remove unnecessary dentry_unhash on rmdir/rename_dir
    nfs: remove unnecessary dentry_unhash on rmdir/rename_dir
    ext2: remove unnecessary dentry_unhash on rmdir/rename_dir
    ext3: remove unnecessary dentry_unhash on rmdir/rename_dir
    ext4: remove unnecessary dentry_unhash on rmdir/rename_dir
    btrfs: remove unnecessary dentry_unhash in rmdir/rename_dir
    ceph: remove unnecessary dentry_unhash calls
    vfs: clean up vfs_rename_other
    vfs: clean up vfs_rename_dir
    vfs: clean up vfs_rmdir
    vfs: fix vfs_rename_dir for FS_RENAME_DOES_D_MOVE filesystems
    libfs: drop unneeded dentry_unhash
    vfs: update dentry_unhash() comment
    vfs: push dentry_unhash on rename_dir into file systems
    vfs: push dentry_unhash on rmdir into file systems
    vfs: remove dget() from dentry_unhash()
    vfs: dentry_unhash immediately prior to rmdir
    vfs: Block mmapped writes while the fs is frozen
    ...

    Linus Torvalds
     
  • The type of vma->vm_flags is 'unsigned long'. Neither 'int' nor
    'unsigned int'. This patch fixes such misuse.

    Signed-off-by: KOSAKI Motohiro
    [ Changed to use a typedef - we'll extend it to cover more cases
    later, since there has been discussion about making it a 64-bit
    type.. - Linus ]
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • This eighth patch of eight in this cleancache series "opts-in"
    cleancache for ocfs2. Clustered filesystems must explicitly enable
    cleancache by calling cleancache_init_shared_fs anytime an instance
    of the filesystem is mounted. Ocfs2 is currently the only user of
    the clustered filesystem interface but nevertheless, the cleancache
    hooks in the VFS layer are sufficient for ocfs2 including the matching
    cleancache_flush_fs hook which must be called on unmount.

    Details and a FAQ can be found in Documentation/vm/cleancache.txt

    [v8: trivial merge conflict update]
    [v5: jeremy@goop.org: simplify init hook and any future fs init changes]
    Signed-off-by: Dan Magenheimer
    Signed-off-by: Joel Becker
    Reviewed-by: Jeremy Fitzhardinge
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Mark Fasheh
    Cc: Andrew Morton
    Cc: Al Viro
    Cc: Matthew Wilcox
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc: Rik Van Riel
    Cc: Jan Beulich
    Cc: Chris Mason
    Cc: Andreas Dilger
    Cc: Ted Tso
    Cc: Nitin Gupta

    Dan Magenheimer
     
  • This seventh patch of eight in this cleancache series "opts-in"
    cleancache for ext4. Filesystems must explicitly enable cleancache
    by calling cleancache_init_fs anytime an instance of the filesystem
    is mounted. For ext4, all other cleancache hooks are in
    the VFS layer including the matching cleancache_flush_fs
    hook which must be called on unmount.

    Details and a FAQ can be found in Documentation/vm/cleancache.txt

    [v6-v8: no changes]
    [v5: jeremy@goop.org: simplify init hook and any future fs init changes]
    Signed-off-by: Dan Magenheimer
    Reviewed-by: Jeremy Fitzhardinge
    Reviewed-by: Konrad Rzeszutek Wilk
    Acked-by: Andreas Dilger
    Cc: Ted Ts'o
    Cc: Andrew Morton
    Cc: Al Viro
    Cc: Matthew Wilcox
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc: Rik Van Riel
    Cc: Jan Beulich
    Cc: Chris Mason
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Nitin Gupta

    Dan Magenheimer
     
  • This sixth patch of eight in this cleancache series "opts-in"
    cleancache for btrfs. Filesystems must explicitly enable
    cleancache by calling cleancache_init_fs anytime an instance
    of the filesystem is mounted. Btrfs uses its own readpage
    which must be hooked, but all other cleancache hooks are in
    the VFS layer including the matching cleancache_flush_fs hook
    which must be called on unmount.

    Details and a FAQ can be found in Documentation/vm/cleancache.txt

    [v6-v8: no changes]
    [v5: jeremy@goop.org: simplify init hook and any future fs init changes]
    Signed-off-by: Dan Magenheimer
    Signed-off-by: Chris Mason
    Reviewed-by: Jeremy Fitzhardinge
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Andrew Morton
    Cc: Al Viro
    Cc: Matthew Wilcox
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc: Rik Van Riel
    Cc: Jan Beulich
    Cc: Andreas Dilger
    Cc: Ted Ts'o
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Nitin Gupta

    Dan Magenheimer
     
  • This fifth patch of eight in this cleancache series "opts-in"
    cleancache for ext3. Filesystems must explicitly enable
    cleancache by calling cleancache_init_fs anytime an instance
    of the filesystem is mounted. For ext3, all other cleancache
    hooks are in the VFS layer including the matching cleancache_flush_fs
    hook which must be called on unmount.

    Details and a FAQ can be found in Documentation/vm/cleancache.txt

    [v6-v8: no changes]
    [v5: jeremy@goop.org: simplify init hook and any future fs init changes]
    Signed-off-by: Dan Magenheimer
    Reviewed-by: Jeremy Fitzhardinge
    Reviewed-by: Konrad Rzeszutek Wilk
    Acked-by: Andreas Dilger
    Cc: Ted Ts'o
    Cc: Andrew Morton
    Cc: Al Viro
    Cc: Matthew Wilcox
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc: Rik Van Riel
    Cc: Jan Beulich
    Cc: Chris Mason
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Nitin Gupta

    Dan Magenheimer
     
  • This fourth patch of eight in this cleancache series provides the
    core hooks in VFS for: initializing cleancache per filesystem;
    capturing clean pages reclaimed by page cache; attempting to get
    pages from cleancache before filesystem read; and ensuring coherency
    between pagecache, disk, and cleancache. Note that the placement
    of these hooks was stable from 2.6.18 to 2.6.38; a minor semantic
    change was required due to a patchset in 2.6.39.

    All hooks become no-ops if CONFIG_CLEANCACHE is unset, or become
    a check of a boolean global if CONFIG_CLEANCACHE is set but no
    cleancache "backend" has claimed cleancache_ops.

    Details and a FAQ can be found in Documentation/vm/cleancache.txt

    [v8: minchan.kim@gmail.com: adapt to new remove_from_page_cache function]
    Signed-off-by: Chris Mason
    Signed-off-by: Dan Magenheimer
    Reviewed-by: Jeremy Fitzhardinge
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Andrew Morton
    Cc: Al Viro
    Cc: Matthew Wilcox
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc: Rik Van Riel
    Cc: Jan Beulich
    Cc: Andreas Dilger
    Cc: Ted Ts'o
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Nitin Gupta

    Dan Magenheimer
     

26 May, 2011

28 commits

  • Cifs has no problems with lingering references to unlinked directory
    inodes.

    CC: Steve French
    CC: linux-cifs@vger.kernel.org
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Ocfs2 has no issues with lingering references to unlinked directory inodes.

    CC: Mark Fasheh
    CC: ocfs2-devel@oss.oracle.com
    Acked-by: Joel Becker
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Exofs has no problems with lingering references to unlinked directory
    inodes.

    CC: Benny Halevy
    CC: osd-dev@open-osd.org
    Acked-by: Boaz Harrosh
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • NFS has no problems with lingering references to unlinked directory
    inodes.

    CC: Trond Myklebust
    CC: linux-nfs@vger.kernel.org
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • ext2 has no problems with lingering references to unlinked directory
    inodes.

    CC: Jan Kara
    CC: linux-ext4@vger.kernel.org
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • ext3 has no problems with lingering references to unlinked directory
    inodes.

    CC: Jan Kara
    CC: Andrew Morton
    CC: Andreas Dilger
    CC: linux-ext4@vger.kernel.org
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • ext4 has no problems with lingering references to unlinked directory
    inodes.

    CC: "Theodore Ts'o"
    CC: Andreas Dilger
    CC: linux-ext4@vger.kernel.org
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Btrfs has no problems with lingering references to unlinked directory
    inodes.

    CC: Chris Mason
    CC: linux-btrfs@vger.kernel.org
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Ceph does not need these, and they screw up our use of the dcache as a
    consistent cache.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Simplify control flow to match vfs_rename_dir.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Simplify control flow through vfs_rename_dir.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Simplify the control flow with an out label.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • vfs_rename_dir() doesn't properly account for filesystems with
    FS_RENAME_DOES_D_MOVE. If new_dentry has a target inode attached, it
    unhashes the new_dentry prior to the rename() iop and rehashes it after,
    but doesn't account for the possibility that rename() may have swapped
    {old,new}_dentry. For FS_RENAME_DOES_D_MOVE filesystems, it rehashes
    new_dentry (now the old renamed-from name, which d_move() expected to go
    away), such that a subsequent lookup will find it. Currently all
    FS_RENAME_DOES_D_MOVE filesystems compensate for this by failing in
    d_revalidate.

    The bug was introduced by: commit 349457ccf2592c14bdf13b6706170ae2e94931b1
    "[PATCH] Allow file systems to manually d_move() inside of ->rename()"

    Fix by not rehashing the new dentry. Rehashing used to be needed by
    d_move() but isn't anymore.

    Reported-by: Sage Weil
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • There are no libfs issues with dangling references to empty directories.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • The helper is now only called by file systems, not the VFS.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Only a few file systems need this. Start by pushing it down into each
    rename method (except gfs2 and xfs) so that it can be dealt with on a
    per-fs basis.

    Acked-by: Christoph Hellwig
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • Only a few file systems need this. Start by pushing it down into each
    fs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs
    basis.

    This does not change behavior for any in-tree file systems.

    Acked-by: Christoph Hellwig
    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • This serves no useful purpose that I can discern. All callers (rename,
    rmdir) hold their own reference to the dentry.

    A quick audit of all file systems showed no relevant checks on the value
    of d_count in vfs_rmdir/vfs_rename_dir paths.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • This presumes that there is no reason to unhash a dentry if we fail because
    it is a mountpoint or the LSM check fails, and that the LSM checks do not
    depend on the dentry being unhashed.

    Signed-off-by: Sage Weil
    Signed-off-by: Al Viro

    Sage Weil
     
  • We should not allow file modification via mmap while the filesystem is
    frozen. So block in block_page_mkwrite() while the filesystem is frozen.
    We cannot do the blocking wait in __block_page_mkwrite() since e.g. ext4
    will want to call that function with transaction started in some cases
    and that would deadlock. But we can at least do the non-blocking reliable
    check in __block_page_mkwrite() which is the hardest part anyway.

    We have to check for frozen filesystem with the page marked dirty and under
    page lock with which we then return from ->page_mkwrite(). Only that way we
    cannot race with writeback done by freezing code - either we mark the page
    dirty after the writeback has started, see freezing in progress and block, or
    writeback will wait for our page lock which is released only when the fault is
    done and then writeback will writeout and writeprotect the page again.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jan Kara
    Signed-off-by: Al Viro

    Jan Kara
     
  • Create __block_page_mkwrite() helper which does all what block_page_mkwrite()
    does except that it passes back errors from __block_write_begin /
    block_commit_write calls.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jan Kara
    Signed-off-by: Al Viro

    Jan Kara
     
  • This issue was discovered by users of busybox. And the bug is actual for
    busybox users, I don't know how it affects others. Apparently, mount is
    called with and without MS_SILENT, and this affects mount() behaviour.
    But MS_SILENT is only supposed to affect kernel logging verbosity.

    The following script was run in an empty test directory:

    mkdir -p mount.dir mount.shared1 mount.shared2
    touch mount.dir/a mount.dir/b
    mount -vv --bind mount.shared1 mount.shared1
    mount -vv --make-rshared mount.shared1
    mount -vv --bind mount.shared2 mount.shared2
    mount -vv --make-rshared mount.shared2
    mount -vv --bind mount.shared2 mount.shared1
    mount -vv --bind mount.dir mount.shared2
    ls -R mount.dir mount.shared1 mount.shared2
    umount mount.dir mount.shared1 mount.shared2 2>/dev/null
    umount mount.dir mount.shared1 mount.shared2 2>/dev/null
    umount mount.dir mount.shared1 mount.shared2 2>/dev/null
    rm -f mount.dir/a mount.dir/b mount.dir/c
    rmdir mount.dir mount.shared1 mount.shared2

    mount -vv was used to show the mount() call arguments and result.
    Output shows that flag argument has 0x00008000 = MS_SILENT bit:

    mount: mount('mount.shared1','mount.shared1','(null)',0x00009000,'(null)'):0
    mount: mount('','mount.shared1','',0x0010c000,''):0
    mount: mount('mount.shared2','mount.shared2','(null)',0x00009000,'(null)'):0
    mount: mount('','mount.shared2','',0x0010c000,''):0
    mount: mount('mount.shared2','mount.shared1','(null)',0x00009000,'(null)'):0
    mount: mount('mount.dir','mount.shared2','(null)',0x00009000,'(null)'):0
    mount.dir:
    a
    b

    mount.shared1:

    mount.shared2:
    a
    b

    After adding --loud option to remove MS_SILENT bit from just one mount cmd:

    mkdir -p mount.dir mount.shared1 mount.shared2
    touch mount.dir/a mount.dir/b
    mount -vv --bind mount.shared1 mount.shared1 2>&1
    mount -vv --make-rshared mount.shared1 2>&1
    mount -vv --bind mount.shared2 mount.shared2 2>&1
    mount -vv --loud --make-rshared mount.shared2 2>&1 # &1
    mount -vv --bind mount.dir mount.shared2 2>&1
    ls -R mount.dir mount.shared1 mount.shared2 2>&1
    umount mount.dir mount.shared1 mount.shared2 2>/dev/null
    umount mount.dir mount.shared1 mount.shared2 2>/dev/null
    umount mount.dir mount.shared1 mount.shared2 2>/dev/null
    rm -f mount.dir/a mount.dir/b mount.dir/c
    rmdir mount.dir mount.shared1 mount.shared2

    The result is different now - look closely at mount.shared1 directory listing.
    Now it does show files 'a' and 'b':

    mount: mount('mount.shared1','mount.shared1','(null)',0x00009000,'(null)'):0
    mount: mount('','mount.shared1','',0x0010c000,''):0
    mount: mount('mount.shared2','mount.shared2','(null)',0x00009000,'(null)'):0
    mount: mount('','mount.shared2','',0x00104000,''):0
    mount: mount('mount.shared2','mount.shared1','(null)',0x00009000,'(null)'):0
    mount: mount('mount.dir','mount.shared2','(null)',0x00009000,'(null)'):0

    mount.dir:
    a
    b

    mount.shared1:
    a
    b

    mount.shared2:
    a
    b

    The analysis shows that MS_SILENT flag which is ON by default in any
    busybox-> mount operations cames to flags_to_propagation_type function and
    causes the error return while is_power_of_2 checking because the function
    expects only one bit set. This doesn't allow to do busybox->mount with
    any --make-[r]shared, --make-[r]private etc options.

    Moreover, the recently added flags_to_propagation_type() function doesn't
    allow us to do such operations as --make-[r]private --make-[r]shared etc.
    when MS_SILENT is on. The idea or clearing the MS_SILENT flag came from
    to Denys Vlasenko.

    Signed-off-by: Roman Borisov
    Reported-by: Denys Vlasenko
    Cc: Chuck Ebbert
    Cc: Alexander Shishkin
    Cc: Al Viro
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Al Viro

    Roman Borisov
     
  • Commit 990d6c2d7aee921e3bce22b2d6a750fd552262be ("vfs: Add name to file
    handle conversion support") changed EXPORTFS to be a bool.
    This was needed for earlier revisions of the original patch, but the actual
    commit put the code needing it into its own file that only gets compiled
    when FHANDLE is selected which in turn selects EXPORTFS.
    So EXPORTFS can be safely compiled as a module when not selecting FHANDLE.

    Signed-off-by: Jonas Gorski
    Acked-by: Aneesh Kumar K.V
    Signed-off-by: Al Viro

    Jonas Gorski
     
  • new helper: complete_walk(). Done on successful completion
    of walk, drops out of RCU mode, does d_revalidate of final
    result if that hadn't been done already.

    handle_reval_dot() and nameidata_drop_rcu_last() subsumed into
    that one; callers converted to use of complete_walk().

    Signed-off-by: Al Viro

    Al Viro
     
  • Merge these into a single function (unlazy_walk(nd, dentry)),
    kill ..._maybe variants

    Signed-off-by: Al Viro

    Al Viro
     
  • The kernel already prints its build timestamp during boot, no need to
    repeat it in random drivers and produce different object files each
    time.

    Cc: Steven Whitehouse
    Cc: cluster-devel@redhat.com
    Signed-off-by: Michal Marek

    Michal Marek
     
  • The kernel already prints its build timestamp during boot, no need to
    repeat it in random drivers and produce different object files each
    time.

    Cc: Christine Caulfield
    Cc: David Teigland
    Cc: cluster-devel@redhat.com
    Signed-off-by: Michal Marek

    Michal Marek
     
  • Conflicts:
    fs/ocfs2/ioctl.c

    Joel Becker