[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.0.83.0704041244560.4770@sigma.j-a-k-j.com>
Date: Wed, 4 Apr 2007 12:52:07 -0400 (EDT)
From: "John Anthony Kazos Jr." <jakj@...-k-j.com>
To: Dave Kleikamp <shaggy@...ux.vnet.ibm.com>
cc: linux-ext4@...r.kernel.org
Subject: Re: (un)lock_kernel() ?
> According to Documentation/filesystems/Locking, ->get_sb() is called
> with the BKL held, but looking through the code, I'm not able to find
> where it is being taken.
I noticed that too. Unless I'm just dumb and can't see it, I'm not able to
find any BKL references during filesystem mounting until you get into
FS-specific code. I looked through everything from sys_mount through to
vfs_kern_mount. Documentation/filesystems/porting talks about several
situations where the VFS code was modified to not take the BKL, and BLK
calls were added by FS non-maintainers for safety until each FS could be
audited independently, but that wouldn't be the case, would it?
The ext2 code takes the BKL in three places: ext2_update_inode,
write_super, and ext2_compat_ioctl. Starting with ext3, it's in
ext3_compat_ioctl and ext3_fill_super, and the same with ext4.
I suppose the BKL does have to be held, somehow, somewhere, during
mounting, or anybody using ext3 on a multiprocessor box would lock their
system from unmatched locking calls. Unless the first unlock_kernel()
would make the count -1 and the lock would bring it back to zero?
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists