<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/super.c, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-03-03T09:17:07Z</updated>
<entry>
<title>sget(): handle failures of register_shrinker()</title>
<updated>2018-03-03T09:17:07Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2017-12-18T20:05:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c7e39f79bad5cb368714ab746c0d578de79e493'/>
<id>urn:sha1:7c7e39f79bad5cb368714ab746c0d578de79e493</id>
<content type='text'>
[ Upstream commit 9ee332d99e4d5a97548943b81c54668450ce641b ]

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>fs/super.c: fix race between freeze_super() and thaw_super()</title>
<updated>2017-10-12T07:18:03Z</updated>
<author>
<name>Oleg Nesterov</name>
</author>
<published>2016-09-26T16:07:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7798893bcb2f565f03eecc1ded9eb79d57929b9e'/>
<id>urn:sha1:7798893bcb2f565f03eecc1ded9eb79d57929b9e</id>
<content type='text'>
commit 89f39af129382a40d7cd1f6914617282cfeee28e upstream.

Change thaw_super() to check frozen != SB_FREEZE_COMPLETE rather than
frozen == SB_UNFROZEN, otherwise it can race with freeze_super() which
drops sb-&gt;s_umount after SB_FREEZE_WRITE to preserve the lock ordering.

In this case thaw_super() will wrongly call s_op-&gt;unfreeze_fs() before
it was actually frozen, and call sb_freeze_unlock() which leads to the
unbalanced percpu_up_write(). Unfortunately lockdep can't detect this,
so this triggers misc BUG_ON()'s in kernel/rcu/sync.c.

Reported-and-tested-by: Nikolay Borisov &lt;kernel@kyup.com&gt;
Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2014-10-13T09:28:42Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-10-13T09:28:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77c688ac87183537ed0fb84ec2cb8fa8ec97c458'/>
<id>urn:sha1:77c688ac87183537ed0fb84ec2cb8fa8ec97c458</id>
<content type='text'>
Pull vfs updates from Al Viro:
 "The big thing in this pile is Eric's unmount-on-rmdir series; we
  finally have everything we need for that.  The final piece of prereqs
  is delayed mntput() - now filesystem shutdown always happens on
  shallow stack.

  Other than that, we have several new primitives for iov_iter (Matt
  Wilcox, culled from his XIP-related series) pushing the conversion to
  -&gt;read_iter()/ -&gt;write_iter() a bit more, a bunch of fs/dcache.c
  cleanups and fixes (including the external name refcounting, which
  gives consistent behaviour of d_move() wrt procfs symlinks for long
  and short names alike) and assorted cleanups and fixes all over the
  place.

  This is just the first pile; there's a lot of stuff from various
  people that ought to go in this window.  Starting with
  unionmount/overlayfs mess...  ;-/"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits)
  fs/file_table.c: Update alloc_file() comment
  vfs: Deduplicate code shared by xattr system calls operating on paths
  reiserfs: remove pointless forward declaration of struct nameidata
  don't need that forward declaration of struct nameidata in dcache.h anymore
  take dname_external() into fs/dcache.c
  let path_init() failures treated the same way as subsequent link_path_walk()
  fix misuses of f_count() in ppp and netlink
  ncpfs: use list_for_each_entry() for d_subdirs walk
  vfs: move getname() from callers to do_mount()
  gfs2_atomic_open(): skip lookups on hashed dentry
  [infiniband] remove pointless assignments
  gadgetfs: saner API for gadgetfs_create_file()
  f_fs: saner API for ffs_sb_create_file()
  jfs: don't hash direct inode
  [s390] remove pointless assignment of -&gt;f_op in vmlogrdr -&gt;open()
  ecryptfs: -&gt;f_op is never NULL
  android: -&gt;f_op is never NULL
  nouveau: __iomem misannotations
  missing annotation in fs/file.c
  fs: namespace: suppress 'may be used uninitialized' warnings
  ...
</content>
</entry>
<entry>
<title>fs: Fix theoretical division by 0 in super_cache_scan().</title>
<updated>2014-10-09T06:39:02Z</updated>
<author>
<name>Tetsuo Handa</name>
</author>
<published>2014-05-17T11:56:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=475d0db742e3755c6b267f48577ff7cbb7dfda0d'/>
<id>urn:sha1:475d0db742e3755c6b267f48577ff7cbb7dfda0d</id>
<content type='text'>
total_objects could be 0 and is used as a denom.

While total_objects is a "long", total_objects == 0 unlikely happens for
3.12 and later kernels because 32-bit architectures would not be able to
hold (1 &lt;&lt; 32) objects. However, total_objects == 0 may happen for kernels
between 3.1 and 3.11 because total_objects in prune_super() was an "int"
and (e.g.) x86_64 architecture might be able to hold (1 &lt;&lt; 32) objects.

Signed-off-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: stable &lt;stable@kernel.org&gt; # 3.1+
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>percpu_counter: add @gfp to percpu_counter_init()</title>
<updated>2014-09-08T00:51:29Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2014-09-08T00:51:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=908c7f1949cb7cc6e92ba8f18f2998e87e265b8e'/>
<id>urn:sha1:908c7f1949cb7cc6e92ba8f18f2998e87e265b8e</id>
<content type='text'>
Percpu allocator now supports allocation mask.  Add @gfp to
percpu_counter_init() so that !GFP_KERNEL allocation masks can be used
with percpu_counters too.

We could have left percpu_counter_init() alone and added
percpu_counter_init_gfp(); however, the number of users isn't that
high and introducing _gfp variants to all percpu data structures would
be quite ugly, so let's just do the conversion.  This is the one with
the most users.  Other percpu data structures are a lot easier to
convert.

This patch doesn't make any functional difference.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Acked-by: Jan Kara &lt;jack@suse.cz&gt;
Acked-by: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: x86@kernel.org
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Alexander Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs</title>
<updated>2014-08-13T23:45:40Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-08-13T23:45:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cec997093bbff881c3da49084dfba4f76361e96a'/>
<id>urn:sha1:cec997093bbff881c3da49084dfba4f76361e96a</id>
<content type='text'>
Pull quota, reiserfs, UDF updates from Jan Kara:
 "Scalability improvements for quota, a few reiserfs fixes, and couple
  of misc cleanups (udf, ext2)"

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
  reiserfs: Fix use after free in journal teardown
  reiserfs: fix corruption introduced by balance_leaf refactor
  udf: avoid redundant memcpy when writing data in ICB
  fs/udf: re-use hex_asc_upper_{hi,lo} macros
  fs/quota: kernel-doc warning fixes
  udf: use linux/uaccess.h
  fs/ext2/super.c: Drop memory allocation cast
  quota: remove dqptr_sem
  quota: simplify remove_inode_dquot_ref()
  quota: avoid unnecessary dqget()/dqput() calls
  quota: protect Q_GETFMT by dqonoff_mutex
</content>
</entry>
<entry>
<title>make fs/{namespace,super}.c forget about acct.h</title>
<updated>2014-08-07T18:40:09Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-05-21T22:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8fa1f1c2bd86007beb4a4845e6087ac4a704dc80'/>
<id>urn:sha1:8fa1f1c2bd86007beb4a4845e6087ac4a704dc80</id>
<content type='text'>
These externs belong in fs/internal.h.  Rename (they are not acct-specific
anymore) and move them over there.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>drop -&gt;s_umount around acct_auto_close()</title>
<updated>2014-08-07T18:40:08Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-08-07T11:32:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0aec09d049d7e994eba54bad4376dd8f58eab797'/>
<id>urn:sha1:0aec09d049d7e994eba54bad4376dd8f58eab797</id>
<content type='text'>
just repeat the frozen check after regaining it, and check that sb
is still alive.  If several threads hit acct_auto_close() at the
same time, acct_auto_close() will survive that just fine.  And we
really don't want to play with writes and closing the file with
-&gt;s_umount held exclusive - it's a deadlock country.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>acct: get rid of acct_list</title>
<updated>2014-08-07T18:40:08Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-08-07T10:23:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=215752fce31c80f3b3a1530bc7cddb3ba6a69b3a'/>
<id>urn:sha1:215752fce31c80f3b3a1530bc7cddb3ba6a69b3a</id>
<content type='text'>
Put these suckers on per-vfsmount and per-superblock lists instead.
Note: right now it's still acct_lock for everything, but that's
going to change.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>quota: remove dqptr_sem</title>
<updated>2014-07-15T20:40:22Z</updated>
<author>
<name>Niu Yawei</name>
</author>
<published>2014-06-04T04:23:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9ba6f94b2382ef832f97122976b73004f714714'/>
<id>urn:sha1:b9ba6f94b2382ef832f97122976b73004f714714</id>
<content type='text'>
Remove dqptr_sem to make quota code scalable: Remove the dqptr_sem,
accessing inode-&gt;i_dquot now protected by dquot_srcu, and changing
inode-&gt;i_dquot is now serialized by dq_data_lock.

Signed-off-by: Lai Siyao &lt;lai.siyao@intel.com&gt;
Signed-off-by: Niu Yawei &lt;yawei.niu@intel.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
</feed>
