Re: [PATCH] [3/18] BKL-removal: Convert ext3 to use unlocked_ioctl
[Posted January 28, 2008 by corbet]
| From: |
| Andrew Morton <akpm-AT-linux-foundation.org> |
| To: |
| Andi Kleen <ak-AT-suse.de> |
| Subject: |
| Re: [PATCH] [3/18] BKL-removal: Convert ext3 to use unlocked_ioctl |
| Date: |
| Sun, 27 Jan 2008 21:33:47 -0800 |
| Message-ID: |
| <20080127213347.5bf5c324.akpm@linux-foundation.org> |
| Cc: |
| sct-AT-redhat.com, adilger-AT-clusterfs.com,
linux-kernel-AT-vger.kernel.org, linux-fsdevel-AT-vger.kernel.org,
"linux-ext4-AT-vger.kernel.org" <linux-ext4-AT-vger.kernel.org> |
On Sun, 27 Jan 2008 03:17:09 +0100 (CET) Andi Kleen <ak@suse.de> wrote:
>
> I checked ext3_ioctl and it looked largely safe to not be used
> without BKL. So convert it over to unlocked_ioctl.
>
> The only case where I wasn't quite sure was for the
> dynamic fs grow ioctls versus umounting -- I kept the BKL for those.
>
Please cpoy linux-ext4 on ext2/3/4 material.
I skippped a lot of these patches because I just got bored of fixing
rejects. Now is a very optimistic time to be raising patches against
mainline.
I'm going to work on getting a unified devel tree operating: one which
contains everyone's latest stuff and is updated daily. Basically it'll be
-mm without a couple of the quilt trees. People can then prepare patches
against that, as it seems that most can't be bothered patching against -mm,
let alone building and testing it. More later.
> + /* AK: not sure the BKL is needed, but this might prevent
> + * races against umount */
> + lock_kernel();
> err = ext3_group_extend(sb, EXT3_SB(sb)->s_es, n_blocks_count);
> journal_lock_updates(EXT3_SB(sb)->s_journal);
> journal_flush(EXT3_SB(sb)->s_journal);
> journal_unlock_updates(EXT3_SB(sb)->s_journal);
> + unlock_kernel();
>
> return err;
> }
> @@ -245,11 +249,14 @@ flags_err:
> if (copy_from_user(&input, (struct ext3_new_group_input __user *)arg,
> sizeof(input)))
> return -EFAULT;
> -
> + /* AK: not sure the BKL is needed, but this might prevent
> + * races against umount */
> + lock_kernel();
> err = ext3_group_add(sb, &input);
> journal_lock_updates(EXT3_SB(sb)->s_journal);
> journal_flush(EXT3_SB(sb)->s_journal);
> journal_unlock_updates(EXT3_SB(sb)->s_journal);
> + unlock_kernel();
>
The ext3_ioctl() caller has an open fd against the fs - should be
sufficient to keep unmount away?
(gets even more rejects, drops all the fasync patches too)
It's all reached the stage of stupid.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
(
Log in to post comments)