Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
@@ -58,9 +58,8 @@ struct dentry *debugfs_create_blob(const char *name, mode_t mode,
|
||||
*/
|
||||
|
||||
static inline struct dentry *debugfs_create_file(const char *name, mode_t mode,
|
||||
struct dentry *parent,
|
||||
void *data,
|
||||
struct file_operations *fops)
|
||||
struct dentry *parent, void *data,
|
||||
const struct file_operations *fops)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
@@ -257,9 +257,8 @@ struct subsys_attribute {
|
||||
};
|
||||
|
||||
extern int subsys_create_file(struct subsystem * , struct subsys_attribute *);
|
||||
extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *);
|
||||
|
||||
#if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET)
|
||||
#if defined(CONFIG_HOTPLUG)
|
||||
void kobject_uevent(struct kobject *kobj, enum kobject_action action);
|
||||
|
||||
int add_uevent_var(char **envp, int num_envp, int *cur_index,
|
||||
|
||||
@@ -828,19 +828,21 @@ static inline void netif_rx_schedule(struct net_device *dev)
|
||||
__netif_rx_schedule(dev);
|
||||
}
|
||||
|
||||
/* Try to reschedule poll. Called by dev->poll() after netif_rx_complete().
|
||||
* Do not inline this?
|
||||
*/
|
||||
|
||||
static inline void __netif_rx_reschedule(struct net_device *dev, int undo)
|
||||
{
|
||||
dev->quota += undo;
|
||||
list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list);
|
||||
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
|
||||
}
|
||||
|
||||
/* Try to reschedule poll. Called by dev->poll() after netif_rx_complete(). */
|
||||
static inline int netif_rx_reschedule(struct net_device *dev, int undo)
|
||||
{
|
||||
if (netif_rx_schedule_prep(dev)) {
|
||||
unsigned long flags;
|
||||
|
||||
dev->quota += undo;
|
||||
|
||||
local_irq_save(flags);
|
||||
list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list);
|
||||
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
|
||||
__netif_rx_reschedule(dev, undo);
|
||||
local_irq_restore(flags);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -78,6 +78,8 @@ extern struct page * find_or_create_page(struct address_space *mapping,
|
||||
unsigned long index, gfp_t gfp_mask);
|
||||
unsigned find_get_pages(struct address_space *mapping, pgoff_t start,
|
||||
unsigned int nr_pages, struct page **pages);
|
||||
unsigned find_get_pages_contig(struct address_space *mapping, pgoff_t start,
|
||||
unsigned int nr_pages, struct page **pages);
|
||||
unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index,
|
||||
int tag, unsigned int nr_pages, struct page **pages);
|
||||
|
||||
|
||||
@@ -61,4 +61,21 @@ void __free_pipe_info(struct pipe_inode_info *);
|
||||
/* from/to, of course */
|
||||
#define SPLICE_F_MORE (0x04) /* expect more data */
|
||||
|
||||
/*
|
||||
* Passed to the actors
|
||||
*/
|
||||
struct splice_desc {
|
||||
unsigned int len, total_len; /* current and remaining length */
|
||||
unsigned int flags; /* splice flags */
|
||||
struct file *file; /* file to read/write */
|
||||
loff_t pos; /* file position */
|
||||
};
|
||||
|
||||
typedef int (splice_actor)(struct pipe_inode_info *, struct pipe_buffer *,
|
||||
struct splice_desc *);
|
||||
|
||||
extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *,
|
||||
loff_t *, size_t, unsigned int,
|
||||
splice_actor *);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -14,10 +14,12 @@
|
||||
*
|
||||
* SA_INTERRUPT is also used by the irq handling routines.
|
||||
* SA_SHIRQ is for shared interrupt support on PCI and EISA.
|
||||
* SA_PROBEIRQ is set by callers when they expect sharing mismatches to occur
|
||||
*/
|
||||
#define SA_PROBE SA_ONESHOT
|
||||
#define SA_SAMPLE_RANDOM SA_RESTART
|
||||
#define SA_SHIRQ 0x04000000
|
||||
#define SA_PROBEIRQ 0x08000000
|
||||
|
||||
/*
|
||||
* As above, these correspond to the IORESOURCE_IRQ_* defines in
|
||||
* linux/ioport.h to select the interrupt line behaviour. When
|
||||
|
||||
@@ -573,6 +573,9 @@ asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
|
||||
int fd_out, loff_t __user *off_out,
|
||||
size_t len, unsigned int flags);
|
||||
|
||||
asmlinkage long sys_vmsplice(int fd, const struct iovec __user *iov,
|
||||
unsigned long nr_segs, unsigned int flags);
|
||||
|
||||
asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags);
|
||||
|
||||
asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes,
|
||||
|
||||
Reference in New Issue
Block a user