linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Tao Ma <tm@tao.ma>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH V7 00/23] ext4: Add inline data support
Date: Mon, 10 Dec 2012 10:02:28 -0500	[thread overview]
Message-ID: <20121210150228.GA28666@thunk.org> (raw)
In-Reply-To: <50C147A0.4070109@tao.ma>

On Fri, Dec 07, 2012 at 09:34:24AM +0800, Tao Ma wrote:
> I think ext4_inode->xattr_sem should protect us? When we do xattr
> corresponding operation, we just do
> down_write/read(&EXT4_I(inode)->xattr_sem), so we should be fine with
> this type of operation. Am I missing something here?

We're not taking the xattr_sem in ext4_find_inline_data() before we
call ext4_xattr_ibody_find().  So I think we need something like this:

diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index 6b600b4..e96268d 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -143,7 +143,9 @@ int ext4_find_inline_data(struct inode *inode)
 	if (error)
 		return error;
 
+	down_read(&EXT4_I(inode)->xattr_sem);
 	error = ext4_xattr_ibody_find(inode, &i, &is);
+	up_read(&EXT4_I(inode)->xattr_sem);
 	if (error)
 		goto out;
 


					- Ted

  reply	other threads:[~2012-12-10 15:02 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-24  2:50 [PATCH V7 00/23] ext4: Add inline data support Tao Ma
2012-10-24  2:55 ` [PATCH V7 01/23] ext4: Move extra inode read to a new function Tao Ma
2012-10-24  2:55   ` [PATCH V7 02/23] ext4: export inline xattr functions Tao Ma
2012-10-24  2:55   ` [PATCH V7 03/23] ext4: Add the basic function for inline data support Tao Ma
2012-12-03  1:48     ` Theodore Ts'o
2012-12-03  5:23       ` Tao Ma
2012-12-03 16:17       ` Tao Ma
2012-10-24  2:55   ` [PATCH V7 04/23] ext4: Add read support for inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 05/23] ext4: Add normal write " Tao Ma
2012-10-24  2:55   ` [PATCH V7 06/23] ext4: Add journalled " Tao Ma
2012-10-24  2:55   ` [PATCH V7 07/23] ext4: Add delalloc " Tao Ma
2012-10-24  2:55   ` [PATCH V7 08/23] ext4: Make ext4_init_dot_dotdot for inline dir usage Tao Ma
2012-10-24  2:55   ` [PATCH V7 09/23] ext4: Refactor __ext4_check_dir_entry to accepts start and size Tao Ma
2012-10-24  2:55   ` [PATCH V7 10/23] ext4: Create __ext4_insert_dentry for dir entry insertion Tao Ma
2012-10-24  2:55   ` [PATCH V7 11/23] ext4: let add_dir_entry handle inline data properly Tao Ma
2012-10-24  2:55   ` [PATCH V7 12/23] ext4: Let ext4_readdir handle inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 13/23] ext4: Create a new function search_dir Tao Ma
2012-10-24  2:55   ` [PATCH V7 14/23] ext4: let ext4_find_entry handle inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 15/23] ext4: make ext4_delete_entry generic Tao Ma
2012-10-24  2:55   ` [PATCH V7 16/23] ext4: let ext4_delete_entry handle inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 17/23] ext4: let empty_dir handle inline dir Tao Ma
2012-10-24  2:55   ` [PATCH V7 18/23] ext4: let ext4_rename " Tao Ma
2012-10-24  2:55   ` [PATCH V7 19/23] ext4: Let fiemap work with inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 20/23] ext4: Evict inline data out if we needs to strore xattr in inode Tao Ma
2012-10-24  2:55   ` [PATCH V7 21/23] ext4: let ext4_truncate handle inline data correctly Tao Ma
2012-10-24  2:55   ` [PATCH V7 22/23] ext4: let fallocate " Tao Ma
2012-12-03  1:37     ` Theodore Ts'o
2012-10-24  2:55   ` [PATCH V7 23/23] ext4: Enable ext4 inline support Tao Ma
2012-11-19  7:41 ` [PATCH V7 00/23] ext4: Add inline data support Tao Ma
2012-11-19 15:29   ` Theodore Ts'o
2012-12-06 17:30 ` Theodore Ts'o
2012-12-07  1:34   ` Tao Ma
2012-12-10 15:02     ` Theodore Ts'o [this message]
2012-12-10 15:17       ` Tao Ma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121210150228.GA28666@thunk.org \
    --to=tytso@mit.edu \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tm@tao.ma \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).