xfs
[Top] [All Lists]

Re: shutdown umount hangs

To: utz lehmann <xfs@xxxxxxxxxx>
Subject: Re: shutdown umount hangs
From: Steve Lord <lord@xxxxxxx>
Date: Thu, 05 Apr 2001 17:16:27 -0500
Cc: Russell Cattelan <cattelan@xxxxxxxxxxx>, Utz Lehmann <leh@xxxxxxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: Message from utz lehmann <xfs@xxxxxxxxxx> of "Thu, 05 Apr 2001 23:23:32 +0200." <20010405232332.A32162@xxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
> btw: can you give me a short explanation for the flags and values. im just
> interested.
> 
> thanks.
> 
> utz

The explaination gets long quickly!

        PBF_READ = (1 << 0),    /* buffer intended for reading from device */
        PBF_WRITE = (1 << 1),   /* buffer intended for writing to device   */
        PBF_MAPPED = (1 << 2),  /* buffer mapped (pb_addr valid)           */
        PBF_PARTIAL = (1 << 3), /* buffer partially read                   */
        PBF_ASYNC = (1 << 4),   /* initiator will not wait for completion  */
        PBF_NONE = (1 << 5),    /* buffer not read at all                  */
        PBF_DELWRI = (1 << 6),  /* buffer has dirty pages                  */
        PBF_FREED = (1 << 7),  /* buffer has been freed and is invalid    */
        PBF_SYNC = (1 << 8),   /* force updates to disk                   */
        PBF_MAPPABLE = (1 << 9), /* use pages which can be directly addressed */

        PBF_FS_RESERVED_1 = (1 << 10), /* reserved for client use          
NOTUSED*/
        PBF_FS_RESERVED_2 = (1 << 11), /* reserved for client use          
NOTUSED*/

        PBF_RELEASE = (1 << 12), /* buffer to be released after I/O is done */

        /* flags used only as arguments to access routines */
        PBF_LOCK = (1 << 13),   /* lock requested                          */
        PBF_TRYLOCK = (1 << 14), /* lock requested, but do not wait        */
        PBF_ALLOCATE = (1 << 15), /* allocate all pages                    
NOTUSED*/
        PBF_FILE_ALLOCATE = (1 << 16), /* allocate all file space          */
        PBF_DONT_BLOCK = (1 << 17), /* do not block in current thread      */
        PBF_DIRECT = (1 << 18),   /* direct I/O desired                    */
#ifdef _PAGE_BUF_INTERNAL_
        /* flags used only internally */
        _PBF_LOCKABLE = (1 << 19), /* page_buf_t may be locked             */
        _PBF_NEXT_KEY = (1 << 20), /* page_buf_t is a dummy used as a key  */
        _PBF_ENTER_PAGES = (1 << 21), /* create invalid pages for all      */
                                /* pages in the range of the buffer        */
                                /* not already associated with buffer      */
                                /* NOTUSED - default behavior              */
        _PBF_ALL_PAGES_MAPPED = (1 << 22),
                                /* all pages in rage are mapped            */
        _PBF_SOME_INVALID_PAGES = (1 << 23),
                                /* some mapped pages are not valid         */
        _PBF_ADDR_ALLOCATED = (1 << 24),
                                /* pb_addr space was allocated             */
        _PBF_MEM_ALLOCATED = (1 << 25),
                                /* pb_mem and underlying pages allocated   */
#endif /* _PAGE_BUF_INTERNAL_ */
        PBF_GRIO = (1 << 26),
        PBF_FORCEIO = (1 << 27)
        /* XFS internal XFS_B_STALE (1 << 31) */

These are a mix of flags used on functions and flags used in buffers, some are
not used anymore, some indicate what is in the buffer, some indicate how we
want to do I/O on the buffer.

Steve

>  
> 
> Russell Cattelan [cattelan@xxxxxxxxxxx] wrote:
> > Utz Lehmann wrote:
> > 
> > Arggg... ok now I'm stuck... the flags look better... not DELWRI and not AS
> YNC.
> > Let me look some more.
> > 
> > >
> > > kdb> pb 0xcfc14ec0
> > > page_buf_t at 0xcfc14ec0
> > >   pb_flags MAPPED SYNC LOCKABLE MEM_ALLOCATED FORCEIO
> > >   pb_target 0xcf7e5ac0 pb_hold 1 pb_next 0xcfc14ec0 pb_prev 0xcfc14ec0
> > >   pb_file_offset 0x0 pb_buffer_length 0x200 pb_addr 0xcf7d0200
> > >   pb_bn 0x0 pb_count_desired 0x200
> > >   pb_io_remaining 0   pb_error 0 pb_mem 0xcfc15c40
> > >   pb_iodonesema (-1,1) pb_sema (1,0) pincount (0)
> > > kdb> reboot
> > 
> > --
> > Russell Cattelan
> > --
> > Digital Elves inc. -- Currently on loan to SGI
> > Linux XFS core developer.
> > 
> > 



<Prev in Thread] Current Thread [Next in Thread>