<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/quota, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-27T23:30:06Z</updated>
<entry>
<title>quota: Fix possible oops in __dquot_initialize()</title>
<updated>2010-10-27T23:30:06Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2010-10-18T22:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4408ea41c0ab4b711d4da44dd954fb06dce6c3f8'/>
<id>urn:sha1:4408ea41c0ab4b711d4da44dd954fb06dce6c3f8</id>
<content type='text'>
When quotaon(8) races with __dquot_initialize() or dqget() fails because
of EIO, ENOSPC, or similar error, we could possibly dereference NULL pointer
in inode-&gt;i_dquot[cnt]. Add proper checking.

Reported-by: Dmitry Monakhov &lt;dmonakhov@gmail.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>quota: Fix issuing of warnings from dquot_transfer</title>
<updated>2010-10-27T23:30:03Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2010-10-11T13:22:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86f3cbec4a193c04d0a31c13132c5956731af6ff'/>
<id>urn:sha1:86f3cbec4a193c04d0a31c13132c5956731af6ff</id>
<content type='text'>
__dquot_transfer accidentally called flush_warnings for a wrong set of
dquots which could result in quota warnings being issued with a wrong
identification. Also when operation fails because of EDQUOT, there's no
need check for issuing information message about user getting below limits
(no transfer has actually happened).

Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>quota: fix dquot_disable vs dquot_transfer race v2</title>
<updated>2010-10-27T23:30:02Z</updated>
<author>
<name>Dmitry</name>
</author>
<published>2010-10-09T19:15:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e32784b71c2c84895016ca6ab271591669c02aa'/>
<id>urn:sha1:9e32784b71c2c84895016ca6ab271591669c02aa</id>
<content type='text'>
I've got following lockup:
dquot_disable                              dquot_transfer
                                            -&gt;dqget()
					       sb_has_quota_active
dqopt-&gt;flags &amp;= ~dquot_state_flag(f, cnt)      atomic_inc(dq-&gt;dq_count)
 -&gt;drop_dquot_ref(sb, cnt);
    down_write(dqptr_sem)
    inode-&gt;i_dquot[cnt] = NULL              -&gt;__dquot_transfer
invalidate_dquots(sb, cnt);		       down_write(&amp;dqptr_sem)
  -&gt;wait for dq_wait_unused		       inode-&gt;i_dquot = new_dquot
  /* wait forever */                            ^^^^New quota user^^^^^^

We cannot allow new references to dquots from inodes after drop_dquot_ref()
has removed them.  We have to recheck quota state under dqptr_sem and before
assignment, as we do it in dquot_initialize().

Signed-off-by: Dmitry Monakhov &lt;dmonakhov@gmail.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>quota: Make QUOTACTL config be selected by its users</title>
<updated>2010-10-05T10:16:37Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2010-08-17T10:14:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80f44b152c889e592616adf0d33b856107f4bace'/>
<id>urn:sha1:80f44b152c889e592616adf0d33b856107f4bace</id>
<content type='text'>
Remove "depends on" line from QUOTACTL config option and rather select
the option explicitely from config options which need it. It makes more
sense this way and also fixes Kconfig warning due to GFS2 selecting
QUOTACTL but QUOTACTL not depending on it.

Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6</title>
<updated>2010-08-10T18:26:52Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-08-10T18:26:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f248c9c251c60af3403902b26e08de43964ea0b'/>
<id>urn:sha1:5f248c9c251c60af3403902b26e08de43964ea0b</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)
  no need for list_for_each_entry_safe()/resetting with superblock list
  Fix sget() race with failing mount
  vfs: don't hold s_umount over close_bdev_exclusive() call
  sysv: do not mark superblock dirty on remount
  sysv: do not mark superblock dirty on mount
  btrfs: remove junk sb_dirt change
  BFS: clean up the superblock usage
  AFFS: wait for sb synchronization when needed
  AFFS: clean up dirty flag usage
  cifs: truncate fallout
  mbcache: fix shrinker function return value
  mbcache: Remove unused features
  add f_flags to struct statfs(64)
  pass a struct path to vfs_statfs
  update VFS documentation for method changes.
  All filesystems that need invalidate_inode_buffers() are doing that explicitly
  convert remaining -&gt;clear_inode() to -&gt;evict_inode()
  Make -&gt;drop_inode() just return whether inode needs to be dropped
  fs/inode.c:clear_inode() is gone
  fs/inode.c:evict() doesn't care about delete vs. non-delete paths now
  ...

Fix up trivial conflicts in fs/nilfs2/super.c
</content>
</entry>
<entry>
<title>simplify checks for I_CLEAR/I_FREEING</title>
<updated>2010-08-09T20:47:44Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-06-02T21:38:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4ffdde6e56fdf8c34ddadc2674d6eb978083369'/>
<id>urn:sha1:a4ffdde6e56fdf8c34ddadc2674d6eb978083369</id>
<content type='text'>
add I_CLEAR instead of replacing I_FREEING with it.  I_CLEAR is
equivalent to I_FREEING for almost all code looking at either;
it's there to keep track of having called clear_inode() exactly
once per inode lifetime, at some point after having set I_FREEING.
I_CLEAR and I_FREEING never get set at the same time with the
current code, so we can switch to setting i_flags to I_FREEING | I_CLEAR
instead of I_CLEAR without loss of information.  As the result of
such change, checks become simpler and the amount of code that needs
to know about I_CLEAR shrinks a lot.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6</title>
<updated>2010-08-07T19:57:07Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-08-07T19:57:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90e0c225968f0878e090c7ff3f88323973476cee'/>
<id>urn:sha1:90e0c225968f0878e090c7ff3f88323973476cee</id>
<content type='text'>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
  ext3: Fix dirtying of journalled buffers in data=journal mode
  ext3: default to ordered mode
  quota: Use mark_inode_dirty_sync instead of mark_inode_dirty
  quota: Change quota error message to print out disk and function name
  MAINTAINERS: Update entries of ext2 and ext3
  MAINTAINERS: Update address of Andreas Dilger
  ext3: Avoid filesystem corruption after a crash under heavy delete load
  ext3: remove vestiges of nobh support
  ext3: Fix set but unused variables
  quota: clean up quota active checks
  quota: Clean up the namespace in dqblk_xfs.h
  quota: check quota reservation on remove_dquot_ref
</content>
</entry>
<entry>
<title>quota: Use mark_inode_dirty_sync instead of mark_inode_dirty</title>
<updated>2010-07-23T10:50:46Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2010-07-21T12:22:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43d2932d88e4ab776dd388c20b003ebd5e1d1f1f'/>
<id>urn:sha1:43d2932d88e4ab776dd388c20b003ebd5e1d1f1f</id>
<content type='text'>
Quota code never touches file data. It just modifies i_blocks + i_bytes
of inodes and inode flags of quota files. So use mark_inode_dirty_sync
instead of mark_inode_dirty.

Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>quota: Change quota error message to print out disk and function name</title>
<updated>2010-07-21T14:05:58Z</updated>
<author>
<name>Jiaying Zhang</name>
</author>
<published>2010-07-20T14:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb5ffb0e160c93c3fe08ab83845eb9a2768af812'/>
<id>urn:sha1:fb5ffb0e160c93c3fe08ab83845eb9a2768af812</id>
<content type='text'>
The current quota error message doesn't always print the disk name, so
it is hard to identify the "bad" disk when quota error happens.

This patch changes the standardized quota error message to print out disk name
and function name. It also uses a combination of cpp macro and inline function
to provide better type checking and to lower the text size of the message.

[Jan Kara: Export __quota_error]

Signed-off-by: Jiaying Zhang &lt;jiayingz@google.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>quota: clean up quota active checks</title>
<updated>2010-07-21T14:01:47Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-06-04T08:56:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=189eef59e70e3e56edf726864629f310d114eefb'/>
<id>urn:sha1:189eef59e70e3e56edf726864629f310d114eefb</id>
<content type='text'>
The various quota operations check for any quota beeing active on
a superblock, and the inode not having the noquota flag.

Merge these two checks into a dquot_active check and move that
into dquot.c as that's the only place where it's needed.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
</feed>
