27 Mar, 2009

1 commit


24 Mar, 2009

2 commits

  • Revert the change to the orphan dates of Windows 95, DOS, compression.
    Add a new orphan date for OS/2.

    Signed-off-by: Jody McIntyre
    Acked-by: Pavel Machek
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)
    ucc_geth: Fix oops when using fixed-link support
    dm9000: locking bugfix
    net: update dnet.c for bus_id removal
    dnet: DNET should depend on HAS_IOMEM
    dca: add missing copyright/license headers
    nl80211: Check that function pointer != NULL before using it
    sungem: missing net_device_ops
    be2net: fix to restore vlan ids into BE2 during a IF DOWN->UP cycle
    be2net: replenish when posting to rx-queue is starved in out of mem conditions
    bas_gigaset: correctly allocate USB interrupt transfer buffer
    smsc911x: reset last known duplex and carrier on open
    sh_eth: Fix mistake of the address of SH7763
    sh_eth: Change handling of IRQ
    netns: oops in ip[6]_frag_reasm incrementing stats
    net: kfree(napi->skb) => kfree_skb
    net: fix sctp breakage
    ipv6: fix display of local and remote sit endpoints
    net: Document /proc/sys/net/core/netdev_budget
    tulip: fix crash on iface up with shirq debug
    virtio_net: Make virtio_net support carrier detection
    ...

    Linus Torvalds
     

19 Mar, 2009

1 commit


16 Mar, 2009

1 commit

  • Removing the BKL from FASYNC handling ran into the challenge of keeping the
    setting of the FASYNC bit in filp->f_flags atomic with regard to calls to
    the underlying fasync() function. Andi Kleen suggested moving the handling
    of that bit into fasync(); this patch does exactly that. As a result, we
    have a couple of internal API changes: fasync() must now manage the FASYNC
    bit, and it will be called without the BKL held.

    As it happens, every fasync() implementation in the kernel with one
    exception calls fasync_helper(). So, if we make fasync_helper() set the
    FASYNC bit, we can avoid making any changes to the other fasync()
    functions - as long as those functions, themselves, have proper locking.
    Most fasync() implementations do nothing but call fasync_helper() - which
    has its own lock - so they are easily verified as correct. The BKL had
    already been pushed down into the rest.

    The networking code has its own version of fasync_helper(), so that code
    has been augmented with explicit FASYNC bit handling.

    Cc: Al Viro
    Cc: David Miller
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     

13 Mar, 2009

1 commit


05 Mar, 2009

1 commit


23 Feb, 2009

1 commit


05 Feb, 2009

1 commit

  • This patch makes the ROM reading code return an error to user space if
    the size of the ROM read is equal to 0.

    The patch also emits a warnings if the contents of the ROM are invalid,
    and documents the effects of the "enable" file on ROM reading.

    Signed-off-by: Timothy S. Nelson
    Acked-by: Alex Villacis-Lasso
    Signed-off-by: Jesse Barnes

    Timothy S. Nelson
     

04 Feb, 2009

1 commit

  • * 'linux-next' of git://git.infradead.org/ubifs-2.6:
    UBIFS: remove fast unmounting
    UBIFS: return sensible error codes
    UBIFS: remount ro fixes
    UBIFS: spelling fix 'date' -> 'data'
    UBIFS: sync wbufs after syncing inodes and pages
    UBIFS: fix LPT out-of-space bug (again)
    UBIFS: fix no_chk_data_crc
    UBIFS: fix assertions
    UBIFS: ensure orphan area head is initialized
    UBIFS: always clean up GC LEB space
    UBIFS: add re-mount debugging checks
    UBIFS: fix LEB list freeing
    UBIFS: simplify locking
    UBIFS: document dark_wm and dead_wm better
    UBIFS: do not treat all data as short term
    UBIFS: constify operations
    UBIFS: do not commit twice

    Linus Torvalds
     

30 Jan, 2009

1 commit


29 Jan, 2009

1 commit

  • This UBIFS feature has never worked properly, and it was a mistake
    to add it because we simply have no use-cases. So, lets still accept
    the fast_unmount mount option, but ignore it. This does not change
    much, because UBIFS commit in sync_fs anyway, and sync_fs is called
    while unmounting.

    Signed-off-by: Artem Bityutskiy

    Artem Bityutskiy
     

28 Jan, 2009

1 commit


16 Jan, 2009

1 commit

  • Update Documentation/sysctl/vm.txt and Documentation/filesystems/proc.txt.
    More specifically, the section on /proc/sys/vm in
    Documentation/filesystems/proc.txt was removed and a link to
    Documentation/sysctl/vm.txt added.

    Most of the verbiage from proc.txt was simply moved in vm.txt, with new
    addtional text for "swappiness" and "stat_interval".

    Signed-off-by: Peter W Morreale
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter W Morreale
     

10 Jan, 2009

3 commits

  • Currently, ext3 in mainline Linux doesn't have the freeze feature which
    suspends write requests. So, we cannot take a backup which keeps the
    filesystem's consistency with the storage device's features (snapshot and
    replication) while it is mounted.

    In many case, a commercial filesystem (e.g. VxFS) has the freeze feature
    and it would be used to get the consistent backup.

    If Linux's standard filesystem ext3 has the freeze feature, we can do it
    without a commercial filesystem.

    So I have implemented the ioctls of the freeze feature.
    I think we can take the consistent backup with the following steps.
    1. Freeze the filesystem with the freeze ioctl.
    2. Separate the replication volume or create the snapshot
    with the storage device's feature.
    3. Unfreeze the filesystem with the unfreeze ioctl.
    4. Take the backup from the separated replication volume
    or the snapshot.

    This patch:

    VFS:
    Changed the type of write_super_lockfs and unlockfs from "void"
    to "int" so that they can return an error.
    Rename write_super_lockfs and unlockfs of the super block operation
    freeze_fs and unfreeze_fs to avoid a confusion.

    ext3, ext4, xfs, gfs2, jfs:
    Changed the type of write_super_lockfs and unlockfs from "void"
    to "int" so that write_super_lockfs returns an error if needed,
    and unlockfs always returns 0.

    reiserfs:
    Changed the type of write_super_lockfs and unlockfs from "void"
    to "int" so that they always return 0 (success) to keep a current behavior.

    Signed-off-by: Takashi Sato
    Signed-off-by: Masayuki Hamaguchi
    Cc:
    Cc:
    Cc: Christoph Hellwig
    Cc: Dave Kleikamp
    Cc: Dave Chinner
    Cc: Alasdair G Kergon
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Sato
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
    MAINTAINERS: squashfs entry
    Squashfs: documentation
    Squashfs: initrd support
    Squashfs: Kconfig entry
    Squashfs: Makefiles
    Squashfs: header files
    Squashfs: block operations
    Squashfs: cache operations
    Squashfs: uid/gid lookup operations
    Squashfs: fragment block operations
    Squashfs: export operations
    Squashfs: super block operations
    Squashfs: symlink operations
    Squashfs: regular file operations
    Squashfs: directory readdir operations
    Squashfs: directory lookup operations
    Squashfs: inode operations

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (864 commits)
    Btrfs: explicitly mark the tree log root for writeback
    Btrfs: Drop the hardware crc32c asm code
    Btrfs: Add Documentation/filesystem/btrfs.txt, remove old COPYING
    Btrfs: kmap_atomic(KM_USER0) is safe for btrfs_readpage_end_io_hook
    Btrfs: Don't use kmap_atomic(..., KM_IRQ0) during checksum verifies
    Btrfs: tree logging checksum fixes
    Btrfs: don't change file extent's ram_bytes in btrfs_drop_extents
    Btrfs: Use btrfs_join_transaction to avoid deadlocks during snapshot creation
    Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code
    Btrfs: drop EXPORT symbols from extent_io.c
    Btrfs: Fix checkpatch.pl warnings
    Btrfs: Fix free block discard calls down to the block layer
    Btrfs: avoid orphan inode caused by log replay
    Btrfs: avoid potential super block corruption
    Btrfs: do not call kfree if kmalloc failed in btrfs_sysfs_add_super
    Btrfs: fix a memory leak in btrfs_get_sb
    Btrfs: Fix typo in clear_state_cb
    Btrfs: Fix memset length in btrfs_file_write
    Btrfs: update directory's size when creating subvol/snapshot
    Btrfs: add permission checks to the ioctls
    ...

    Linus Torvalds
     

09 Jan, 2009

1 commit

  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits)
    jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs
    ext4: Remove "extents" mount option
    block: Add Kconfig help which notes that ext4 needs CONFIG_LBD
    ext4: Make printk's consistently prefixed with "EXT4-fs: "
    ext4: Add sanity checks for the superblock before mounting the filesystem
    ext4: Add mount option to set kjournald's I/O priority
    jbd2: Submit writes to the journal using WRITE_SYNC
    jbd2: Add pid and journal device name to the "kjournald2 starting" message
    ext4: Add markers for better debuggability
    ext4: Remove code to create the journal inode
    ext4: provide function to release metadata pages under memory pressure
    ext3: provide function to release metadata pages under memory pressure
    add releasepage hooks to block devices which can be used by file systems
    ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc
    ext4: Init the complete page while building buddy cache
    ext4: Don't allow new groups to be added during block allocation
    ext4: mark the blocks/inode bitmap beyond end of group as used
    ext4: Use new buffer_head flag to check uninit group bitmaps initialization
    ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()
    ext4: code cleanup
    ...

    Linus Torvalds
     

08 Jan, 2009

1 commit


07 Jan, 2009

5 commits

  • Signed-off-by: Chris Mason

    David Woodhouse
     
  • f_op->poll is the only vfs operation which is not allowed to sleep. It's
    because poll and select implementation used task state to synchronize
    against wake ups, which doesn't have to be the case anymore as wait/wake
    interface can now use custom wake up functions. The non-sleep restriction
    can be a bit tricky because ->poll is not called from an atomic context
    and the result of accidentally sleeping in ->poll only shows up as
    temporary busy looping when the timing is right or rather wrong.

    This patch converts poll/select to use custom wake up function and use
    separate triggered variable to synchronize against wake up events. The
    only added overhead is an extra function call during wake up and
    negligible.

    This patch removes the one non-sleep exception from vfs locking rules and
    is beneficial to userland filesystem implementations like FUSE, 9p or
    peculiar fs like spufs as it's very difficult for those to implement
    non-sleeping poll method.

    While at it, make the following cosmetic changes to make poll.h and
    select.c checkpatch friendly.

    * s/type * symbol/type *symbol/ : three places in poll.h
    * remove blank line before EXPORT_SYMBOL() : two places in select.c

    Oleg: spotted missing barrier in poll_schedule_timeout()
    Davide: spotted missing write barrier in pollwake()

    Signed-off-by: Tejun Heo
    Cc: Eric Van Hensbergen
    Cc: Ron Minnich
    Cc: Ingo Molnar
    Cc: Christoph Hellwig
    Signed-off-by: Miklos Szeredi
    Cc: Davide Libenzi
    Cc: Brad Boyer
    Cc: Al Viro
    Cc: Roland McGrath
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Andrew Morton
    Cc: Davide Libenzi
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • This change introduces two new sysctls to /proc/sys/vm:
    dirty_background_bytes and dirty_bytes.

    dirty_background_bytes is the counterpart to dirty_background_ratio and
    dirty_bytes is the counterpart to dirty_ratio.

    With growing memory capacities of individual machines, it's no longer
    sufficient to specify dirty thresholds as a percentage of the amount of
    dirtyable memory over the entire system.

    dirty_background_bytes and dirty_bytes specify quantities of memory, in
    bytes, that represent the dirty limits for the entire system. If either
    of these values is set, its value represents the amount of dirty memory
    that is needed to commence either background or direct writeback.

    When a `bytes' or `ratio' file is written, its counterpart becomes a
    function of the written value. For example, if dirty_bytes is written to
    be 8096, 8K of memory is required to commence direct writeback.
    dirty_ratio is then functionally equivalent to 8K / the amount of
    dirtyable memory:

    dirtyable_memory = free pages + mapped pages + file cache

    dirty_background_bytes = dirty_background_ratio * dirtyable_memory
    -or-
    dirty_background_ratio = dirty_background_bytes / dirtyable_memory

    AND

    dirty_bytes = dirty_ratio * dirtyable_memory
    -or-
    dirty_ratio = dirty_bytes / dirtyable_memory

    Only one of dirty_background_bytes and dirty_background_ratio may be
    specified at a time, and only one of dirty_bytes and dirty_ratio may be
    specified. When one sysctl is written, the other appears as 0 when read.

    The `bytes' files operate on a page size granularity since dirty limits
    are compared with ZVC values, which are in page units.

    Prior to this change, the minimum dirty_ratio was 5 as implemented by
    get_dirty_limits() although /proc/sys/vm/dirty_ratio would show any user
    written value between 0 and 100. This restriction is maintained, but
    dirty_bytes has a lower limit of only one page.

    Also prior to this change, the dirty_background_ratio could not equal or
    exceed dirty_ratio. This restriction is maintained in addition to
    restricting dirty_background_bytes. If either background threshold equals
    or exceeds that of the dirty threshold, it is implicitly set to half the
    dirty threshold.

    Acked-by: Peter Zijlstra
    Cc: Dave Chinner
    Cc: Christoph Lameter
    Signed-off-by: David Rientjes
    Cc: Andrea Righi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • This mount option is largely superfluous, and in fact the way it was
    implemented was buggy; if a filesystem which did not have the extents
    feature flag was mounted -o extents, the filesystem would attempt to
    create and use extents-based file even though the extents feature flag
    was not eabled. The simplest thing to do is to nuke the mount option
    entirely. It's not all that useful to force the non-creation of new
    extent-based files if the filesystem can support it.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     
  • This code has been obsolete in quite some time, since the supported
    method for adding a journal inode is to use tune2fs (or to creating
    new filesystem with a journal via mke2fs or mkfs.ext4).

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     

06 Jan, 2009

2 commits


05 Jan, 2009

2 commits

  • /proc/*/stack adds the ability to query a task's stack trace. It is more
    useful than /proc/*/wchan as it provides full stack trace instead of single
    depth. Example output:

    $ cat /proc/self/stack
    [] save_stack_trace_tsk+0x17/0x35
    [] proc_pid_stack+0x4a/0x76
    [] proc_single_show+0x4a/0x5e
    [] seq_read+0xf3/0x29f
    [] vfs_read+0x6d/0x91
    [] sys_read+0x3b/0x60
    [] syscall_call+0x7/0xb
    [] 0xffffffff

    [add save_stack_trace_tsk() on mips, ACK Ralf --adobriyan]
    Signed-off-by: Ken Chen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Alexey Dobriyan

    Ken Chen
     
  • Signed-off-by: Phillip Lougher

    Phillip Lougher
     

03 Jan, 2009

2 commits

  • * 'linux-next' of git://git.infradead.org/ubifs-2.6: (33 commits)
    UBIFS: add more useful debugging prints
    UBIFS: print debugging messages properly
    UBIFS: fix numerous spelling mistakes
    UBIFS: allow mounting when short of space
    UBIFS: fix writing uncompressed files
    UBIFS: fix checkpatch.pl warnings
    UBIFS: fix sparse warnings
    UBIFS: simplify make_free_space
    UBIFS: do not lie about used blocks
    UBIFS: restore budg_uncommitted_idx
    UBIFS: always commit on unmount
    UBIFS: use ubi_sync
    UBIFS: always commit in sync_fs
    UBIFS: fix file-system synchronization
    UBIFS: fix constants initialization
    UBIFS: avoid unnecessary calculations
    UBIFS: re-calculate min_idx_size after the commit
    UBIFS: use nicer 64-bit math
    UBIFS: fix available blocks count
    UBIFS: various comment improvements and fixes
    ...

    Linus Torvalds
     
  • Changelog [v2]:
    - Add note indicating strict isolation is not possible unless all
    mounts of devpts use the 'newinstance' mount option.

    Signed-off-by: Sukadev Bhattiprolu
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Sukadev Bhattiprolu
     

01 Jan, 2009

3 commits


31 Dec, 2008

1 commit


29 Dec, 2008

1 commit

  • Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

    Conflicts:

    fs/xfs/linux-2.6/xfs_cred.h
    fs/xfs/linux-2.6/xfs_globals.h
    fs/xfs/linux-2.6/xfs_ioctl.c
    fs/xfs/xfs_vnodeops.h

    Signed-off-by: Lachlan McIlroy

    Lachlan McIlroy
     

23 Dec, 2008

1 commit

  • …86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core

    Ingo Molnar
     

05 Dec, 2008

1 commit


03 Dec, 2008

1 commit


02 Dec, 2008

2 commits

  • It has been thought that the per-user file descriptors limit would also
    limit the resources that a normal user can request via the epoll
    interface. Vegard Nossum reported a very simple program (a modified
    version attached) that can make a normal user to request a pretty large
    amount of kernel memory, well within the its maximum number of fds. To
    solve such problem, default limits are now imposed, and /proc based
    configuration has been introduced. A new directory has been created,
    named /proc/sys/fs/epoll/ and inside there, there are two configuration
    points:

    max_user_instances = Maximum number of devices - per user

    max_user_watches = Maximum number of "watched" fds - per user

    The current default for "max_user_watches" limits the memory used by epoll
    to store "watches", to 1/32 of the amount of the low RAM. As example, a
    256MB 32bit machine, will have "max_user_watches" set to roughly 90000.
    That should be enough to not break existing heavy epoll users. The
    default value for "max_user_instances" is set to 128, that should be
    enough too.

    This also changes the userspace, because a new error code can now come out
    from EPOLL_CTL_ADD (-ENOSPC). The EMFILE from epoll_create() was already
    listed, so that should be ok.

    [akpm@linux-foundation.org: use get_current_user()]
    Signed-off-by: Davide Libenzi
    Cc: Michael Kerrisk
    Cc:
    Cc: Cyrill Gorcunov
    Reported-by: Vegard Nossum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     
  • Remove some features from the "not-supported" list that are actually
    supported now.

    Signed-off-by: Mark Fasheh

    Mark Fasheh