Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2034d47 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (41 commits)
  fs: add documentation on fallocate hole punching
  Gfs2: fail if we try to use hole punch
  Btrfs: fail if we try to use hole punch
  Ext4: fail if we try to use hole punch
  Ocfs2: handle hole punching via fallocate properly
  XFS: handle hole punching via fallocate properly
  fs: add hole punching to fallocate
  vfs: pass struct file to do_truncate on O_TRUNC opens (try #2)
  fix signedness mess in rw_verify_area() on 64bit architectures
  fs: fix kernel-doc for dcache::prepend_path
  fs: fix kernel-doc for dcache::d_validate
  sanitize ecryptfs ->mount()
  switch afs
  move internal-only parts of ncpfs headers to fs/ncpfs
  switch ncpfs
  switch 9p
  pass default dentry_operations to mount_pseudo()
  switch hostfs
  switch affs
  switch configfs
  ...
parents 27d189c0 92424157
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -385,3 +385,12 @@ Documentation/filesystems/vfs.txt for more details.
on many or all directory inodes on the way down a path walk (to check for
exec permission). These must now be rcu-walk aware (flags & IPERM_RCU). See
Documentation/filesystems/vfs.txt for more details.
 
--
[mandatory]
	In ->fallocate() you must check the mode option passed in.  If your
filesystem does not support hole punching (deallocating space in the middle of a
file) you must return -EOPNOTSUPP if FALLOC_FL_PUNCH_HOLE is set in mode.
Currently you can only have FALLOC_FL_PUNCH_HOLE with FALLOC_FL_KEEP_SIZE set,
so the i_size should not change when hole punching, even when puching the end of
a file off.
+1 −1
Original line number Diff line number Diff line
@@ -150,7 +150,7 @@ NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h
STL_BOARDMAGIC        0xa2267f52  stlbrd            include/linux/stallion.h
ENI155_MAGIC          0xa54b872d  midway_eprom	    drivers/atm/eni.h
SCI_MAGIC             0xbabeface  gs_port           drivers/char/sh-sci.h
CODA_MAGIC            0xC0DAC0DA  coda_file_info    include/linux/coda_fs_i.h
CODA_MAGIC            0xC0DAC0DA  coda_file_info    fs/coda/coda_fs_i.h
DPMEM_MAGIC           0xc0ffee11  gdt_pci_sram      drivers/scsi/gdth.h
STLI_PORTMAGIC        0xe671c7a1  stliport          include/linux/istallion.h
YAM_MAGIC             0xF10A7654  yam_port          drivers/net/hamradio/yam.c
+4 −2
Original line number Diff line number Diff line
@@ -617,11 +617,14 @@ pfm_get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
	return get_unmapped_area(file, addr, len, pgoff, flags);
}

/* forward declaration */
static static const struct dentry_operations pfmfs_dentry_operations;

static struct dentry *
pfmfs_mount(struct file_system_type *fs_type, int flags, const char *dev_name, void *data)
{
	return mount_pseudo(fs_type, "pfm:", NULL, PFMFS_MAGIC);
	return mount_pseudo(fs_type, "pfm:", NULL, &pfmfs_dentry_operations,
			PFMFS_MAGIC);
}

static struct file_system_type pfm_fs_type = {
@@ -2232,7 +2235,6 @@ pfm_alloc_file(pfm_context_t *ctx)
	}
	path.mnt = mntget(pfmfs_mnt);

	d_set_d_op(path.dentry, &pfmfs_dentry_operations);
	d_add(path.dentry, inode);

	file = alloc_file(&path, FMODE_READ, &pfm_file_ops);
+1 −1
Original line number Diff line number Diff line
@@ -1134,7 +1134,7 @@ static const struct file_operations mtd_fops = {
static struct dentry *mtd_inodefs_mount(struct file_system_type *fs_type,
				int flags, const char *dev_name, void *data)
{
	return mount_pseudo(fs_type, "mtd_inode:", NULL, MTD_INODE_FS_MAGIC);
	return mount_pseudo(fs_type, "mtd_inode:", NULL, NULL, MTD_INODE_FS_MAGIC);
}

static struct file_system_type mtd_inodefs_type = {
+1 −1
Original line number Diff line number Diff line
@@ -413,7 +413,7 @@ static int pohmelfs_readdir_response(struct netfs_state *st)
				if (dentry) {
					alias = d_materialise_unique(dentry, &npi->vfs_inode);
					if (alias)
						dput(dentry);
						dput(alias);
				}

				dput(dentry);
Loading