Merge branch 'upstream-fixes'
This commit is contained in:
commit
97309d1a0b
346 changed files with 13886 additions and 4676 deletions
|
@ -23,6 +23,13 @@
|
|||
#define DN_ATTRIB 0x00000020 /* File changed attibutes */
|
||||
#define DN_MULTISHOT 0x80000000 /* Don't remove notifier */
|
||||
|
||||
#define AT_FDCWD -100 /* Special value used to indicate
|
||||
openat should use the current
|
||||
working directory. */
|
||||
#define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */
|
||||
#define AT_REMOVEDIR 0x200 /* Remove directory instead of
|
||||
unlinking file. */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#ifndef force_o_largefile
|
||||
|
|
|
@ -1340,7 +1340,8 @@ static inline int break_lease(struct inode *inode, unsigned int mode)
|
|||
|
||||
extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs,
|
||||
struct file *filp);
|
||||
extern long do_sys_open(const char __user *filename, int flags, int mode);
|
||||
extern long do_sys_open(int fdf, const char __user *filename, int flags,
|
||||
int mode);
|
||||
extern struct file *filp_open(const char *, int, int);
|
||||
extern struct file * dentry_open(struct dentry *, struct vfsmount *, int);
|
||||
extern int filp_close(struct file *, fl_owner_t id);
|
||||
|
@ -1479,7 +1480,7 @@ static inline void allow_write_access(struct file *file)
|
|||
}
|
||||
extern int do_pipe(int *);
|
||||
|
||||
extern int open_namei(const char *, int, int, struct nameidata *);
|
||||
extern int open_namei(int dfd, const char *, int, int, struct nameidata *);
|
||||
extern int may_open(struct nameidata *, int, int);
|
||||
|
||||
extern int kernel_read(struct file *, unsigned long, char *, unsigned long);
|
||||
|
@ -1677,6 +1678,8 @@ extern int vfs_readdir(struct file *, filldir_t, void *);
|
|||
|
||||
extern int vfs_stat(char __user *, struct kstat *);
|
||||
extern int vfs_lstat(char __user *, struct kstat *);
|
||||
extern int vfs_stat_fd(int dfd, char __user *, struct kstat *);
|
||||
extern int vfs_lstat_fd(int dfd, char __user *, struct kstat *);
|
||||
extern int vfs_fstat(unsigned int, struct kstat *);
|
||||
|
||||
extern int vfs_ioctl(struct file *, unsigned int, unsigned int, unsigned long);
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
* over Ethernet
|
||||
*/
|
||||
#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
|
||||
#define ETH_P_TIPC 0x88CA /* TIPC */
|
||||
|
||||
/*
|
||||
* Non DIX types. Won't clash for 1500 types.
|
||||
|
|
|
@ -159,6 +159,7 @@ extern void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new);
|
|||
extern struct mempolicy default_policy;
|
||||
extern struct zonelist *huge_zonelist(struct vm_area_struct *vma,
|
||||
unsigned long addr);
|
||||
extern unsigned slab_node(struct mempolicy *policy);
|
||||
|
||||
extern int policy_zone;
|
||||
|
||||
|
|
|
@ -39,24 +39,3 @@ del_page_from_lru(struct zone *zone, struct page *page)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Isolate one page from the LRU lists.
|
||||
*
|
||||
* - zone->lru_lock must be held
|
||||
*/
|
||||
static inline int __isolate_lru_page(struct page *page)
|
||||
{
|
||||
if (unlikely(!TestClearPageLRU(page)))
|
||||
return 0;
|
||||
|
||||
if (get_page_testone(page)) {
|
||||
/*
|
||||
* It is being freed elsewhere
|
||||
*/
|
||||
__put_page(page);
|
||||
SetPageLRU(page);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -149,14 +149,16 @@ struct zone {
|
|||
unsigned long pages_scanned; /* since last reclaim */
|
||||
int all_unreclaimable; /* All pages pinned */
|
||||
|
||||
/*
|
||||
* Does the allocator try to reclaim pages from the zone as soon
|
||||
* as it fails a watermark_ok() in __alloc_pages?
|
||||
*/
|
||||
int reclaim_pages;
|
||||
/* A count of how many reclaimers are scanning this zone */
|
||||
atomic_t reclaim_in_progress;
|
||||
|
||||
/*
|
||||
* timestamp (in jiffies) of the last zone reclaim that did not
|
||||
* result in freeing of pages. This is used to avoid repeated scans
|
||||
* if all memory in the zone is in use.
|
||||
*/
|
||||
unsigned long last_unsuccessful_zone_reclaim;
|
||||
|
||||
/*
|
||||
* prev_priority holds the scanning priority for this zone. It is
|
||||
* defined as the scanning priority at which we achieved our reclaim
|
||||
|
|
|
@ -56,10 +56,11 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
|
|||
#define LOOKUP_ACCESS (0x0400)
|
||||
|
||||
extern int FASTCALL(__user_walk(const char __user *, unsigned, struct nameidata *));
|
||||
extern int FASTCALL(__user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *));
|
||||
#define user_path_walk(name,nd) \
|
||||
__user_walk(name, LOOKUP_FOLLOW, nd)
|
||||
__user_walk_fd(AT_FDCWD, name, LOOKUP_FOLLOW, nd)
|
||||
#define user_path_walk_link(name,nd) \
|
||||
__user_walk(name, 0, nd)
|
||||
__user_walk_fd(AT_FDCWD, name, 0, nd)
|
||||
extern int FASTCALL(path_lookup(const char *, unsigned, struct nameidata *));
|
||||
extern int FASTCALL(path_walk(const char *, struct nameidata *));
|
||||
extern int FASTCALL(link_path_walk(const char *, struct nameidata *));
|
||||
|
@ -67,7 +68,7 @@ extern void path_release(struct nameidata *);
|
|||
extern void path_release_on_umount(struct nameidata *);
|
||||
|
||||
extern int __user_path_lookup_open(const char __user *, unsigned lookup_flags, struct nameidata *nd, int open_flags);
|
||||
extern int path_lookup_open(const char *, unsigned lookup_flags, struct nameidata *, int open_flags);
|
||||
extern int path_lookup_open(int dfd, const char *name, unsigned lookup_flags, struct nameidata *, int open_flags);
|
||||
extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
|
||||
int (*open)(struct inode *, struct file *));
|
||||
extern struct file *nameidata_to_filp(struct nameidata *nd, int flags);
|
||||
|
|
|
@ -19,7 +19,7 @@ struct xt_get_revision
|
|||
/* For standard target */
|
||||
#define XT_RETURN (-NF_REPEAT - 1)
|
||||
|
||||
#define XT_ALIGN(s) (((s) + (__alignof__(void *)-1)) & ~(__alignof__(void *)-1))
|
||||
#define XT_ALIGN(s) (((s) + (__alignof__(u_int64_t)-1)) & ~(__alignof__(u_int64_t)-1))
|
||||
|
||||
/* Standard return verdict, or do jump. */
|
||||
#define XT_STANDARD_TARGET ""
|
||||
|
|
|
@ -124,7 +124,7 @@ int nfsd_statfs(struct svc_rqst *, struct svc_fh *,
|
|||
|
||||
int nfsd_notify_change(struct inode *, struct iattr *);
|
||||
int nfsd_permission(struct svc_export *, struct dentry *, int);
|
||||
void nfsd_sync_dir(struct dentry *dp);
|
||||
int nfsd_sync_dir(struct dentry *dp);
|
||||
|
||||
#if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL)
|
||||
#ifdef CONFIG_NFSD_V2_ACL
|
||||
|
|
|
@ -145,8 +145,9 @@ struct nfsd4_lock {
|
|||
} ok;
|
||||
struct nfsd4_lock_denied denied;
|
||||
} u;
|
||||
|
||||
struct nfs4_stateowner *lk_stateowner;
|
||||
/* The lk_replay_owner is the open owner in the open_to_lock_owner
|
||||
* case and the lock owner otherwise: */
|
||||
struct nfs4_stateowner *lk_replay_owner;
|
||||
};
|
||||
#define lk_new_open_seqid v.new.open_seqid
|
||||
#define lk_new_open_stateid v.new.open_stateid
|
||||
|
|
|
@ -1992,6 +1992,7 @@
|
|||
#define PCI_VENDOR_ID_DCI 0x6666
|
||||
#define PCI_DEVICE_ID_DCI_PCCOM4 0x0001
|
||||
#define PCI_DEVICE_ID_DCI_PCCOM8 0x0002
|
||||
#define PCI_DEVICE_ID_DCI_PCCOM2 0x0004
|
||||
|
||||
#define PCI_VENDOR_ID_INTEL 0x8086
|
||||
#define PCI_DEVICE_ID_INTEL_EESSC 0x0008
|
||||
|
|
|
@ -92,7 +92,11 @@ void zero_fd_set(unsigned long nr, unsigned long *fdset)
|
|||
memset(fdset, 0, FDS_BYTES(nr));
|
||||
}
|
||||
|
||||
extern int do_select(int n, fd_set_bits *fds, long *timeout);
|
||||
#define MAX_INT64_SECONDS (((s64)(~((u64)0)>>1)/HZ)-1)
|
||||
|
||||
extern int do_select(int n, fd_set_bits *fds, s64 *timeout);
|
||||
extern int do_sys_poll(struct pollfd __user * ufds, unsigned int nfds,
|
||||
s64 *timeout);
|
||||
|
||||
#endif /* KERNEL */
|
||||
|
||||
|
|
|
@ -809,6 +809,7 @@ struct task_struct {
|
|||
struct sighand_struct *sighand;
|
||||
|
||||
sigset_t blocked, real_blocked;
|
||||
sigset_t saved_sigmask; /* To be restored with TIF_RESTORE_SIGMASK */
|
||||
struct sigpending pending;
|
||||
|
||||
unsigned long sas_ss_sp;
|
||||
|
|
|
@ -246,6 +246,7 @@ struct svc_deferred_req {
|
|||
u32 prot; /* protocol (UDP or TCP) */
|
||||
struct sockaddr_in addr;
|
||||
struct svc_sock *svsk; /* where reply must go */
|
||||
u32 daddr; /* where reply must come from */
|
||||
struct cache_deferred_req handle;
|
||||
int argslen;
|
||||
u32 args[0];
|
||||
|
|
|
@ -167,6 +167,7 @@ extern void FASTCALL(lru_cache_add_active(struct page *));
|
|||
extern void FASTCALL(activate_page(struct page *));
|
||||
extern void FASTCALL(mark_page_accessed(struct page *));
|
||||
extern void lru_add_drain(void);
|
||||
extern int lru_add_drain_all(void);
|
||||
extern int rotate_reclaimable_page(struct page *page);
|
||||
extern void swap_setup(void);
|
||||
|
||||
|
@ -175,6 +176,17 @@ extern int try_to_free_pages(struct zone **, gfp_t);
|
|||
extern int shrink_all_memory(int);
|
||||
extern int vm_swappiness;
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
extern int zone_reclaim_mode;
|
||||
extern int zone_reclaim(struct zone *, gfp_t, unsigned int);
|
||||
#else
|
||||
#define zone_reclaim_mode 0
|
||||
static inline int zone_reclaim(struct zone *z, gfp_t mask, unsigned int order)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MIGRATION
|
||||
extern int isolate_lru_page(struct page *p);
|
||||
extern int putback_lru_pages(struct list_head *l);
|
||||
|
|
|
@ -510,9 +510,24 @@ asmlinkage long sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3,
|
|||
asmlinkage long sys_ioprio_set(int which, int who, int ioprio);
|
||||
asmlinkage long sys_ioprio_get(int which, int who);
|
||||
asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask,
|
||||
unsigned long maxnode);
|
||||
unsigned long maxnode);
|
||||
asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode,
|
||||
const unsigned long __user *from, const unsigned long __user *to);
|
||||
const unsigned long __user *from,
|
||||
const unsigned long __user *to);
|
||||
asmlinkage long sys_mbind(unsigned long start, unsigned long len,
|
||||
unsigned long mode,
|
||||
unsigned long __user *nmask,
|
||||
unsigned long maxnode,
|
||||
unsigned flags);
|
||||
asmlinkage long sys_get_mempolicy(int __user *policy,
|
||||
unsigned long __user *nmask,
|
||||
unsigned long maxnode,
|
||||
unsigned long addr, unsigned long flags);
|
||||
|
||||
asmlinkage long sys_inotify_init(void);
|
||||
asmlinkage long sys_inotify_add_watch(int fd, const char __user *path,
|
||||
u32 mask);
|
||||
asmlinkage long sys_inotify_rm_watch(int fd, u32 wd);
|
||||
|
||||
asmlinkage long sys_spu_run(int fd, __u32 __user *unpc,
|
||||
__u32 __user *ustatus);
|
||||
|
|
|
@ -182,6 +182,7 @@ enum
|
|||
VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */
|
||||
VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */
|
||||
VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */
|
||||
VM_ZONE_RECLAIM_MODE=31,/* reclaim local zone memory before going off node */
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ extern void do_gettimeofday(struct timeval *tv);
|
|||
extern int do_settimeofday(struct timespec *tv);
|
||||
extern int do_sys_settimeofday(struct timespec *tv, struct timezone *tz);
|
||||
#define do_posix_clock_monotonic_gettime(ts) ktime_get_ts(ts)
|
||||
extern long do_utimes(char __user *filename, struct timeval *times);
|
||||
extern long do_utimes(int dfd, char __user *filename, struct timeval *times);
|
||||
struct itimerval;
|
||||
extern int do_setitimer(int which, struct itimerval *value,
|
||||
struct itimerval *ovalue);
|
||||
|
|
|
@ -168,10 +168,13 @@
|
|||
#define TIPC_MAX_LINK_NAME 60 /* format = Z.C.N:interface-Z.C.N:interface */
|
||||
|
||||
/*
|
||||
* Link priority limits (range from 0 to # priorities - 1)
|
||||
* Link priority limits (min, default, max, media default)
|
||||
*/
|
||||
|
||||
#define TIPC_NUM_LINK_PRI 32
|
||||
#define TIPC_MIN_LINK_PRI 0
|
||||
#define TIPC_DEF_LINK_PRI 10
|
||||
#define TIPC_MAX_LINK_PRI 31
|
||||
#define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1)
|
||||
|
||||
/*
|
||||
* Link tolerance limits (min, default, max), in ms
|
||||
|
|
|
@ -56,6 +56,14 @@
|
|||
#define REMOTE_DISTANCE 20
|
||||
#define node_distance(from,to) ((from) == (to) ? LOCAL_DISTANCE : REMOTE_DISTANCE)
|
||||
#endif
|
||||
#ifndef RECLAIM_DISTANCE
|
||||
/*
|
||||
* If the distance between nodes in a system is larger than RECLAIM_DISTANCE
|
||||
* (in whatever arch specific measurement units returned by node_distance())
|
||||
* then switch on zone reclaim on boot.
|
||||
*/
|
||||
#define RECLAIM_DISTANCE 20
|
||||
#endif
|
||||
#ifndef PENALTY_FOR_NODE_WITH_CPUS
|
||||
#define PENALTY_FOR_NODE_WITH_CPUS (1)
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue