Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 118516
b: refs/heads/master
c: d2ed5cb
h: refs/heads/master
v: v3
  • Loading branch information
Russell King authored and Russell King committed Nov 4, 2008
1 parent 54948d8 commit 2b8dc3c
Show file tree
Hide file tree
Showing 113 changed files with 908 additions and 2,841 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6572a281cfd805dd54718597d6c33261b5be052b
refs/heads/master: d2ed5cb80a241518dd71f467c884bfabbe15f68c
3 changes: 0 additions & 3 deletions trunk/Documentation/cciss.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,11 @@ This driver is known to work with the following cards:
* SA E200
* SA E200i
* SA E500
* SA P700m
* SA P212
* SA P410
* SA P410i
* SA P411
* SA P812
* SA P712m
* SA P711m

Detecting drive failures:
-------------------------
Expand Down
25 changes: 0 additions & 25 deletions trunk/Documentation/email-clients.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,29 +213,4 @@ TkRat (GUI)

Works. Use "Insert file..." or external editor.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Gmail (Web GUI)

If you just have to use Gmail to send patches, it CAN be made to work. It
requires a bit of external help, though.

The first problem is that Gmail converts tabs to spaces. This will
totally break your patches. To prevent this, you have to use a different
editor. There is a firefox extension called "ViewSourceWith"
(https://addons.mozilla.org/en-US/firefox/addon/394) which allows you to
edit any text box in the editor of your choice. Configure it to launch
your favorite editor. When you want to send a patch, use this technique.
Once you have crafted your messsage + patch, save and exit the editor,
which should reload the Gmail edit box. GMAIL WILL PRESERVE THE TABS.
Hoorah. Apparently you can cut-n-paste literal tabs, but Gmail will
convert those to spaces upon sending!

The second problem is that Gmail converts tabs to spaces on replies. If
you reply to a patch, don't expect to be able to apply it as a patch.

The last problem is that Gmail will base64-encode any message that has a
non-ASCII character. That includes things like European names. Be aware.

Gmail is not convenient for lkml patches, but CAN be made to work.

###
32 changes: 2 additions & 30 deletions trunk/Documentation/filesystems/vfat.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@ if you want to format from within Linux.

VFAT MOUNT OPTIONS
----------------------------------------------------------------------
uid=### -- Set the owner of all files on this filesystem.
The default is the uid of current process.

gid=### -- Set the group of all files on this filesystem.
The default is the gid of current process.

umask=### -- The permission mask (for files and directories, see umask(1)).
The default is the umask of current process.

Expand Down Expand Up @@ -42,7 +36,7 @@ codepage=### -- Sets the codepage number for converting to shortname
characters on FAT filesystem.
By default, FAT_DEFAULT_CODEPAGE setting is used.

iocharset=<name> -- Character set to use for converting between the
iocharset=name -- Character set to use for converting between the
encoding is used for user visible filename and 16 bit
Unicode characters. Long filenames are stored on disk
in Unicode format, but Unix for the most part doesn't
Expand Down Expand Up @@ -92,8 +86,6 @@ check=s|r|n -- Case sensitivity checking setting.
r: relaxed, case insensitive
n: normal, default setting, currently case insensitive

nocase -- This was deprecated for vfat. Use shortname=win95 instead.

shortname=lower|win95|winnt|mixed
-- Shortname display/create setting.
lower: convert to lowercase for display,
Expand All @@ -107,31 +99,11 @@ shortname=lower|win95|winnt|mixed
tz=UTC -- Interpret timestamps as UTC rather than local time.
This option disables the conversion of timestamps
between local time (as used by Windows on FAT) and UTC
(which Linux uses internally). This is particularly
(which Linux uses internally). This is particuluarly
useful when mounting devices (like digital cameras)
that are set to UTC in order to avoid the pitfalls of
local time.

showexec -- If set, the execute permission bits of the file will be
allowed only if the extension part of the name is .EXE,
.COM, or .BAT. Not set by default.

debug -- Can be set, but unused by the current implementation.

sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as
IMMUTABLE flag on Linux. Not set by default.

flush -- If set, the filesystem will try to flush to disk more
early than normal. Not set by default.

rodir -- FAT has the ATTR_RO (read-only) attribute. But on Windows,
the ATTR_RO of the directory will be just ignored actually,
and is used by only applications as flag. E.g. it's setted
for the customized folder.

If you want to use ATTR_RO as read-only flag even for
the directory, set this option.

<bool>: 0,1,yes,no,true,false

TODO
Expand Down
8 changes: 3 additions & 5 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -995,15 +995,13 @@ and is between 256 and 4096 characters. It is defined in the file
Format:
<cpu number>,...,<cpu number>
or
<cpu number>-<cpu number>
(must be a positive range in ascending order)
<cpu number>-<cpu number> (must be a positive range in ascending order)
or a mixture
<cpu number>,...,<cpu number>-<cpu number>

This option can be used to specify one or more CPUs
to isolate from the general SMP balancing and scheduling
algorithms. You can move a process onto or off an
"isolated" CPU via the CPU affinity syscalls or cpuset.
algorithms. The only way to move a process onto or off
an "isolated" CPU is via the CPU affinity syscalls.
<cpu number> begins at 0 and the maximum value is
"number of CPUs in system - 1".

Expand Down
2 changes: 1 addition & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -721,7 +721,7 @@ W: http://sourceforge.net/projects/acpi4asus
W: http://xf.iksaif.net/acpi4asus
S: Maintained

ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
ASYNCHRONOUS TRANSFERS/TRANSFORMS API
P: Dan Williams
M: dan.j.williams@intel.com
P: Maciej Sosnowski
Expand Down
6 changes: 5 additions & 1 deletion trunk/arch/arm/kernel/elf.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,16 @@ int elf_check_arch(const struct elf32_hdr *x)

eflags = x->e_flags;
if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) {
unsigned int flt_fmt;

/* APCS26 is only allowed if the CPU supports it */
if ((eflags & EF_ARM_APCS_26) && !(elf_hwcap & HWCAP_26BIT))
return 0;

flt_fmt = eflags & (EF_ARM_VFP_FLOAT | EF_ARM_SOFT_FLOAT);

/* VFP requires the supporting code */
if ((eflags & EF_ARM_VFP_FLOAT) && !(elf_hwcap & HWCAP_VFP))
if (flt_fmt == EF_ARM_VFP_FLOAT && !(elf_hwcap & HWCAP_VFP))
return 0;
}
return 1;
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/powerpc/platforms/cell/ras.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include <linux/kexec.h>
#include <linux/crash_dump.h>

#include <asm/kexec.h>
#include <asm/reg.h>
#include <asm/io.h>
#include <asm/prom.h>
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/powerpc/platforms/pseries/pci_dlpar.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn)
{
struct pci_controller *phb;
int primary;
struct pci_bus *b;

primary = list_empty(&hose_list);
phb = pcibios_alloc_controller(dn);
Expand Down
7 changes: 3 additions & 4 deletions trunk/arch/x86/include/asm/topology.h
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ extern unsigned long node_remap_size[];

#endif

/* sched_domains SD_NODE_INIT for NUMA machines */
/* sched_domains SD_NODE_INIT for NUMAQ machines */
#define SD_NODE_INIT (struct sched_domain) { \
.min_interval = 8, \
.max_interval = 32, \
Expand All @@ -169,9 +169,8 @@ extern unsigned long node_remap_size[];
.flags = SD_LOAD_BALANCE \
| SD_BALANCE_EXEC \
| SD_BALANCE_FORK \
| SD_WAKE_AFFINE \
| SD_WAKE_BALANCE \
| SD_SERIALIZE, \
| SD_SERIALIZE \
| SD_WAKE_BALANCE, \
.last_balance = jiffies, \
.balance_interval = 1, \
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/block/blk-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1770,6 +1770,8 @@ static void end_that_request_last(struct request *req, int error)
{
struct gendisk *disk = req->rq_disk;

blk_delete_timer(req);

if (blk_rq_tagged(req))
blk_queue_end_tag(req->q, req);

Expand All @@ -1779,8 +1781,6 @@ static void end_that_request_last(struct request *req, int error)
if (unlikely(laptop_mode) && blk_fs_request(req))
laptop_io_completion();

blk_delete_timer(req);

/*
* Account IO completion. bar_rq isn't accounted as a normal
* IO on queueing nor completion. Accounting the containing
Expand Down
21 changes: 21 additions & 0 deletions trunk/block/blk-merge.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,27 @@ int blk_rq_map_sg(struct request_queue *q, struct request *rq,
}
EXPORT_SYMBOL(blk_rq_map_sg);

static inline int ll_new_mergeable(struct request_queue *q,
struct request *req,
struct bio *bio)
{
int nr_phys_segs = bio_phys_segments(q, bio);

if (req->nr_phys_segments + nr_phys_segs > q->max_phys_segments) {
req->cmd_flags |= REQ_NOMERGE;
if (req == q->last_merge)
q->last_merge = NULL;
return 0;
}

/*
* A hw segment is just getting larger, bump just the phys
* counter.
*/
req->nr_phys_segments += nr_phys_segs;
return 1;
}

static inline int ll_new_hw_segment(struct request_queue *q,
struct request *req,
struct bio *bio)
Expand Down
20 changes: 17 additions & 3 deletions trunk/block/blk-timeout.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,14 @@ void blk_delete_timer(struct request *req)
{
struct request_queue *q = req->q;

/*
* Nothing to detach
*/
if (!q->rq_timed_out_fn || !req->deadline)
return;

list_del_init(&req->timeout_list);

if (list_empty(&q->timeout_list))
del_timer(&q->timeout);
}
Expand Down Expand Up @@ -135,7 +142,7 @@ void blk_rq_timed_out_timer(unsigned long data)
}

if (next_set && !list_empty(&q->timeout_list))
mod_timer(&q->timeout, round_jiffies_up(next));
mod_timer(&q->timeout, round_jiffies(next));

spin_unlock_irqrestore(q->queue_lock, flags);
}
Expand Down Expand Up @@ -191,10 +198,17 @@ void blk_add_timer(struct request *req)

/*
* If the timer isn't already pending or this timeout is earlier
* than an existing one, modify the timer. Round up to next nearest
* than an existing one, modify the timer. Round to next nearest
* second.
*/
expiry = round_jiffies_up(req->deadline);
expiry = round_jiffies(req->deadline);

/*
* We use ->deadline == 0 to detect whether a timer was added or
* not, so just increase to next jiffy for that specific case
*/
if (unlikely(!req->deadline))
req->deadline = 1;

if (!timer_pending(&q->timeout) ||
time_before(expiry, q->timeout.expires))
Expand Down
12 changes: 6 additions & 6 deletions trunk/block/elevator.c
Original file line number Diff line number Diff line change
Expand Up @@ -773,6 +773,12 @@ struct request *elv_next_request(struct request_queue *q)
*/
rq->cmd_flags |= REQ_STARTED;
blk_add_trace_rq(q, rq, BLK_TA_ISSUE);

/*
* We are now handing the request to the hardware,
* add the timeout handler
*/
blk_add_timer(rq);
}

if (!q->boundary_rq || q->boundary_rq == rq) {
Expand Down Expand Up @@ -844,12 +850,6 @@ void elv_dequeue_request(struct request_queue *q, struct request *rq)
*/
if (blk_account_rq(rq))
q->in_flight++;

/*
* We are now handing the request to the hardware, add the
* timeout handler.
*/
blk_add_timer(rq);
}
EXPORT_SYMBOL(elv_dequeue_request);

Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -4024,7 +4024,6 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {

/* Weird ATAPI devices */
{ "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 },
{ "QUANTUM DAT DAT72-000", NULL, ATA_HORKAGE_ATAPI_MOD16_DMA },

/* Devices we expect to fail diagnostics */

Expand Down Expand Up @@ -4445,8 +4444,7 @@ int atapi_check_dma(struct ata_queued_cmd *qc)
/* Don't allow DMA if it isn't multiple of 16 bytes. Quite a
* few ATAPI devices choke on such DMA requests.
*/
if (!(qc->dev->horkage & ATA_HORKAGE_ATAPI_MOD16_DMA) &&
unlikely(qc->nbytes & 15))
if (unlikely(qc->nbytes & 15))
return 1;

if (ap->ops->check_atapi_dma)
Expand Down Expand Up @@ -5936,7 +5934,7 @@ static void ata_port_detach(struct ata_port *ap)
* to us. Restore SControl and disable all existing devices.
*/
__ata_port_for_each_link(link, ap) {
sata_scr_write(link, SCR_CONTROL, link->saved_scontrol & 0xff0);
sata_scr_write(link, SCR_CONTROL, link->saved_scontrol);
ata_link_for_each_dev(dev, link)
ata_dev_disable(dev);
}
Expand Down
7 changes: 3 additions & 4 deletions trunk/drivers/ata/libata-scsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ static ssize_t ata_scsi_park_show(struct device *device,
struct ata_port *ap;
struct ata_link *link;
struct ata_device *dev;
unsigned long flags, now;
unsigned long flags;
unsigned int uninitialized_var(msecs);
int rc = 0;

Expand All @@ -208,11 +208,10 @@ static ssize_t ata_scsi_park_show(struct device *device,
}

link = dev->link;
now = jiffies;
if (ap->pflags & ATA_PFLAG_EH_IN_PROGRESS &&
link->eh_context.unloaded_mask & (1 << dev->devno) &&
time_after(dev->unpark_deadline, now))
msecs = jiffies_to_msecs(dev->unpark_deadline - now);
time_after(dev->unpark_deadline, jiffies))
msecs = jiffies_to_msecs(dev->unpark_deadline - jiffies);
else
msecs = 0;

Expand Down
Loading

0 comments on commit 2b8dc3c

Please sign in to comment.