Re: sys_semget()
Ratna Manoj Bolla <[email protected]>
| Newsgroups | gmane.linux.cluster.openmosix.devel |
|---|---|
| Message-ID | <[email protected]> |
Still iam getting the same error ! Some code is using do_brk() with out
holding mm semaphore(it is necessary in 2.4.30 but not in 2.4.26 !)
-Ratna
On Sat, 3 Jun 2006, Ratna Manoj Bolla wrote:
>
> I found the cause for if !
>
> the following patch for hpc/unconf will do !
> ["static void set_brk" is changed to "static int set_brk" .. and the
> script was unable to find it out]
>
> --- hpc/copy_unconf 2006-06-03 15:34:32.000000000 +0530
> +++ /root/linux-2.4.26-om1-MigShm/hpc/copy_unconf 2006-05-17
> 12:58:18.000000000 +0530
> @@ -7,8 +7,7 @@
> /^#include/ {print $0; next; } \
> /^aout_remote_init_mm\(/ { on=1 ; print "\nvoid" ; } \
> /^unsigned long .*create_aout_tables\(/ { on=1 ; print
> "\n#ifdef CONFIG_MOSIX"; } \
> - /^#define BAD_ADDR\(x\)/ { on=1 ; print ""; }
> - /^static int set_brk/ { on=1; print ""; }
> + /^static void set_brk/ { on=1; print ""; }
> /^}/ { if(on) print "}" ; on=0; next; } \
> on == 1 { print $0; }
> ' < $2
>
>
> I am testing the whole thing with this new modification ! I will send it
> with in a few min.
>
> -Ratna
>
>
>
> On Sat, 3 Jun 2006, William Rizzo wrote:
>
>> Ok Ratna,
>>
>> Can you send me back the patch, so i can see what is going wrong.
>>
>> Will
>>
>>
>> 2006/6/2, Ratna Manoj Bolla <[email protected]>:
>>>
>>>
>>> Small note:
>>>
>>> set_brk() was not generated automatically. I manually copied it from
>>> 2.4.26.
>>>
>>> -Ratna.
>>>
>>>
>>> On Fri, 2 Jun 2006, Ratna Manoj Bolla wrote:
>>>
>>>>
>>>> Hi,
>>>>
>>>> Iam getting runtime error because of the following extra code in
>>>> mm/mmap.c in 2.4.30.
>>>>
>>>> line no:1320: ( And this part of code is not there in 2.4.26 )
>>>> -------------------------------------------------------------------
>>>> /*
>>>> * mm->mmap_sem is required to protect against another thread
>>>> * changing the mappings while we sleep (on kmalloc for one).
>>>> */
>>>> verify_mmap_write_lock_held(mm);
>>>> --------------------------------------------------------------------
>>>>
>>>> The error occured when it got called by set_brk() in hpc/alternate.c (It
>>>> supposed to take mm semaphore before calling do_brk() but it is not ! )
>>>>
>>>> What i shoud do ? (I did the remaining things .. transferred my changes
>>> to
>>>> 2.4.30 !)
>>>>
>>>> Please check it by configuaring for Intel(I386) with support for a.out
>>>> binaries.
>>>>
>>>>
>>>> -Ratna
>>>>
>>>> On Thu, 1 Jun 2006, William Rizzo wrote:
>>>>
>>>>> OK Ratna,
>>>>>
>>>>> Great!
>>>>>
>>>>> 2006/6/1, Ratna Manoj Bolla <[email protected]>:
>>>>>>
>>>>>>
>>>>>> Sorry for the late ! I will send the patch by tommarrow
>>>>>> evening(2.6.06,5:00 pm)
>>>>>>
>>>>>> -Ratna
>>>>>>
>>>>>> On Thu, 1 Jun 2006, William Rizzo wrote:
>>>>>>
>>>>>>> yes it is
>>>>>>>
>>>>>>> 2006/6/1, Ratna Manoj Bolla <[email protected]>:
>>>>>>>>
>>>>>>>>
>>>>>>>> ya , after mrproper ... configure with "make menuconging" .. go to
>>>>>>>> "Generel setup" and see "kernel support for a.out binaries" option.
>>>>>>>>
>>>>>>>> is it("kernel support for a.out binaries") included in your
>>>>>> configuaration
>>>>>>>> ?
>>>>>>>>
>>>>>>>> -Ratna.
>>>>>>>>
>>>>>>>> On Thu, 1 Jun 2006, William Rizzo wrote:
>>>>>>>>
>>>>>>>>> i don't think so.
>>>>>>>>> Before the diff process, generally i run a "make mrproper".
>>>>>>>>>
>>>>>>>>> 2006/6/1, Ratna Manoj Bolla <[email protected]>:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> while configuaring the kernel (make menuconfig) the following
>>>>>> option.
>>>>>>>>>>
>>>>>>>>>> -Generl setup
>>>>>>>>>> -Kernel support for a.out binaries (this option)
>>>>>>>>>>
>>>>>>>>>> -Ratna
>>>>>>>>>>
>>>>>>>>>> On Thu, 1 Jun 2006, William Rizzo wrote:
>>>>>>>>>>
>>>>>>>>>>> What you mean?
>>>>>>>>>>>
>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <[email protected]>:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I think you disabled CONFIG_BINFMT_AOUT in kernel configuaration
>>>>>> ?
>>>>>>>>>>>>
>>>>>>>>>>>> -Ratna
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Yes!...
>>>>>>>>>>>>> I missed that part of code during the 2.4.29->2.4.30 porting
>>>>>>>> process.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2006/5/31, William Rizzo <[email protected]>:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ugh!....sorry again.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <[email protected]>:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> No.. No .. its all part of it.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> hpc/alternate.c is an automatically generated file(see the 1
>>>>>> st
>>>>>>>>>> line
>>>>>>>>>>>> in
>>>>>>>>>>>>>>> the file).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It is missing the following peace of code!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> static void set_brk(unsigned long start, unsigned long end)
>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>> start = PAGE_ALIGN(start);
>>>>>>>>>>>>>>> end = PAGE_ALIGN(end);
>>>>>>>>>>>>>>> if (end <= start)
>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>> do_brk(start, end - start);
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> and i added it manually !
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> -Ratna
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> you're right....alternate.c is not in the
>>>>>> 2.4.26....i'mgoing
>>>>>>>> to
>>>>>>>>>>>> see
>>>>>>>>>>>>>>> what
>>>>>>>>>>>>>>>> happened....
>>>>>>>>>>>>>>>> sorry for your loss of time
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2006/5/31, William Rizzo < [email protected]>:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> it should be....i didn't made that....
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla < [email protected]>:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I686 (intel)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> -Ratna
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> ok.
>>>>>>>>>>>>>>>>>>> i'll work on it...i'll test it on different
>>>>>>>>>> systems...what's
>>>>>>>>>>>> your
>>>>>>>>>>>>>>>>>>> environment?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla < [email protected]>:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> yes it is giving linker error !
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> /root/2.4.30/linux- 2.4.30/hpc/hpc.o(.text+0x6e7):
>>>>>> In
>>>>>>>>>>>> function
>>>>>>>>>>>>>>>>>>>> `aout_remote_init_mm':
>>>>>>>>>>>>>>>>>>>> : undefined reference to `set_brk'
>>>>>>>>>>>>>>>>>>>> make: *** [vmlinux] Error 1
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> -Ratna
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Yes, it works.
>>>>>>>>>>>>>>>>>>>>> Did you experienced some problem?
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <[email protected]
>>>>>>> :
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Did you compile it(2.4.30) ? did it run fine ?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> -Ratna
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> OK Ratna...
>>>>>>>>>>>>>>>>>>>>>>> I don't want to stress you...just ask :)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> William
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <
>>>>>> [email protected]
>>>>>>>>> :
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I am trying hard for that and iam little busy
>>>>>>>> with
>>>>>>>>>> my
>>>>>>>>>>>>>>>>> m.techreport.
>>>>>>>>>>>>>>>>>>>>>>>> I am trying to complete it by 12:00 pm
>>>>>> tommarrow.
>>>>>>>>>>>>>>>>>>>>>>>> -Ratna.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Hi Ratna,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Are you planning to send me something within
>>>>>>>>>>>> tomorrow?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I'm just asking 'cause within tomorrow and
>>>>>>>> sunday
>>>>>>>>>> i'm
>>>>>>>>>>>>>>> going
>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>> work
>>>>>>>>>>>>>>>>>>>>>> on
>>>>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>> patch....but of course i can wait if you
>>>>>> need.
>>>>>>>>>>>>>>>>>>>>>>>>> let me know.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> William
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 2006/5/30, Ratna Manoj Bolla <
>>>>>>>> [email protected]
>>>>>>>>>>> :
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> ya, i will and i started working !
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> -Ratna
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, 30 May 2006, William Rizzo wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> ops!...the patch
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> william
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> 2006/5/30, William Rizzo <
>>>>>>>>>> [email protected]
>>>>>>>>>>>>> :
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Ratna,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Yesterday eavening i ported OM and your
>>>>>>>> patch
>>>>>>>>>> to
>>>>>>>>>>>> the
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 2.4.30...
>>>>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> At attachment you'll find a working
>>>>>>>>>>>> 2.4.30patch...
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Can you work on that?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> If you insert all the code for
>>>>>>>> select/deselect
>>>>>>>>>>>> the
>>>>>>>>>>>>>>> Migshm
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> patch,
>>>>>>>>>>>>>>>>>>>>>> i
>>>>>>>>>>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>>>>>>>>>>>>>> port all to the 2.4.32 for tomorrow or
>>>>>> Max
>>>>>>>> for
>>>>>>>>>>>> Thue.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> William
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2006/5/30, Ratna Manoj Bolla <
>>>>>>>>>>>> [email protected]>:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I got a doubt while debugging for my
>>>>>>>> patch.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> please see at line no 1257 below !.
>>>>>> (this
>>>>>>>>>> from
>>>>>>>>>>>>>>>>>> fs/inode.c)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> void iput(struct inode *inode)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1209 {
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1210 if (inode) {
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1211 struct
>>>>>> super_block
>>>>>>>> *sb
>>>>>>>>>> =
>>>>>>>>>>>>>>>>>> inode->i_sb;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1212 struct
>>>>>>>> super_operations
>>>>>>>>>>>> *op =
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> NULL;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1213
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1214 if
>>>>>> (inode->i_state
>>>>>>>> ==
>>>>>>>>>>>>>>> I_CLEAR)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1215 BUG();
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1216
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1217 if (sb &&
>>>>>> sb->s_op)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1218 op =
>>>>>>>> sb->s_op;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1219 if (op &&
>>>>>>>>>> op->put_inode)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1220
>>>>>>>>>>>> op->put_inode(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1221
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1222 if
>>>>>>>>>>>>>>>>>>>> (!atomic_dec_and_lock(&inode->i_count,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> &inode_lock))
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1223 return;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1224
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1225 if
>>>>>> (!inode->i_nlink)
>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1226
>>>>>>>>>>>>>>> list_del(&inode->i_list);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1227
>>>>>>>>>>>>>>>>>> INIT_LIST_HEAD(&inode->i_list);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1228
>>>>>>>>>>>>>>> inode->i_state|=I_FREEING;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1229
>>>>>>>>>>>>>>> inodes_stat.nr_inodes--;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1230
>>>>>>>>>>>>>>> spin_unlock(&inode_lock);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1231
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1232 if
>>>>>>>>>>>>>>> (inode->i_data.nrpages)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1233
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> truncate_inode_pages(&inode->i_data,
>>>>>> 0);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1234
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1235 if (op &&
>>>>>>>>>>>>>>>>>> op->delete_inode) {
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1236
>>>>>> void
>>>>>>>>>>>>>>>>>> (*delete)(struct
>>>>>>>>>>>>>>>>>>>>>> inode
>>>>>>>>>>>>>>>>>>>>>>>> *) =
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> op->delete_inode;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1237
>>>>>> if
>>>>>>>>>>>>>>>>>>>> (!is_bad_inode(inode))
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1238
>>>>>>>>>>>>>>>>>>>> DQUOT_INIT(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1239
>>>>>> /*
>>>>>>>>>>>>>>>>>> s_op->delete_inode
>>>>>>>>>>>>>>>>>>>>>>>> internally
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> recalls clear_inode() */
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1240
>>>>>>>>>>>>>>> delete(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1241 } else
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1242
>>>>>>>>>>>>>>>>>> clear_inode(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1243
>>>>>>>>>>>>>>> spin_lock(&inode_lock);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1244
>>>>>>>>>>>>>>> list_del(&inode->i_hash);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1245
>>>>>>>>>>>>>>>>>> INIT_LIST_HEAD(&inode->i_hash);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1246
>>>>>>>>>>>>>>> spin_unlock(&inode_lock);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1247
>>>>>>>>>>>>>>> wake_up(&inode->i_wait);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1248 if
>>>>>>>>>> (inode->i_state
>>>>>>>>>>>> !=
>>>>>>>>>>>>>>>>>> I_CLEAR)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1249
>>>>>>>> BUG();
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1250 } else {
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1251 if
>>>>>>>>>>>>>>>>>>>> (!list_empty(&inode->i_hash)) {
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1252
>>>>>> if
>>>>>>>>>>>>>>>>>> (!(inode->i_state
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> & (I_DIRTY|I_LOCK)))
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1253
>>>>>>>>>>>>>>>>>>>>>>>> __refile_inode(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1254
>>>>>>>>>>>>>>>>>>>> inodes_stat.nr_unused++;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1255
>>>>>>>>>>>>>>>>>>>> spin_unlock(&inode_lock);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1256
>>>>>> if
>>>>>>>> (!sb
>>>>>>>>>> ||
>>>>>>>>>>>>>>>>>> (sb->s_flags
>>>>>>>>>>>>>>>>>>>> &
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MS_ACTIVE))
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1257
>>>>>>>>>>>>>>> return;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Can any body tell what happens if
>>>>>>>> somebody
>>>>>>>>>>>> takes a
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> reference
>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> inode
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> with iget() ? [inode has not been
>>>>>> deleted
>>>>>>>>>> from
>>>>>>>>>>>>>>> hash
>>>>>>>>>>>>>>>>>> list
>>>>>>>>>>>>>>>>>>>> ....
>>>>>>>>>>>>>>>>>>>>>> even
>>>>>>>>>>>>>>>>>>>>>>>> if
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> some
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> body took reference here the inode
>>>>>> will
>>>>>>>> be
>>>>>>>>>>>> cleared
>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>> sure
>>>>>>>>>>>>>>>>>>>> ..
>>>>>>>>>>>>>>>>>>>>>>>>>> who(lock
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> semaphore) ensure that this will not
>>>>>>>> heppen
>>>>>>>>>> ?]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1258
>>>>>>>>>>>>>>>>>> write_inode_now(inode,
>>>>>>>>>>>>>>>>>>>> 1);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1259
>>>>>>>>>>>>>>>>>> spin_lock(&inode_lock);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1260
>>>>>>>>>>>>>>>>>>>> inodes_stat.nr_unused--;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1261
>>>>>>>>>>>>>>>>>>>>>>>> list_del_init(&inode->i_hash);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1262 }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1263
>>>>>>>>>>>>>>>>>> list_del_init(&inode->i_list);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1264
>>>>>>>>>>>>>>> inode->i_state|=I_FREEING;
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1265
>>>>>>>>>>>>>>> inodes_stat.nr_inodes--;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1266
>>>>>>>>>>>>>>> spin_unlock(&inode_lock);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1267 if
>>>>>>>>>>>>>>> (inode->i_data.nrpages)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1268
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> truncate_inode_pages(&inode->i_data,
>>>>>> 0);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1269
>>>>>>>>>>>> clear_inode(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1270 }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1271
>>>>>>>> destroy_inode(inode);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1272 }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1273 }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> openMosix-devel mailing list
>>>> openMosix-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>>>> https://lists.sourceforge.net/lists/listinfo/openmosix-devel
>>>>
>>>
>>
>
>
> _______________________________________________
> openMosix-devel mailing list
> openMosix-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/openmosix-devel
>