Dave Chinner | 4 Mar 00:30 2015

[RFC PATCH 0/6] xfs: DAX support

Hi folks,

This is the first pass I've made for supporting DAX in XFS. Most
of the XFS changes are straight forward and fairly self contained,
and mostly seem to work.

The first patch, however, is changing the DAX infrastructure to take
a "block zeroing completion" function for dax_fault() so that we
don't need to abuse the mapping bufferhead to pass the completion
function. This is straight forward for XFS, but the ext4 code is,
well, it's already broken so I don't think I've made anything worse.

I note that Jan Kara is aware of the problems related to the
unwritten extent conversion in ext4, as mentioned here earlier
today on the ext4 list (items 1 and 2):

http://permalink.gmane.org/gmane.comp.file-systems.ext4/47943

So really my only concern here is cleaning up the interface to
remove the mapping bh hack, not whether ext4 works reliably or not.
The XFS implementation does not have any of the problems the ext4
code does.

The rest of the series adds all the DAX hooks into the required code
paths for block zeroing, page fault, io, truncate and finally the
mount path for the dax mount option.

The series passes xfstests without and serious problems - there are
a couple of tests where the extent layout isn't as the tests expect,
but these are minor issues that don't affect correctness.
(Continue reading)

Jan Kara | 3 Mar 11:38 2015
Picon

[PATCH 0/5 v2 RESEND] fs: Fixes for removing xid bits and security labels

  Hello,

  warning in XFS made me look into detail into how clearing of suid / sgid
bits and security labels is done. And I've spotted a few issues:
1) MS_NOSEC handling is broken - we set it after each file_remove_suid() call.
   However we needn't have removed suid bit simply because we have
   CAP_SYS_FSID and further writes to the file from processes without this
   capability still need to clear the suid bit.
2) file_remove_suid() is a misnomer since it also handles removing of
   security labels. It is even more confusing because should_remove_suid()
   doesn't return whether file_remove_suid() is needed or not.
3) On truncate we do clear suid bits but not security labels. According to
   documentation in include/linux/security.h that's a bug but please correct
   me if I'm wrong.
4) ocfs2 doesn't clear security labels - hard to fix, I left it alone for now.
5) XFS didn't provide proper exclusion for clearing mode bits.

  This series aims at fixing above issues.

  Since v1 I have removed bogus patch changing inode_set_flags(), I have
updated changelog of patch 4/5 to better explain why ->inode_killpriv should
be called and I have included a fix for MS_NOSEC handling in this series.
Al, can you please merge the patches? Thanks!

								Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

Zhang Zhen | 3 Mar 04:05 2015

[PATCH] vfs: delete vfs_readdir function declaration

vfs_readdir has been replaced by iterate_dir in commit
(5c0ba4e:[readdir] introduce iterate_dir() and dir_context).

Signed-off-by: Zhang Zhen <zhenzhang.zhang <at> huawei.com>
---
 include/linux/fs.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index b4d71b5..81ee60c 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
 <at>  <at>  -2661,7 +2661,6  <at>  <at>  void inode_sub_bytes(struct inode *inode, loff_t bytes);
 loff_t inode_get_bytes(struct inode *inode);
 void inode_set_bytes(struct inode *inode, loff_t bytes);

-extern int vfs_readdir(struct file *, filldir_t, void *);
 extern int iterate_dir(struct file *, struct dir_context *);

 extern int vfs_stat(const char __user *, struct kstat *);
--

-- 
1.8.5.5

.

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

Daniel Wagner | 2 Mar 15:25 2015
Picon

[RFC v2 0/4] fs/locks: Use plain percpu spinlocks instead of lglock to protect file_lock

Hi Jeff,

I've dropped the spinlock conversion for the time beeing. Maybe the
last patch which changes the usage of blocked_lock_lock is still
useful. And in case I can convince of the spinlock conversion it can
easliy done on top of it. I think it makes it also simpler to review
doing it this after all.

cheers,
daniel

v2:
 - added a few lockdep assertion
 - dropped spinlock conversion

v1:
 - rebased on v3.19-8975-g3d88348
 - splittet into smaller pieces
 - fixed a wrong usage of __locks_insert/delete_block() and it's posix version
 - added seqfile helpers to avoid ugly open coded version

Original cover letter:

I am looking at how to get rid of lglock. Reason being -rt is not too
happy with that lock, especially that it uses arch_spinlock_t and
therefore it is not changed into a mutex on -rt. I know no change is
accepted only fixing something for -rt alone. So here my attempt to
make things faster for mainline and fixing -rt.

There are two users of lglock at this point. fs/locks.c and
(Continue reading)

Kinglong Mee | 2 Mar 12:30 2015
Picon

[PATCH] vfs: update vfs.txt documentation

1. fix some typos
2. remove generic_delete_inode description
3. add RENAME_WHITEOUT description
4. add d_prune in dentry_operations

Signed-off-by: Kinglong Mee <kinglongmee <at> gmail.com>
---
 Documentation/filesystems/vfs.txt | 74 +++++++++++++++++++--------------------
 1 file changed, 36 insertions(+), 38 deletions(-)

diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index 966b228..bbe7685 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
 <at>  <at>  -262,11 +262,6  <at>  <at>  or bottom half).
 	want to cache inodes - causing "delete_inode" to always be
 	called regardless of the value of i_nlink)

-	The "generic_delete_inode()" behavior is equivalent to the
-	old practice of using "force_delete" in the put_inode() case,
-	but does not have the races that the "force_delete()" approach
-	had. 
-
   delete_inode: called when the VFS wants to delete an inode

   put_super: called when the VFS wishes to free the superblock
 <at>  <at>  -288,7 +283,7  <at>  <at>  or bottom half).
   remount_fs: called when the filesystem is remounted. This is called
 	with the kernel lock held

(Continue reading)

Kinglong Mee | 2 Mar 12:28 2015
Picon

[PATCH] Documentation/early-userspace/README fix a bad description

Signed-off-by: Kinglong Mee <kinglongmee <at> gmail.com>
---
 Documentation/early-userspace/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/early-userspace/README b/Documentation/early-userspace/README
index 93e63a9..ed07371 100644
--- a/Documentation/early-userspace/README
+++ b/Documentation/early-userspace/README
 <at>  <at>  -70,7 +70,7  <at>  <at>  scripts/gen_initramfs_list.sh.  This means that CONFIG_INITRAMFS_SOURCE
 can really be interpreted as any legal argument to
 gen_initramfs_list.sh.  If a directory is specified as an argument then
 the contents are scanned, uid/gid translation is performed, and
-usr/gen_init_cpio file directives are output.  If a directory is
+usr/gen_init_cpio file directives are output.  If a file is
 specified as an argument to scripts/gen_initramfs_list.sh then the
 contents of the file are simply copied to the output.  All of the output
 directives from directory scanning and file contents copying are
--

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Kinglong Mee | 2 Mar 12:25 2015
Picon

[PATCH] ext4: add missing description of files in /proc/fs/ext4/≤devname>

Signed-off-by: Kinglong Mee <kinglongmee <at> gmail.com>
---
 Documentation/filesystems/ext4.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
index 6c0108e..250c074 100644
--- a/Documentation/filesystems/ext4.txt
+++ b/Documentation/filesystems/ext4.txt
 <at>  <at>  -428,8 +428,10  <at>  <at>  in table below.

 Files in /proc/fs/ext4/≤devname>
 ..............................................................................
- File            Content
- mb_groups       details of multiblock allocator buddy cache of free blocks
+ File              Content
+ es_shrinker_info  some statictics in extent status tree shrinker
+ mb_groups         details of multiblock allocator buddy cache of free blocks
+ options           mount options of filesystem
 ..............................................................................

 /sys entries
--

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

Daniel Wagner | 2 Mar 10:43 2015
Picon

[PATCH v0 0/2] lockperf: New deadlock test

Hi Jeff,

Here is another test I wrote in order to benchmark the
blocked_lock_lock overhead. This simple dinning philosopher test
exercises that path a bit.

Daniel Wagner (2):
  Print leading zeros after decimal point
  posix04: add new "posix04" test

 Makefile.am |   2 +-
 flock01.c   |   2 +-
 flock02.c   |   2 +-
 lease01.c   |   2 +-
 lease02.c   |   2 +-
 posix01.c   |   2 +-
 posix02.c   |   2 +-
 posix03.c   |   2 +-
 posix04.c   | 288 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 296 insertions(+), 8 deletions(-)
 create mode 100644 posix04.c

--

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

David Howells | 26 Feb 16:54 2015
Picon

What replaces do_generic_file_read() calling a read_actor?


What replaces do_generic_file_read() calling a read_actor function?  I have
some extensions to cachefiles that were using this to scan some index files,
but it no longer takes a hook to do that.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Dan Carpenter | 25 Feb 14:36 2015
Picon

[patch] hfsplus: add missing curly braces in hfsplus_delete_cat()

This doesn't change how the code works, but clearly the curly braces
were intended.

Signed-off-by: Dan Carpenter <dan.carpenter <at> oracle.com>

diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c
index 7892e6f..022974a 100644
--- a/fs/hfsplus/catalog.c
+++ b/fs/hfsplus/catalog.c
 <at>  <at>  -350,10 +350,11  <at>  <at>  int hfsplus_delete_cat(u32 cnid, struct inode *dir, struct qstr *str)
 			&fd.search_key->cat.name.unicode,
 			off + 2, len);
 		fd.search_key->key_len = cpu_to_be16(6 + len);
-	} else
+	} else {
 		err = hfsplus_cat_build_key(sb, fd.search_key, dir->i_ino, str);
 		if (unlikely(err))
 			goto out;
+	}

 	err = hfs_brec_find(&fd, hfs_find_rec_by_key);
 	if (err)
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Boqun Feng | 25 Feb 13:31 2015
Picon

[PATCH] vfs: avoid recopying filename in getname_flags

In the current implementation of getname_flags, filename in the
user-space will be recopied if it takes more space that
EMBEDDED_NAME_MAX, however, at this moment, EMBEDDED_NAME_MAX bytes of
the filename are already copied into kernel space, the only reason why
the recopy is needed is that "kname" needs to be relocated.

And the recopy can be avoided if we change the memory layout of the
"names_cache" allocation. By putting the struct "filename" at the tail
of the allocation instead of the head, relocation of kname is avoided.

Once putting the struct at the tail, each byte in the user space will be
copied only one time, so the recopy is avoided and code is more clear.

Of course, other functions aware of the layout of the names_cache
allocation, i.e., getname_kernel and putname also need to be modified to
adapt to the new layout.

This patch is based on v4.0-rc1.

Cc: Al Viro <viro <at> zeniv.linux.org.uk>
Cc: Paul Moore <pmoore <at> redhat.com>
Signed-off-by: Boqun Feng <boqun.feng <at> gmail.com>
---
 fs/namei.c | 50 +++++++++++++++++++++++++++++++-------------------
 1 file changed, 31 insertions(+), 19 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index c83145a..3be372b 100644
--- a/fs/namei.c
+++ b/fs/namei.c
(Continue reading)


Gmane