From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Jayashree Mohan <jayashree2912@gmail.com>
Cc: linux-ext4@vger.kernel.org, fstests <fstests@vger.kernel.org>,
Vijaychidambaram Velayudhan Pillai <vijay@cs.utexas.edu>
Subject: Re: Directory unremovable on ext4 no_journal mode
Date: Mon, 9 Apr 2018 17:38:37 -0700 [thread overview]
Message-ID: <20180410003837.GA7493@magnolia> (raw)
In-Reply-To: <CA+EzBbCXWZZiP2jBnUQSn8LeTkav0tEJ-ra60GiVNxZK8zhLmg@mail.gmail.com>
On Mon, Apr 09, 2018 at 07:08:13PM -0500, Jayashree Mohan wrote:
> Hi,
>
> We stumbled upon what seems to be a bug that makes a “directory
> unremovable”, on ext4 when mounted with no_journal option.
>
> A sequence of operations described below led to the following state :
> “A directory that was renamed, was persisted in both parent and target
> directories, with the same inode number. This also means the rename
> was non-atomic on storage. In addition, the renamed directory becomes
> unremovable on the target with FS-error logged in dmesg.”
>
> Here are more details of the workload and the corresponding failure.
>
> Workload :
>
> mkdir /mnt/test/X and /mnt/test/Y
> mkdir X/Z
> sync()
> rename X/Z Y/Z
> fsync Y
> —-Crash now—-
> Remount
You're supposed to run e2fsck after a crash to clean up the metadata.
nojournal disables the piece that takes care of that.
--D
> ls X and Y (You will see Z is present in both directories X and Y, and
> has same inode)
> rmdir test_dir/X/Z (This succeeds)
> rmdir test_dir/Y/Z (This fails with a FS error logged in dmesg)
>
>
> Results:
>
> rmdir: failed to remove '/mnt/test/Y/Z': Structure needs cleaning
>
> The corresponding dmesg log has the following error message :
> [66799.504124] EXT4-fs error (device cow_ram_snapshot1_0):
> ext4_lookup:1576: inode #12: comm rmdir: deleted inode referenced: 14
> [66799.504131] EXT4-fs (cow_ram_snapshot1_0): Remounting filesystem read-only
>
> The sequence of operations listed above is making dir Z unremovable
> from dir Y, which seems like unexpected behavior. Could you provide
> more details on the reason for such behavior? We understand we run
> this on no_journal mode of ext4, but would like you to verify if this
> behavior is acceptable.
>
> Do let us know if we are missing any detail here.
>
> Thanks,
> Jayashree Mohan
next prev parent reply other threads:[~2018-04-10 0:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-10 0:08 Directory unremovable on ext4 no_journal mode Jayashree Mohan
2018-04-10 0:38 ` Darrick J. Wong [this message]
2018-04-10 3:12 ` Theodore Y. Ts'o
2018-04-10 3:21 ` Vijay Chidambaram
2018-04-10 12:07 ` Jayashree Mohan
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=20180410003837.GA7493@magnolia \
--to=darrick.wong@oracle.com \
--cc=fstests@vger.kernel.org \
--cc=jayashree2912@gmail.com \
--cc=linux-ext4@vger.kernel.org \
--cc=vijay@cs.utexas.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.