25 May, 2008

5 commits

  • Any file under /proc/net opened more than once leaked the refcounter
    on the module it belongs to.

    The problem is that module_get is called for each file opening while
    module_put is called only when /proc inode is destroyed. So, lets put
    module counter if we are dealing with already initialised inode.

    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10737

    Signed-off-by: Denis V. Lunev
    Cc: David Miller
    Cc: Patrick McHardy
    Acked-by: Pavel Emelyanov
    Acked-by: Robert Olsson
    Acked-by: Eric W. Biederman
    Reported-by: Roland Kletzing
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis V. Lunev
     
  • The atomic_t type is 32bit but a 64bit system can have more than 2^32
    pages of virtual address space available. Without this we overflow on
    ludicrously large mappings

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • replace all:
    little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) +
    expression_in_cpu_byteorder);
    with:
    leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder);
    generated with semantic patch

    Signed-off-by: Marcin Slusarz
    Acked-by: Anton Altaparmakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marcin Slusarz
     
  • Cc: Michael Halcrow
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cyrill Gorcunov
     
  • Fuse allocates a separate bdi for each filesystem, and registers them
    in sysfs with "MAJOR:MINOR" of sb->s_dev (st_dev). This works fine for
    anon devices normally used by fuse, but can conflict with an already
    registered BDI for "fuseblk" filesystems, where sb->s_dev represents a
    real block device. In particularl this happens if a non-partitioned
    device is being mounted.

    Fix by registering with a different name for "fuseblk" filesystems.

    Thanks to Ioan Ionita for the bug report.

    Signed-off-by: Miklos Szeredi
    Reported-by: Ioan Ionita
    Tested-by: Ioan Ionita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     

23 May, 2008

5 commits

  • * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
    [XFS] Fix memory corruption with small buffer reads
    [XFS] Fix inode list allocation size in writeback.
    [XFS] Don't allow memory reclaim to wait on the filesystem in inode
    [XFS] Fix fsync() b0rkage.
    [XFS] Include linux/random.h in all builds, not just debug builds.

    Linus Torvalds
     
  • When we have multiple buffers in a single page for a blocksize == pagesize
    filesystem we might overwrite the page contents if two callers hit it
    shortly after each other. To prevent that we need to keep the page locked
    until I/O is completed and the page marked uptodate.

    Thanks to Eric Sandeen for triaging this bug and finding a reproducible
    testcase and Dave Chinner for additional advice.

    This should fix kernel.org bz #10421.

    Tested-by: Eric Sandeen

    SGI-PV: 981813
    SGI-Modid: xfs-linux-melb:xfs-kern:31173a

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David Chinner
    Signed-off-by: Lachlan McIlroy

    Christoph Hellwig
     
  • We only need to allocate space for the number of inodes in the cluster
    when writing back inodes, not every byte in the inode cluster. This
    reduces the amount of memory needing to be allocated to 256 bytes instead
    of 64k.

    SGI-PV: 981949
    SGI-Modid: xfs-linux-melb:xfs-kern:31182a

    Signed-off-by: David Chinner
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • writeback

    If we allow memory reclaim to wait on the pages under writeback in inode
    cluster writeback we could deadlock because we are currently holding the
    ILOCK on the initial writeback inode which is needed in data I/O
    completion to change the file size or do unwritten extent conversion
    before the pages are taken out of writeback state.

    SGI-PV: 981091
    SGI-Modid: xfs-linux-melb:xfs-kern:31015a

    Signed-off-by: David Chinner
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Lachlan McIlroy

    David Chinner
     
  • xfs_fsync() fails to wait for data I/O completion before checking if the
    inode is dirty or clean to decide whether to log the inode or not. This
    misses inode size updates when the data flushed by the fsync() is
    extending the file.

    Hence, like fdatasync(), we need to wait for I/o completion first, then
    check the inode for cleanliness. Doing so makes the behaviour of
    xfs_fsync() identical for fsync and fdatasync and we *always* use
    synchronous semantics if the inode is dirty. Therefore also kill the
    differences and remove the unused flags from the xfs_fsync function and
    callers.

    SGI-PV: 981296
    SGI-Modid: xfs-linux-melb:xfs-kern:31033a

    Signed-off-by: David Chinner
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Lachlan McIlroy

    David Chinner
     

22 May, 2008

6 commits


21 May, 2008

7 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (21 commits)
    [CIFS] Remove debug statement
    Fix possible access to undefined memory region.
    [CIFS] Enable DFS support for Windows query path info
    [CIFS] Enable DFS support for Unix query path info
    [CIFS] add missing seq_printf to cifs_show_options for hard mount option
    [CIFS] add more complete mount options to cifs_show_options
    [CIFS] Add missing defines for DFS
    CIFSGetDFSRefer cleanup + dfs_referral_level_3 fixed to conform REFERRAL_V3 the MS-DFSC spec.
    Fixed DFS code to work with new 'build_path_from_dentry', that returns full path if share in the dfs, now.
    [CIFS] enable parsing for transport encryption mount parm
    [CIFS] Finishup DFS code
    [CIFS] BKL-removal: convert CIFS over to unlocked_ioctl
    [CIFS] suppress duplicate warning
    [CIFS] Fix paths when share is in DFS to include proper prefix
    add function to convert access flags to legacy open mode
    clarify return value of cifs_convert_flags()
    [CIFS] don't explicitly do a FindClose on rewind when directory search has ended
    [CIFS] cleanup old checkpatch warnings
    [CIFS] CIFSSMBPosixLock should return -EINVAL on error
    fix memory leak in CIFSFindNext
    ...

    Linus Torvalds
     
  • Signed-off-by: Steve French

    Steve French
     
  • Signed-off-by: Igor Mammedov
    Signed-off-by: Steve French

    Igor Mammedov
     
  • * 'for-2.6.26' of git://linux-nfs.org/~bfields/linux: (25 commits)
    svcrdma: Verify read-list fits within RPCSVC_MAXPAGES
    svcrdma: Change svc_rdma_send_error return type to void
    svcrdma: Copy transport address and arm CQ before calling rdma_accept
    svcrdma: Set rqstp transport address in rdma_read_complete function
    svcrdma: Use ib verbs version of dma_unmap
    svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free
    svcrdma: Move the QP and cm_id destruction to svc_rdma_free
    svcrdma: Add reference for each SQ/RQ WR
    svcrdma: Move destroy to kernel thread
    svcrdma: Shrink scope of spinlock on RQ CQ
    svcrdma: Use standard Linux lists for context cache
    svcrdma: Simplify RDMA_READ deferral buffer management
    svcrdma: Remove unused READ_DONE context flags bit
    svcrdma: Return error from rdma_read_xdr so caller knows to free context
    svcrdma: Fix error handling during listening endpoint creation
    svcrdma: Free context on post_recv error in send_reply
    svcrdma: Free context on ib_post_recv error
    svcrdma: Add put of connection ESTABLISHED reference in rdma_cma_handler
    svcrdma: Fix return value in svc_rdma_send
    svcrdma: Fix race with dto_tasklet in svc_rdma_send
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
    pktgen: make sure that pktgen_thread_worker has been executed
    [VLAN]: Propagate selected feature bits to VLAN devices
    drivers/atm/: remove CVS keywords
    vlan: Correctly handle device notifications for layered VLAN devices
    net: Fix call to ->change_rx_flags(dev, IFF_MULTICAST) in dev_change_flags()
    net_sched: cls_api: fix return value for non-existant classifiers
    ipsec: Use the correct ip_local_out function
    ipv6 addrconf: Allow infinite prefix lifetime.
    ipv6 route: Fix lifetime in netlink.
    ipv6 addrconf: Fix route lifetime setting in corner case.
    ndisc: Add missing strategies for per-device retrans timer/reachable time settings.
    ipv6: Move from header-y to unifdef-y.
    l2tp: avoid skb truesize bug if headroom is increased
    wireless: Create 'device' symlink in sysfs
    wireless, airo: waitbusy() won't delay
    libertas: fix command timeout after firmware failure
    mac80211: Add RTNL version of ieee80211_iterate_active_interfaces
    mac80211 : Association with 11n hidden ssid ap.
    hostap: fix "registers" registration in procfs
    isdn/capi: Return proper errnos on module init.
    ...

    Linus Torvalds
     
  • Final piece for handling DFS in query_path_info, constructing a
    fake inode for the junction directory which the submount will cover.

    This handles the non-Unix (Windows etc.) code path.

    Signed-off-by: Steve French

    Steve French
     
  • Final piece for handling DFS in unix_query_path_info, constructing a
    fake inode for the junction directory which the submount will cover.

    Acked-by: Igor Mammedov
    Signed-off-by: Steve French

    Steve French
     

20 May, 2008

8 commits


19 May, 2008

2 commits


17 May, 2008

7 commits