summaryrefslogtreecommitdiff
path: root/fs/aufs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/aufs/file.c')
-rw-r--r--fs/aufs/file.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/aufs/file.c b/fs/aufs/file.c
index 0113f3ef4..429b56840 100644
--- a/fs/aufs/file.c
+++ b/fs/aufs/file.c
@@ -260,7 +260,7 @@ int au_do_open(struct file *file, struct au_do_open_args *args)
}
if (unlikely(err)) {
finfo->fi_hdir = NULL;
- au_finfo_fin(file);
+ au_finfo_fin(file, /*atonce*/0);
}
out:
@@ -580,6 +580,7 @@ out:
static void au_do_refresh_dir(struct file *file)
{
+ int execed;
aufs_bindex_t bindex, bbot, new_bindex, brid;
struct au_hfile *p, tmp, *q;
struct au_finfo *finfo;
@@ -618,6 +619,7 @@ static void au_do_refresh_dir(struct file *file)
}
}
+ execed = vfsub_file_execed(file);
p = fidir->fd_hfile;
if (!au_test_mmapped(file) && !d_unlinked(file->f_path.dentry)) {
bbot = au_sbbot(sb);
@@ -626,14 +628,14 @@ static void au_do_refresh_dir(struct file *file)
if (p->hf_file) {
if (file_inode(p->hf_file))
break;
- au_hfput(p, file);
+ au_hfput(p, execed);
}
} else {
bbot = au_br_index(sb, brid);
for (finfo->fi_btop = 0; finfo->fi_btop < bbot;
finfo->fi_btop++, p++)
if (p->hf_file)
- au_hfput(p, file);
+ au_hfput(p, execed);
bbot = au_sbbot(sb);
}
@@ -643,7 +645,7 @@ static void au_do_refresh_dir(struct file *file)
if (p->hf_file) {
if (file_inode(p->hf_file))
break;
- au_hfput(p, file);
+ au_hfput(p, execed);
}
AuDebugOn(fidir->fd_bbot < finfo->fi_btop);
}
@@ -758,8 +760,7 @@ static int aufs_readpage(struct file *file __maybe_unused, struct page *page)
}
/* it will never be called, but necessary to support O_DIRECT */
-static ssize_t aufs_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
- loff_t offset)
+static ssize_t aufs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
{ BUG(); return 0; }
/* they will never be called. */