Skip to content

Commit

Permalink
Upgrade Argent kernel to 3.14.50
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanCristian committed Nov 2, 2015
1 parent d8c2d92 commit 8af96d0
Show file tree
Hide file tree
Showing 42 changed files with 87 additions and 365 deletions.
2 changes: 0 additions & 2 deletions Documentation/filesystems/Locking
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ prototypes:
struct file *, unsigned open_flag,
umode_t create_mode, int *opened);
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*dentry_open)(struct dentry *, struct file *, const struct cred *);

locking rules:
all may block
Expand Down Expand Up @@ -94,7 +93,6 @@ fiemap: no
update_time: no
atomic_open: yes
tmpfile: no
dentry_open: no

Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
victim.
Expand Down
7 changes: 0 additions & 7 deletions Documentation/filesystems/vfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,6 @@ struct inode_operations {
int (*atomic_open)(struct inode *, struct dentry *, struct file *,
unsigned open_flag, umode_t create_mode, int *opened);
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
};

Again, all methods are called without any locks being held, unless
Expand Down Expand Up @@ -682,12 +681,6 @@ struct address_space_operations {
but instead uses bmap to find out where the blocks in the file
are and uses those addresses directly.

dentry_open: this is an alternative to f_op->open(), the difference is that
this method may open a file not necessarily originating from the same
filesystem as the one i_op->open() was called on. It may be
useful for stacking filesystems which want to allow native I/O directly
on underlying files.


invalidatepage: If a page has PagePrivate set, then invalidatepage
will be called when part or all of the page is to be removed
Expand Down
21 changes: 0 additions & 21 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1629,20 +1629,6 @@ F: include/linux/audit.h
F: include/uapi/linux/audit.h
F: kernel/audit*

AUFS (advanced multi layered unification filesystem) FILESYSTEM
M: "J. R. Okajima" <[email protected]>
L: [email protected]
L: [email protected] (members only)
W: http://aufs.sourceforge.net
T: git://git.code.sf.net/p/aufs/aufs3-linux
T: git://github.com/sfjro/aufs3-linux.git
S: Supported
F: Documentation/filesystems/aufs/
F: Documentation/ABI/testing/debugfs-aufs
F: Documentation/ABI/testing/sysfs-aufs
F: fs/aufs/
F: include/uapi/linux/aufs_type.h

AUXILIARY DISPLAY DRIVERS
M: Miguel Ojeda Sandonis <[email protected]>
W: http://miguelojeda.es/auxdisplay.htm
Expand Down Expand Up @@ -6466,13 +6452,6 @@ F: drivers/scsi/osd/
F: include/scsi/osd_*
F: fs/exofs/

OVERLAYFS FILESYSTEM
M: Miklos Szeredi <[email protected]>
L: [email protected]
S: Supported
F: fs/overlayfs/*
F: Documentation/filesystems/overlayfs.txt

P54 WIRELESS DRIVER
M: Christian Lamparter <[email protected]>
L: [email protected]
Expand Down
64 changes: 5 additions & 59 deletions drivers/block/loop.c
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ static void loop_make_request(struct request_queue *q, struct bio *old_bio)
}

struct switch_request {
struct file *file, *virt_file;
struct file *file;
struct completion wait;
};

Expand Down Expand Up @@ -576,16 +576,14 @@ static int loop_thread(void *data)
* First it needs to flush existing IO, it does this by sending a magic
* BIO down the pipe. The completion of this BIO does the actual switch.
*/
static int loop_switch(struct loop_device *lo, struct file *file,
struct file *virt_file)
static int loop_switch(struct loop_device *lo, struct file *file)
{
struct switch_request w;
struct bio *bio = bio_alloc(GFP_KERNEL, 0);
if (!bio)
return -ENOMEM;
init_completion(&w.wait);
w.file = file;
w.virt_file = virt_file;
bio->bi_private = &w;
bio->bi_bdev = NULL;
loop_make_request(lo->lo_queue, bio);
Expand All @@ -602,7 +600,7 @@ static int loop_flush(struct loop_device *lo)
if (!lo->lo_thread)
return 0;

return loop_switch(lo, NULL, NULL);
return loop_switch(lo, NULL);
}

/*
Expand All @@ -621,7 +619,6 @@ static void do_loop_switch(struct loop_device *lo, struct switch_request *p)
mapping = file->f_mapping;
mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask);
lo->lo_backing_file = file;
lo->lo_backing_virt_file = p->virt_file;
lo->lo_blocksize = S_ISBLK(mapping->host->i_mode) ?
mapping->host->i_bdev->bd_block_size : PAGE_SIZE;
lo->old_gfp_mask = mapping_gfp_mask(mapping);
Expand All @@ -630,13 +627,6 @@ static void do_loop_switch(struct loop_device *lo, struct switch_request *p)
complete(&p->wait);
}

static struct file *loop_real_file(struct file *file)
{
struct file *f = NULL;
if (file->f_dentry->d_sb->s_op->real_loop)
f = file->f_dentry->d_sb->s_op->real_loop(file);
return f;
}

/*
* loop_change_fd switched the backing store of a loopback device to
Expand All @@ -650,7 +640,6 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
unsigned int arg)
{
struct file *file, *old_file;
struct file *f, *virt_file = NULL, *old_virt_file;
struct inode *inode;
int error;

Expand All @@ -667,16 +656,9 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
file = fget(arg);
if (!file)
goto out;
f = loop_real_file(file);
if (f) {
virt_file = file;
file = f;
get_file(file);
}

inode = file->f_mapping->host;
old_file = lo->lo_backing_file;
old_virt_file = lo->lo_backing_virt_file;

error = -EINVAL;

Expand All @@ -688,21 +670,17 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
goto out_putf;

/* and ... switch */
error = loop_switch(lo, file, virt_file);
error = loop_switch(lo, file);
if (error)
goto out_putf;

fput(old_file);
if (old_virt_file)
fput(old_virt_file);
if (lo->lo_flags & LO_FLAGS_PARTSCAN)
ioctl_by_bdev(bdev, BLKRRPART, 0);
return 0;

out_putf:
fput(file);
if (virt_file)
fput(virt_file);
out:
return error;
}
Expand All @@ -714,24 +692,6 @@ static inline int is_loop_device(struct file *file)
return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR;
}

/*
* for AUFS
* no get/put for file.
*/
struct file *loop_backing_file(struct super_block *sb)
{
struct file *ret;
struct loop_device *l;

ret = NULL;
if (MAJOR(sb->s_dev) == LOOP_MAJOR) {
l = sb->s_bdev->bd_disk->private_data;
ret = l->lo_backing_file;
}
return ret;
}
EXPORT_SYMBOL(loop_backing_file);

/* loop sysfs attributes */

static ssize_t loop_attr_show(struct device *dev, char *page,
Expand Down Expand Up @@ -863,7 +823,7 @@ static void loop_config_discard(struct loop_device *lo)
static int loop_set_fd(struct loop_device *lo, fmode_t mode,
struct block_device *bdev, unsigned int arg)
{
struct file *file, *f, *virt_file = NULL;
struct file *file, *f;
struct inode *inode;
struct address_space *mapping;
unsigned lo_blocksize;
Expand All @@ -878,12 +838,6 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
file = fget(arg);
if (!file)
goto out;
f = loop_real_file(file);
if (f) {
virt_file = file;
file = f;
get_file(file);
}

error = -EBUSY;
if (lo->lo_state != Lo_unbound)
Expand Down Expand Up @@ -932,7 +886,6 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
lo->lo_device = bdev;
lo->lo_flags = lo_flags;
lo->lo_backing_file = file;
lo->lo_backing_virt_file = virt_file;
lo->transfer = transfer_none;
lo->ioctl = NULL;
lo->lo_sizelimit = 0;
Expand Down Expand Up @@ -977,7 +930,6 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
lo->lo_thread = NULL;
lo->lo_device = NULL;
lo->lo_backing_file = NULL;
lo->lo_backing_virt_file = NULL;
lo->lo_flags = 0;
set_capacity(lo->lo_disk, 0);
invalidate_bdev(bdev);
Expand All @@ -987,8 +939,6 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
lo->lo_state = Lo_unbound;
out_putf:
fput(file);
if (virt_file)
fput(virt_file);
out:
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
Expand Down Expand Up @@ -1035,7 +985,6 @@ loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer,
static int loop_clr_fd(struct loop_device *lo)
{
struct file *filp = lo->lo_backing_file;
struct file *virt_filp = lo->lo_backing_virt_file;
gfp_t gfp = lo->old_gfp_mask;
struct block_device *bdev = lo->lo_device;

Expand Down Expand Up @@ -1069,7 +1018,6 @@ static int loop_clr_fd(struct loop_device *lo)

spin_lock_irq(&lo->lo_lock);
lo->lo_backing_file = NULL;
lo->lo_backing_virt_file = NULL;
spin_unlock_irq(&lo->lo_lock);

loop_release_xfer(lo);
Expand Down Expand Up @@ -1112,8 +1060,6 @@ static int loop_clr_fd(struct loop_device *lo)
* bd_mutex which is usually taken before lo_ctl_mutex.
*/
fput(filp);
if (virt_filp)
fput(virt_filp);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/block/loop.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ struct loop_device {
int (*ioctl)(struct loop_device *, int cmd,
unsigned long arg);

struct file * lo_backing_file, *lo_backing_virt_file;
struct file * lo_backing_file;
struct block_device *lo_device;
unsigned lo_blocksize;
void *key_data;
Expand Down
2 changes: 0 additions & 2 deletions fs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ source "fs/quota/Kconfig"

source "fs/autofs4/Kconfig"
source "fs/fuse/Kconfig"
source "fs/overlayfs/Kconfig"

menu "Caches"

Expand Down Expand Up @@ -209,7 +208,6 @@ source "fs/ufs/Kconfig"
source "fs/exofs/Kconfig"
source "fs/f2fs/Kconfig"
source "fs/efivarfs/Kconfig"
source "fs/aufs/Kconfig"

endif # MISC_FILESYSTEMS

Expand Down
2 changes: 0 additions & 2 deletions fs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ obj-$(CONFIG_QNX6FS_FS) += qnx6/
obj-$(CONFIG_AUTOFS4_FS) += autofs4/
obj-$(CONFIG_ADFS_FS) += adfs/
obj-$(CONFIG_FUSE_FS) += fuse/
obj-$(CONFIG_OVERLAYFS_FS) += overlayfs/
obj-$(CONFIG_UDF_FS) += udf/
obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/
obj-$(CONFIG_OMFS_FS) += omfs/
Expand All @@ -126,4 +125,3 @@ obj-y += exofs/ # Multiple modules
obj-$(CONFIG_CEPH_FS) += ceph/
obj-$(CONFIG_PSTORE) += pstore/
obj-$(CONFIG_EFIVAR_FS) += efivarfs/
obj-$(CONFIG_AUFS_FS) += aufs/
2 changes: 1 addition & 1 deletion fs/buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -2470,7 +2470,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
* Update file times before taking page lock. We may end up failing the
* fault so this update may be superfluous but who really cares...
*/
vma_file_update_time(vma);
file_update_time(vma->vm_file);

ret = __block_page_mkwrite(vma, vmf, get_block);
sb_end_pagefault(sb);
Expand Down
7 changes: 0 additions & 7 deletions fs/ecryptfs/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -576,13 +576,6 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
s->s_maxbytes = path.dentry->d_sb->s_maxbytes;
s->s_blocksize = path.dentry->d_sb->s_blocksize;
s->s_magic = ECRYPTFS_SUPER_MAGIC;
s->s_stack_depth = path.dentry->d_sb->s_stack_depth + 1;

rc = -EINVAL;
if (s->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
pr_err("eCryptfs: maximum fs stacking depth exceeded\n");
goto out_free;
}

inode = ecryptfs_get_inode(path.dentry->d_inode, s);
rc = PTR_ERR(inode);
Expand Down
10 changes: 2 additions & 8 deletions fs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ static struct hlist_head *inode_hashtable __read_mostly;
static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock);

__cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock);
EXPORT_SYMBOL(inode_sb_list_lock);

/*
* Empty aops. Can be used for the cases where the user does not
Expand Down Expand Up @@ -840,8 +839,6 @@ unsigned int get_next_ino(void)
unsigned int *p = &get_cpu_var(last_ino);
unsigned int res = *p;

start:

#ifdef CONFIG_SMP
if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) {
static atomic_t shared_last_ino;
Expand All @@ -851,9 +848,7 @@ unsigned int get_next_ino(void)
}
#endif

if (unlikely(!++res))
goto start; /* never zero */
*p = res;
*p = ++res;
put_cpu_var(last_ino);
return res;
}
Expand Down Expand Up @@ -1502,7 +1497,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
* This does the actual work of updating an inodes time or version. Must have
* had called mnt_want_write() before calling this.
*/
int update_time(struct inode *inode, struct timespec *time, int flags)
static int update_time(struct inode *inode, struct timespec *time, int flags)
{
if (inode->i_op->update_time)
return inode->i_op->update_time(inode, time, flags);
Expand All @@ -1518,7 +1513,6 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
mark_inode_dirty_sync(inode);
return 0;
}
EXPORT_SYMBOL(update_time);

/**
* touch_atime - update the access time
Expand Down
Loading

0 comments on commit 8af96d0

Please sign in to comment.