Re: [PATCH][FAT] FAT dirent scan with hin take #2

Vojtech Pavlik
2005-08-30T09:18:30Z

On Tue, Aug 30, 2005 at 11:55:46AM +0300, Pekka Enberg wrote:
> Hi,
>
> Some more.
>
> On 8/30/05, Machida, Hiroyuki <machida@sm.sony.co.jp> wrote:
> > --- old/fs/fat/inode.c 2005-08-29 09:38:53.308587787 +0900
> > +++ new/fs/fat/inode.c 2005-08-29 09:39:33.889555606 +0900
> > @@ -345,6 +347,15 @@ static void fat_delete_inode(struct inod
> > static void fat_clear_inode(struct inode *inode)
> > {
> > struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
> > + void *hints;
> > +
> > + down(&(MSDOS_I(inode)->scan_lock);
> > + hints = (void *)(MSDOS_I(inode)->scan_hints);
> > + if (hints) {
> > + MSDOS_I(inode)->scan_hints = 0;
> > + }
> > + up(&(MSDOS_I(inode)->scan_lock);
> > + if (hints) kfree(hints);
>
> Please just make the local variable hints of type loff_t * to get rid
> of the pointless casting.

For voids no casting is needed anyway, the type exists for the very
reason of being compatible with any other.

> > if (is_bad_inode(inode))
> > return;
> > @@ -1011,6 +1022,8 @@ static int fat_read_root(struct inode *i
> > struct msdos_sb_info *sbi = MSDOS_SB(sb);
> > int error;
> >
> > + init_MUTEX(&(MSDOS_I(inode)->scan_lock);
> > + MSDOS_I(inode)->scan_hints = 0;
>
> Use NULLs instead of 0 for pointers to keep new code sparse-clean.

It's a good idea for readability, too.

--
Vojtech Pavlik
SuSE Labs, SuSE CR