Messages in this thread | | | Date | Sun, 27 Jan 2008 21:33:47 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] [3/18] BKL-removal: Convert ext3 to use unlocked_ioctl |
| |
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.
| |